【密码学】《PKI/CA与数字证书》 书籍读后感(二)
背景
总结和归纳《PKI/CA与数字证书》书籍读后感 第二部分
第4章 ASN.1及其编码规则
4.1 ASN.1
ASN.1 的标准化的编码规则有以下⼏种:
BER(BasicEncoding Rules )基本编码规则
DER ( Distinguished Encoding Rules ) 定⻓编码规则
PER(Packed Encoding Rules)
CER(Canonical Eneoding Rules)等
说明:
DER是BER编码的⼀种特殊形式,它专⻔适⽤于具有安全特性的应⽤系统,如涉及加密技术和要求编解码信息唯⼀性的系统,如电⼦商务系统
CER与DER类似,是BER编码的另外⼀种特殊形式,CER的最⼤特点是对⼤数据实现编码,⽽且在数据还未完全获得之前就可以进⾏编码。但是由于业界认定在安全传输中最好的编码⽅法是DER编码,所以CER编码未得到⼴泛使⽤
PER是最近制定的系列编码规则,它的显著特点是使⽤有效的算法对数据编码,获得⽐DER更快更紧凑的数据,因此PER常常被应⽤于带宽或CPU饿死状态的应⽤系统,如空中交通管制和视听通信等领域
第10章 证书的存储方式
公钥⽆需保密,包含在数字证书中,并以数字证书形式对外公开发布,由数字证书的安全机制来保证公钥的完整性和真实性。私钥必须保密,有多种存储⽅式,且不同的存储⽅式安全性不同。通常将密码算法运算、密钥存储及产⽣的装置称为密码模块。密码模块⼜可分为软件密码模块和硬件密码模块。
11. 证书保存形式
11.1.1 DER⽂件形式
11.1.2 Base64⽂件形式
由于数字证书DER编码后的内容为⼆进制形式,不⽅便显⽰,因此需要将其转换成⽂本形式,通常采⽤Base64编码⽅式
11.1.3 PKCS#7⽂件形式
为⽅便交换证书链(证书路径或认证路径)上的所有证书,需要将多个证书保存到单个⽂件中,通常采⽤PKCS#7编码形式。
当证书链采⽤PKCS#7⽂件形式保存时,常⽤的⽂件后缀为p7b。
PKCS # 7 定 义 了 多 种 密 码 消 息 形 式 , 主 要 包 括 : data 、signedData 、 envelopedData 、 signedAndEnvelopedData 、 digestData 、encryptedData、keyAgreementInfo等。当⽤于保存证书链时,具体要求
11.1.4 Windows证书库形式
① 受信任的根证书颁发机构。保存多个可信任的根CA证书。通过该类证书可以验证⽤⼾证书或⼦CA证书的合法性。
② 中级证书颁发机构。保存多个⼦CA证书。
③ 受信任的发布者。保存多个可信任的可执⾏代码发布者证书。如果某可执⾏程序具有代码签名,且使⽤该类证书能验证代码签名的合法性,则说明该程序值得信赖。
④ 未受信任的发布者。保存多个不受信任的可执⾏代码发布者证书。如果某可执⾏程序具有代码签名,且使⽤该类证书能验证代码签名的合法性,则说明该程序不受信任,可能存在安全⻛险,不建议安装或使⽤。
⑤ 其他⼈证书。保存多个他⼈的证书。
⑥ 个⼈证书。包含⾃⼰的数字证书。如果有对应的私钥,并与数字证书进⾏关联
2.证书库管理
打开IE浏览器,单击菜单 Internet选项 后进⼊ 内容 ⻚,如图11-3所⽰
单击按钮 证书 后即可进⼊证书库管理界⾯,如图11-2所⽰。通过⼿⼯可以导⼊、导出、删除各类证书。可将证书库中的证书导出为⽂件形式,导出过程中可选择导出的
⽂件格式:DER编码⼆进制格式、Base64编码格式、PKCS#7格式,如
12 私钥的保存形式
11.2.1 PKCS#8⽂件形式
PKCS#8规定了私钥单独以⽂件形式保存时的具体格式。
11.2.2 PKCS#12⽂件形式
11.2.3 Java Keystore⽂件形式
JDK 1.4已经⽀持X.509数字证书标准。Java平台将密钥库作为密钥(公私钥对)和证书的资源管理库。从物理上讲,密钥库是个⽂件,缺省名称为.keystore。通过⼀个别名来区分密钥和证书,每个别名均由唯⼀的⼝令进⾏保护。密钥库本⾝也受⼝令保护。
当私钥采⽤Java Keystore形式保存时,常⽤的⽂件后缀为jks。
Keystore⽂件可通过两种⽅式进⾏访问或操作:keytool⼯具,Java类。
keytool 是 JDK ⾃带⼯具,可⽅便管理密钥库中的公私钥对和数字证书。主要包括以下命令:
11.2.4 密码设备形式
11.2.5 软件系统形式