使用OpenSSL生成并格式化证书
使用OpenSSL创建自己的自签名证书,或将 PEM 证书文件转换为P12文件。
OpenSSL是一个开源工具包,可用于生成和验证 TLS 证书。
本主题介绍如何使用OpenSSL工具包,以及如何将 PEM 格式的证书转换为P12格式。
使用以下方式创建自签名证书OpenSSL
使用以下命令创建私钥和公共证书OpenSSL:
openssl req -newkey rsa:2048 -nodes -keyout private_key.pem -x509 -days 365 -out public_certificate.pem
这OpenSSL命令要求输入以下信息来创建您的私钥和公共证书(显示示例值):
- 国家名称(2 个字母代码)[]:US
- 州或省名称(全名)[]:加利福尼亚州
- 地点名称(例如城市)[]:萨克拉门托
- 组织名称(例如公司)[]:exampleorganization
- 组织单位名称(例如部门)[]:
- 通用名称(例如,完全限定的主机名)[]: gateway.exampleorganization.com
- 电子邮件地址 []:
通用名称必须设置为使用该证书的系统的完全限定域名。 对于静态 DNS ,请使用网关集群中设置的主机名或 IP 地址 (例如, 192.16.183.131
或者gateway.exampleorganization.com
)。
要检查生成的公共证书,请运行:
openssl x509 -text -noout -in public_certificate.pem
将生成的 private_key 和 public_certificate PEM 文件合并为受密码保护的P12文件,运行:
openssl pkcs12 -inkey private_key.pem -in public_certificate.pem -export -out certificate.p12
为了验证P12文件,运行:
openssl pkcs12 -in certificate.p12 -noout -info
创建PKCS#12 ( P12 ) 来自 PEM 文件的证书
PKCS#12 (P12 ) 定义了一种用于将加密对象存储为单个文件的档案文件格式。 使用OpenSSL创建密码保护P12来自 PEM 文件的文件夹。
前置条件:
- 专用密钥文件。 例如:private_key.pem。
- CA 签名的证书。 例如:public_certificate.pem。
- 如果你有来自 CA 的中间证书,请将它们连接成一个.pem文件创建一个ca_chain.pem文件:
这ca_chain.pem文件看起来应该像这样:cat ca1.pem ca2.pem ca3.pem > ca_chain.pem
-----BEGIN CERTIFICATE----- MIIEpjCCA46gAwIBAgIQEOd26KZabjd+BQMG1Dwl6jANBgkqhkiG9w0BAQUFADCB ... lQX7CkTJn6lAJUsyEa8H/gjVQnHp4VOLFR/dKgeVcCRvZF7Tt5AuiyHY -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEPDCCAySgAwIBAgIQSEus8arH1xND0aJ0NUmXJTANBgkqhkiG9w0BAQUFADBv ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU ... -----END CERTIFICATE-----
- 如果一个文件中有多个终端实体(叶)证书,则将它们拆分为单独的文件并创建单独的P12每个证书的文件。
创建P12包含以下内容的文件OpenSSL命令(如果没有 CA 证书可以包含,则省略
-CAfile <filename>
-chain
):openssl pkcs12 -inkey private_key.pem -in public_certificate.pem -export -out certificate.p12 -CAfile caChain.pem -chain