请教openssl中的证书格式

请教openssl中的证书格式

openssl中有很多关于证书的操作...,文件扩展名也有很多,比如*.key.,*.crt,*.pem,*.p12,*.pfx,*.csr等,比较多,有些混乱,明白人帮解释一下啊~
*.key                   密钥文件?公钥?私钥?
*.pub                   公钥文件?*.key为私钥文件?
*.crt                     证书文件,不知道与*.pem有什么区别好像是*.crt和私钥联合生成了*.pem,但是X509证书中没有私钥,不知道为什么?
*.pem                 证书文件
*.der                   另一种证书格式?可以与*.pem相互转化
*.p12/*.pfx       PKCS12格式证书文件,可以与*.pem相互转化
*.csr                    证书请求文件,主要包含什么信息?

一般地(注意是一般地)
key就是私钥,与公钥对应,也与数字证书对应
pub是公钥,与上文的私钥对应.
crt为数字证书(windows系统缺省的后缀),数字证书与pub(公钥)的区别是:数字证书是包含了用户的实体信息,比如用记名,Email,电话号码等,并且这些信息和公钥一起被CA机构签过名,并认可. 即如果你拿到一个普通的公钥,大家都不知道这个是谁的,如果拿到一个公安部签过名的证书,大家都清楚这个是某某的公钥.
pem,数字证书,通常是base64编码的.可以用编辑器打开.
der 数字证书,是二进制的编码,也是证书
p12是另一种格式,他可以封装很多东西,比如同时包含证书,key等
csr是请求,即你拿着你的公钥,还有你的实体信息(用户名,身份证号,Email,手机等)到特定的机构(比如公安部),要他们帮你盖个章. 这样别人就不会拿到冒牌的你的公钥了.

[ 本帖最后由 Axin 于 2007-8-7 17:53 编辑 ]