【学习笔记】SSL证书之CSR详解

一、CSR是什么

CSR(Certificate Signing Request),即证书签名请求,是申请数字证书时提交给CA(证书颁发机构)的文件,包含申请者的公钥信息(使用了相应的私钥进行签名)和身份信息(如名称、组织、国家/地区等)。

二、CSR包含的信息

CSR包含3部分,证书请求信息、签名算法和签名

(1)证书请求信息(Certificate Request Info)

    ① Version
    例如0x0 - CSR version 1 - Only version in use

    ② Subject DN (distinguished name,识别名)

    各字段例如:

    CN = GeoTrust CN RSA CA G1(Common Name,证书通用名称);

    OU = www.digicert.com(Organization Unit,所在组织处理证书的部门);

    O = DigiCert Inc(Organization,组织名);

    C = US (Country,国家);

    S = XX (State,省);

    L = xx (Locality,地区)

    CA会将这些表明身份的信息导入到证书中(解释了为什么证书里会有个人信息,因为这些信息在CSR中),CA 将自己的 DN 作为证书颁发者。

    ③ 公钥(Public Key)

    公钥是用来加密的,私钥是用来解密的, 在ssl握手中,对方通过之前取得的证书中的公钥对数据进行加密,我方通过自己保留的私钥进行解密。

    上图展示了公钥的信息,使用的是RSA 2048,但一些 CA,包括 GlobalSign,支持更大的密钥大小(例如 RSA 4096+)或 ECC 密钥。

    ④属性(Attributes)

CSR里还包含可选、附加的CSR功能,例如

    延期请求(extension request):证书延期;

    密码(challenge password):用于向 CA 请求管理员行为,限制了谁可以要求 CA 撤销证书(用于保护私钥和证书签名请求,当使用该证书时,可能需要输入这个密码来解锁密钥)。

    可能还有别的功能,以上是最主要的。

三、CSR样例(以pem格式为例)

    CSR文件一般以“-----BEGIN CERTIFICATE REQUEST-----”开头,以“-----END CERTIFICATE REQUEST-----”结尾。

四、如何创建CSR

笔者参照FreeSSL.cn的站点,罗列出3种生成CSR的方式,读者可更具需求使用。

1、浏览器生成

    这种最简单,在该站点申请90天免费单域名证书的时候,选择“浏览器生成”,无需自己操作

2、离线生成

    通过调用CMlLte客户端,离线生成CSR,可实现私钥本地加密存储更加安全,详情参见CMLite文档

3、粘贴CSR

选择CSR在线生成工具(推荐使用MySSL.comCSR在线生成工具)生成CSR文件

    按照需要的证书类型选择如SSL证书,填好相关字段信息后,点击生成,可得到CSR文件和私钥的KEY文件。

感谢您的阅读~~~

参考文献

1、网站:Practical Networking.net:Practical TLS 

2、网站:www.freessl.cn

3、网站:www.myssl.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值