可以用单独为B客户生成一个数字证书,只有他有你的数字证书,才可以打开那个文件。
同时在他打开的时候,做一个强制或者隐形确认,自动确认他硬件打开就可以了吧。
这是个加密与数字签名的问题,先用A的私钥对散列码加密,然后再用对称密码中的密钥对消息和上述加密结果进行加密。
参考资料:http://baike.baidu.com/view/131153.htm?fr=ala0_1
一、加密的过程
不可抵赖性可非对称加密算法和HASH函数实现,即数字签名过程如下:
1. 使用HASH算法将主机A要发送的文件生成摘要
2. 利用主机A的私钥加密1中生成的摘要
加密过程由对称密码算法实现:
1. 用对称密码算法对文件进行加密生成加密后的文件
传输
1. 将数字签名、对称密码算法的密钥、加密后的文件打包在一起,使用主机B的公钥进行加密
2. 将生成的整个密文文件发送给主机B
二、解密的过程
1. 主机B得到密文,使用自己的私钥解密,得到数字签名、对称密钥和加密后的文件
2. 主机B用对称密钥解密加密文件,再用HASH函数生成摘要
3. 主机B使用主机A的公钥验证数字签名的正确性(校验HASH散列值)
以上就是文件安全传输的主要过程,脑袋有些乱,可能有错误,楼主自己在查查相关资料吧