2013年12月

rpm包-数字签名和验证

① 为什么要做数字签名?

是为了保证软件包的来源合法性和完整性。

② 怎么保证来源的合法性?

首先用户到官网下载才能可能保证来源的合法性,当用户拿到rpm后,使用rpm --import <公钥> 导入rpm制作者发布的公钥,然后使用 rpm -K --nodigest <软件包名>
来检测来源的合法性,显示OK,就代表该rpm包来源合法

③ 怎么保证rpm包的完整性?

当用户拿到rpm包后,使用rpm -K --nosignature <软件包名> 来检测rpm包的完整性,显示OK,就代表该rpm包完整

- 阅读剩余部分 -

一次完整的加密的通信是怎么样一个过程?

浏览器和服务器之间进行一次完整的加密通信的过程:

 1、发送方使用选定的单向加密算法计算原始数据的特征码;
 2、发送方使用自己的私钥加密特征码,附加于原始数据后面;
 3、发送方生成一次性对称密钥,并使用此密钥加密数据(原始数据+加密后的特征码);
 4、发送方使用接收方的公钥加密一次性对称密钥,附加于加密数据后面
 5、发送;

 1、接收方使用自己的私钥解密加密的一次性对称密钥;
 2、使用对称密钥解密数据,得到加密的特征码和原始数据;
 3、使用发送方的公钥解密加密的特征码;
 4、使用与发送方相同的单向加密算法重新计算数据的特征码,并与解密出的特征做比较

但是通常情况下,一般都是客户端来验证服务器的证书,而服务器不验证客户端的证书的,是因为验证客户端的证书,那么必须也得有证书才行,客户端太过于庞大,每个人去申请证书不太现实。但是通常我们登录网银(证书是放在U盾里面),支付宝和财付通时(证书是安装到系统当中的,这个证书就是支付宝和财付通签发给你的证书)才会需要用到客户端的证书。

- 阅读剩余部分 -