为了获得SSL证书,你需要生成证书签发申请(CSR)提交给证书颁发机构(CA)。
什么是CSR?
CSR是由申请人为获得SSL证书提交给CA的申请,是一段编码信息。
CSR包含一个公钥以及申请人信息,如FQDN(完全限定域名)、组织名称和地址。CA验证申请人的信息,并使用CSR中包含的公钥颁发SSL证书。
通常,CSR是使用将要安装SSL证书的web服务器生成的。不过,它也可以使用SSL工具或浏览器(如Chrome或Firefox)生成。CSR最常见的格式是PKCS #10规范。
CSR是一段Base64 ASCII编码信息,以-----BEGIN NEW CERTIFICATE REQUEST-----
开始,以-----END NEW CERTIFICATE REQUEST-----
结束。
CSR示例:
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIERzCCAy8CAQAwZzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk5ZMREwDwYDVQQH
DAhuZXcgeW9yazEPMA0GA1UECgwGbXkgb3JnMQswCQYDVQQLDAJJVDEaMBgGA1UE
AwwRd3d3Lm15d2Vic2l0ZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQCfvbkuJwMiwOwgvRAV1XS/HZFGH0I6/p2NyOn7onb8uEV3cMFf4iCzBN6Z
KJD92qVtmZSBpH9IQrYiEohTxkgJ2c/dyX06eDVS7nE53etPOZCM8VvJOq/7PDo+
7Kvy6jhQVU7Rb1mQrFcrU0GVOQWWqqtpHwbeKPfJ3mRlPNzygmXAUXkv0XdstQPm
b5sVx965SGoIgrRUDpl+UNUcE198AVPEiDUg1VqY+mUmyOcvCkO153UtxDUMoocg
S5WlfD83We35a7I6+FAvDKKk31gv6Jxfs/EzZ6D0iiytDMAWNRwDvaYcu06O8Ye/
rt9mFF90XsMMn7xi0cuCaLzG7JrJAgMBAAGgggGZMBoGCisGAQQBgjcNAgMxDBYK
Ni4xLjc2MDEuMjA1BgkrBgEEAYI3FRQxKDAmAgEFDAdkZWxsLVBDDAtkZWxsLVBD
XERldgwLSW5ldE1nci5leGUwcgYKKwYBBAGCNw0CAjFkMGICAQEeWgBNAGkAYwBy
AG8AcwBvAGYAdAAgAFIAUwBBACAAUwBDAGgAYQBuAG4AZQBsACAAQwByAHkAcAB0
AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgMBADCBzwYJKoZIhvcN
AQkOMYHBMIG+MA4GA1UdDwEB/wQEAwIE8DATBgNVHSUEDDAKBggrBgEFBQcDATB4
BgkqhkiG9w0BCQ8EazBpMA4GCCqGSIb3DQMCAgIAgDAOBggqhkiG9w0DBAICAIAw
BAEFMAcGBSsOAwIHMAoGCCqGSIb3DQMHMB0GA1UdDgQWBBS4T+amOyNS+ECWfIxw
eBUR+XRv+TCTfXvFRiQ35T960o79JqJZpaD+PS9HNghqS05ldsrA/p/n/1rG9T+n
1a6jTj6BEwOLaTfUWlq8KtkkYiROOC9LqhQCn84PQuO3L9clLrsV//1C4hGkFUbG
-----END NEW CERTIFICATE REQUEST-----
生成CSR
可以使用OpenSSL工具创建CSR。
运行以下命令:
openssl req -new -nodes -keyout private.key -out server.csr
将得到两个输出文件:
- private.key: 这是你的私钥。你应该将其存储在服务器的安全位置,安装证书时需要用到。
- server.csr: 证书签发申请(CSR),将被提交给CA
公钥与私钥
当生成CSR时,会生成一个密钥对:公钥和私钥。CSR中包含一个公钥,提交给CA,私钥通常保存在web服务器所在的系统中,安装证书时将使用此私钥。