第三方机构创建证书
用户可以使用OpenSSL来创建CSR,并通过相关机构(例如:沃通)申请证书,具体操作方法如下文所示。
前置任务
在申请证书前,用户应先获取并安装相关工具。
Linux: 建议使用OpenSSL。OpenSSL是一个强大的SLL密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
Windows: 可供选择的工具包括:IIS Manager,SelfSSL,OpenSSL和Windows PowerShell cmdlets等。
使用OpenSSL创建证书
提交证书申请前,用户需在本地生成私钥和证书请求文件(CSR);然后用户可以将CSR提交至CA进行签名认证,也可以通过自签名的方式进行本地测试。具体操作方法如以下示例所示(本示例中使用的工具为OpenSSL)。
1、执行命令openssl genrsa -out my-private-key.pem 2048
,通过RSA算法生成私钥,并保存在my-private-key.pem文件中。百度智能云支持1024、2048和4096 bits长度的私钥,建议用户使用2048 bits长度。
注意:请妥善保管私钥,避免遗失和泄露。
查看私钥文件的具体内容如下:
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAuRn81tg5aVRtTLAb+96qQPLzgoVzPEJvUCATvOZDoUcfZqx6
A+PJ33SBZ6wUUMwKwDiAbi3yG2cQ1zfVe68PvtkFcPjwnTFRJbRObZUJXVA8LIMy
LDC9cq71qvptYCMUVdmsrWeRUzZfJLLo8/+KRV0kAoykLyOVYHVXVKa+XChrEEcD
......
PMKG1QKBgCElb8qQlSPzN7If+4+xY/z6iDZ80H/ktJahcD3QHeFUsaXaYQGokudC
4ZWHW1JiLwIqsiJ4iLaTKU4JOn5LyFFR/6O/NvhWuMXHmqLtHwhrKtZX2TBwbfdQ
wRakf1vOSHXHDG1Zym5t5s8UWDtkMcHZ7lIasjgaWB3lgFMwu+0u
-----END RSA PRIVATE KEY-----'
2、执行命令openssl req -sha256 -new -key my-private-key.pem -out csr.pem
,根据系统提示输入相关配置信息,生成CSR文件。其中,-key my-private-key.pem
用来指定步骤1中生成的私钥文件;-out csr.pem
用来指定CSR文件的名称。
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Beijing
Locality Name (eg, city) []:Beijing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Company
Organizational Unit Name (eg, section) []:.
Common Name (e.g. server FQDN or YOUR name) []:www.mycompany.com
Email Address []:example@mycompany.c
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:.
An optional company name []:.
查看CSR文件具体内容如下:
-----BEGIN CERTIFICATE REQUEST-----
MIIC5TCCAc0CAQAwgYgxCzAJBgNVBAYTAkNOMRAwDgYDVQQIDAdCZWlqaW5nMRAw
DgYDVQQHDAdCZWlqaW5nMRMwEQYDVQQKDApNeSBDb21wYW55MRowGAYDVQQDDBF3
d3cubXljb21wYW55LmNvbTEkMCIGCSqGSIb3DQEJARYVZXhhbXBsZUBteWNvbXBh
......
QIdb7HyrK9Xly3dhTVNpkn/675drBf/0V23RyrXusoJMw+IOtPd9EtyRCvue8b2Z
niekGvbI+giNyc45OBJwnuVo83tU528UyoZIpHjfNaw15NYCbhSecrxZYmY3xWnE
uPIZsMavDocgoiGpPN8TyX2XMZUkLtLFCFJ+yU2yD4OycgPJTJSP5zJSCv+JV0mh
1SPr6Vir4rnT7s+EL+ZkubfWrTvVSmkjyg==
-----END CERTIFICATE REQUEST-----
- 执行以上命令时所需填写的内容解释如下表所示:
字段 | 描述 |
---|---|
Country Name | 公司/组织所在国家ISO代码,中国代码为CN,其它国家代码可参考ISO Code。 |
State or Province Name | 公司/组织所在的省/州名称。 |
Locality Name | 公司/组织所在城市名称。 |
Organization Name | 公司/组织的名称,此处应该出完整全称。 |
Organizational Unit Name | 产品或分支机构名称,可选。 |
Common Name | 公司/组织的完全限定域名(FQDN,Fully-Qualified Domain Name),例如: www.mycompany.com。 |
Email Address | 管理员的Email地址。 |
A challenge password | 加密证书请求的密码。 |
An optional company name | 可选公司/组织名称。 |
3、向CA中心提交数字证书认证申请。用户可选择VeriSign、GeoTrust等第三方认证机构。
- 用户也可以执行命令
openssl x509 -req -days 365 -in csr.pem -signkey my-private-key.pem -out my-certificate.pem
,对证书进行自签名,用于网站的测试。其中,-days 365
代表证书有效期为365天;-in csr.pem
用来指定步骤2生成CSR文件;-signkey my-private-key.pem
用来指定用于对CSR进行签名的私钥,本示例中使用步骤1生成的私钥进行签名;-out my-certificate.pem
用来指定生成的证书名称。 -
查看生成的证书文件内容如下:
-----BEGIN CERTIFICATE----- MIIDjjCCAnYCCQC4xa7g5APX/jANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC Q04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxEzARBgNVBAoM Ck15IENvbXBhbnkxGjAYBgNVBAMMEXd3dy5teWNvbXBhbnkuY29tMSQwIgYJKoZI .... Q1PBQWanUPWbZ2+AIudPWpDkDtq6uZkTTSKNd+6E1f5bIlGGvD0eu/gdYFaJN8Ut aUSjls8bToQhXs7EAjzEABM9M8BmaQEkEmPutc/y8KqND1Dv8hox/z6olppmwMn5 9hgcZecsoJ0qAUJC7kqfpSkpitXLSAsE/1OGJ8MhTtpELQsCO0N5m/h2wtIGaI08 sLk= -----END CERTIFICATE-----