什么是CSR

CSR的全称是Certificate Signing Request. 是我们在申请Https证书是向CA所提供的一杯申请书。其内部储存了我们申请证书所需要的基本信息。它是一个经过Base64编码的纯文本文件。一般长这个样子:

-----BEGIN CERTIFICATE REQUEST-----
MIIByjCCATMCAQAwgYkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMR8w
HQYDVQQLExZJbmZvcm1hdGlvbiBUZWNobm9sb2d5MRcwFQYDVQQDEw53d3cuZ29v
Z2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEApZtYJCHJ4VpVXHfV
IlstQTlO4qC03hjX+ZkPyvdYd1Q4+qbAeTwXmCUKYHThVRd5aXSqlPzyIBwieMZr
WFlRQddZ1IzXAlVRDWwAo60KecqeAXnnUK+5fXoTI/UgWshre8tJ+x/TMHaQKR/J
cIWPhqaQhsJuzZbvAdGA80BLxdMCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBAIhl
4PvFq+e7ipARgI5ZM+GZx6mpCz44DTo0JkwfRDf+BtrsaC0q68eTf2XhYOsq4fkH
Q0uA0aVog3f5iJxCa3Hp5gxbJQ6zV6kJ0TEsuaaOhEko9sdpCoPOnRBm2i/XRD2D
6iNh8f8z0ShGsFqjDgFHyF3o+lUyj+UC6H1QW7bn
-----END CERTIFICATE REQUEST-----

这段纯文本包含了如下信息:

名称 描述 示例
Common Name 证书所绑定的域名

*.google.com
mail.google.com

Organization 证书所属组织 Google Inc.
Organizational Unit 证书所属组织的部门 Information Technology
IT Department
City/Locality 组织所属城市 Mountain View
State/County/Region 组织所在州,省或者区域 California
Country 组织所在国家 US
GB
Email address 组织联系方式 [email protected]
Public Key 最重要的公钥,https的核心功能就是使用证书中包含的公钥来解密数据。所以公钥信息必须通过CSR文件提交给CA。 然后CA用其根证书私钥进行签名后生成证书。  

CSR的生成

我们可以通过IIS提供的生成CSR的功能来生成,也可以通过专业的openssl的工具生成

openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key

CSR的验证

我们可以通过openssl工具对CSR进行验证

openssl req -in mycsr.csr -noout -text

CA在收到我们提交的CSR文件后,会把这些信息使用其根证书对应私钥签名后生成对应的证书。

猜你喜欢

转载自www.cnblogs.com/Code-life/p/11923832.html