CSR代码中支持的密钥大小和签名算法以及OpenSSL配置CSR

好的SSL证书请关注我们

CSR代码中支持的密钥大小和签名算法以及OpenSSL配置CSR

CSR代码签名密钥


由于在CSR代码提交期间,我们向证书颁发机构(如域名,公钥等)提供了一定数量的有价值信息,我们肯定希望这些信息在没有变更的情况下提供,并且我们未来的SSL证书将会拥有有效的公钥。
密钥
加密密钥的大小定义了其针对各种攻击的强度。不要深入研究公钥密码学的数学基础,简单的逻辑是 – 密钥越大,破解就越难。另一方面,巨大尺寸的密钥在加密操作期间将消耗更多的计算能力,并且可能显着降低服务器的性能。
因此,CSR代码中支持的密钥大小列表如下:
RSA密钥 – 从2048到8192位。
ECDSA密钥:
用P-256曲线生成 – 256位
用P-384曲线生成 – 384位
用P-521曲线生成 – 521位
注意:我们网站上当前支持的密钥算法仅为RSA和ECDSA。
签名算法
甲数字签名有助于确保所发送的消息(该CSR代码在我们的例子)的完整性和真实性。签名算法用于对一段数据进行签名并使用特定散列函数计算其散列。然后,消息与散列和签名算法的名称一起发送,以便接收方可以计算和比较散列,以确保在传输过程中消息未被更改。签名算法必须足够健壮以抵抗可能的数据伪造尝试。
目前,支持的签名算法列表如下:
md5WithRSAEncryption
sha1WithRSAEncryption
sha224WithRSAEncryption
sha256WithRSAEncryption
sha384WithRSAEncryption
sha512WithRSAEncryption
ECDSA-与-SHA1
ECDSA与 – SHA224
ECDSA-与-SHA256
ECDSA与 – SHA384
ECDSA与 – SHA512
为避免SSL证书激活可能出现的问题,CSR代码必须符合上述标准。
OpenSSL如何正确生成CSR代码
大多数现代OpenSSL实现在私钥和CSR代码生成期间默认使用支持的密钥大小和签名算法。但是,如果我们想确保一切正常完成或使用特定的密钥大小和签名算法,我们可以将相应的参数添加到OpenSSL命令。
ECDSA密钥是使用某种曲线类型生成的,该类型在OpenSSL命令中指定,如下所示:
openssl ecparam -out server.key -name [curve]

这里应该用格式的曲线名称替换,OpenSSL可以识别:
prime256v1 – 使用P-256曲线
secp384r1 – 使用P-384曲线
secp521r1 – 使用P-521曲线
Windows Server
与OpenSSL一样,现代Windows Server版本中的标准密钥和签名算法与上面列出的要求兼容。但是,如果我们需要调整这些属性,有一种方法可以做到这一点。
我们需要在MMC(Microsoft管理控制台)界面中打开“创建自定义请求”向导。完整的步骤顺序如下:
Win + R> mmc.exe>确定>文件>添加/删除管理单元>证书>添加>计算机帐户>下一步>本地计算机>完成>确定>证书>个人>右键单击空白区域>所有任务>高级操作>创建自定义请求。

OpenSSL


打开证书注册的属性后,将出现私钥选项卡,其中包含称为密钥选项和选择哈希算法的部分,我们可以分别选择所需的密钥大小和散列算法。

发表评论

电子邮件地址不会被公开。 必填项已用*标注