数字证书格式简述和OPENSSL证书制作

各种数字证书的格式总结.

1.证书编码方式分类

1.二进制编码 DER
   常见的二进制编码后缀内容如CER,CRT
2.BASE64方式编码 PEM
   常见的ASCII编码后缀内容如PEM

2.证书包含内容分类

1.只保存公钥内容
2.只保存私钥内容
3.公钥和私钥并存

3.证书文件类型

1.PEM-Privacy Enhanced Mail ;
  内容信息以BASE64存储编码DER格式数据,同时证书内容通常以----BEGIN XXXX----- 开始,并且以----END XXXX----结束.PEM和DER格式可以相互转换,主要区别为DER为二进制保存,而PEM以BASE64保存.
  PEM格式存储的证书
  —–BEGIN CERTIFICATE—–
  —–END CERTIFICATE—–

  PEM格式存储的私钥
  —–BEGIN RSA PRIVATE KEY—–
  —–END RSA PRIVATE KEY—–

  PEM格式存储的证书请求文件
  —–BEGIN CERTIFICATE REQUEST—–
  —–END CERTIFICATE REQUEST—– 

2.DER – 辨别编码规则 (DER) 可包含所有私钥、公钥和证书;

3.PFX或P12 – 公钥加密标准 #12 (PKCS#12) 可包含所有私钥、公钥和证书;

4.JKS通常可以将Apache/OpenSSL使用的“KEY文件 + CRT文件”格式”转换为标准的Java Key Store(JKS)文件;

5.KDB–通常可以将Apache/OpenSSL使用的“KEY文件 + CRT文件”格式转换为标准的IBM KDB文件;

6.CSR-证书请求文件(Certificate Signing Request).生成 X509 数字证书前,一般先由用户提交证书申请文件,然后由 CA 来签发证书;
    1.用户生成请求证书文件,其中包含了用户信息,公钥内容,同时还包含用户使用私钥签名的内容.
    2.用户将证书申请文件提交给CA;
    3.CA使用公钥验证签名内容,提取用户信息并且使用CA私钥签发数字证书.
    4.X509证书包含内容:证书版本、证书序列号、签名算法、颁发者信息、有效时间、持有者信息、公钥信息、颁发者 ID、持有者 ID 和扩展项

4.openssl制作CA证书

以下生成的文件CSR和CRT以及KEY都是PEM编码格式的.
1.创建根证书秘钥文件
root.key: openssl genrsa -out root.key -aes256 2048

2.创建根证书的申请文件
root.csr openssl req -new -key root.key -out root.csr

3.创建一个自当前日期起为期十年的根证书root.crt:
openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey root.key -in root.csr -out root.crt

4.创建服务器证书密钥server.key
openssl genrsa -out server.key -aes256 2048

5.创建服务器证书的申请文件server.csr:
openssl req -new -key server.key -out server.csr

6.创建自当前日期起有效期为期两年的服务器证书server.crt:
openssl x509 -req -days 730 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAserial root.srl -CAcreateserial -in server.csr -out server.crt

7.创建客户端证书密钥文件client.key:
openssl genrsa -out client.key -aes256 2048

8.创建客户端证书的申请文件client.csr:
openssl req -new -key client.key -out client.csr

9.创建一个自当前日期起有效期为两年的客户端证书client.crt:
openssl x509 -req -days 730 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAserial root.srl -CAcreateserial -in client.csr -out client.crt

10.将客户端证书文件client.crt和客户端证书密钥文件client.key合并成客户端证书安装包client.pfx
openssl pkcs12 -export -in client.crt -inkey client.key -out client.pfx

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容