CA证书是否与客户端证书相同?
如果没有,我怎样才能获得客户证书?如果是,我如何将其用作客户端证书?
抱歉这个愚蠢的问题。
提前致谢。
服务器证书或客户端证书只是证书,它们只有不同的属性。证书树中的每个人(包括最终用户和证书颁发者)都有一个证书,通常是 X509 Certificate。
认证机构在树结构上(树的深度不固定):
Root certication authority of a country (level 0)
Certification authority 1 (level 1)
Certification authority 1.1 (level 2)
End-user 1.1.1
End-user 1.1.2
...
Certification authority 1.2 (level 2)
...
Certification authority 2 (level 1)
...
最终用户的证书由树的叶子上的证书颁发机构签名。并且每个证书颁发机构也有一个由父证书颁发机构签署的证书。
根证书颁发机构(0 级)的证书由该根 CA 自己签名。
举1个例子:认证机构A有一个子认证机构B,认证机构B为最终用户C颁发证书。
对于这个例子:B 持有的证书和 C 持有的证书是不同的。B 的证书由 A 签名,C 的证书由 B 签名。这些证书也肯定不同,因为证书的内容不同。
至于如何获得证书,有两种方式:(1)找一个认证机构,让他们购买证书,(2)使用证书生成软件创建自己的证书。但是,CA签发的证书具有法律效力,您自己生成的证书不能用于合法签署任何东西,因此您自己生成的证书只能用作测试证书。
可以将证书文件(.cer、.p12等)导入浏览器;对于 Chrome 浏览器:打开“设置”->“高级”->“HTTPS/SSL”->“管理证书”->“导入”。文件 .cer 是 X509 证书(无私钥),文件 .p12 是 PKCS12 证书(包含私钥)。并非所有证书都受浏览器信任;只有那些由浏览器知道根 CA 的证书树中的 CA 颁发的证书才受信任。