第三方机构创建证书

用户可以使用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.com

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中心提交数字证书认证申请。用户可选择VeriSignGeoTrust等第三方认证机构。

  • 用户也可以执行命令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-----