私钥

在哪里可以找到我的私人密钥?

这是我们最常遇到的问题之一。 遗憾的是,我们不能将私人密钥发送给您,因为它是私有的,我们不会将其存储在我们系统或数据库的任何地方。 私人密钥始终是保密的,只有您才能拥有它。 如果我们拥有或存储了您的私人密钥,这将损害您 SSL 证书的 “安全性”。

如果您使用我们网站上的CSR 生成器生成CSR 代码,那么在 CSR 生成过程中,CSR 和私钥都会显示给您。 如果您在 CSR 生成器中包含了您的电子邮件地址,它们也会发送到您的电子邮件地址。 发送到您电子邮件地址的信息来自[email protected],主题如下:”您的 CSR 代码和私人密钥”。

如果您在服务器上生成了 CSR,那么您的 CSR 代码和私钥都是由服务器提供给您的。 您必须复制并将其存放在安全的地方。 在某些情况下,某些服务器可能会显示 CSR 代码和私钥,并同时在服务器上为您存储这两段代码。 在其他情况下,服务器只向您提供 CSR 代码,并将私钥隐藏在服务器上。

重新颁发证书因此,请在电子邮件地址或服务器中查找私钥。 如果找不到,则必须在服务器上或我们网站上的 CSR生成器 上生成新的 CSR 代码。 CSR 代码将附带私钥。

生成新的 CSR 代码(和私钥)后,你必须进入 SSL Dragon 账户内的 SSL 证书详情页面,点击页面左侧栏中的 “重新颁发证书 “按钮。 您必须再次通过域名验证,一旦通过验证,SSL 证书将根据您输入的新 CSR 代码重新签发给您。 此外,重新签发的 SSL 证书将与新 CSR 代码附带的私钥配对。

如果找不到 在你的 SSL Dragon 账户内的 SSL 证书详情页面上点击 “重新颁发证书 “按钮,然后请将以下信息发送给我们 通过您的 SSL Dragon 账户内的支持票单,或直接访问以下网址获取新的 CSR 代码 [email protected] 我们将使用新的 CSR 代码为您重新生成 SSL 证书。 请不要将您的私人密钥发送给我们,因为这是保密的。 将其保存在电子邮件或电脑的安全位置,以便安装 SSL 证书时使用。

复制链接

如何验证私钥对的完整性?

您可以使用
OpenSSL 实用程序
及其命令行验证 SSL 证书和私钥对的完整性。

该过程包括四个步骤:

  1. 验证私钥是否被篡改。
  2. 验证与私人密钥和 SSL 证书对匹配的模值
  3. 成功使用证书中的公开密钥进行加密,并使用私钥进行解密
  4. 确认使用私钥签名的文件的完整性

验证私钥的完整性

运行以下命令 openssl rsa -in[key-file .key] -check -noout

下面是一个私钥损坏的例子:

私钥错误

因更改/伪造钥匙导致的其他错误如下:

  • RSA 密钥错误:P 不是质数
  • RSA 密钥错误:n 不等于 p q
  • RSA 密钥错误:d e 与 1 不全等
  • RSA 密钥错误:dmp1 与 d 不全等
  • RSA 密钥错误:iqmp 不是 q 的倒数

如果遇到上述错误,说明你的私钥被篡改,可能无法与公钥一起使用。 考虑创建新的私钥并申请更换证书。

下面是一个符合完整性要求的私人密钥示例:

rsa 密钥确定

验证与私人密钥和 SSL 证书对匹配的模值


注意

私钥和证书的模数必须完全匹配。

运行命令查看证书模数:

openssl x509 -noout -modulus -in [certificate-file .cer]

运行命令查看私钥模数:

openssl rsa -noout -modulus -in [key-file .key]

用公钥加密,用私钥解密

1. 从证书中 获取 公开密钥:

openssl x509 -in[certificate-file .cer] -noout -pubkey> certificatefile.pub.cer

2.使用公开密钥加密 test.txt 文件内容

创建一个名为 test.txt 文件的新文件(可以使用记事本),内容为 “信息测试”。 执行以下命令为 cipher.txt 文件创建加密信息。

openssl rsautl -encrypt -in test.txt -pubin -inkey certificatefile.pub.cer -out cipher.txt

3.使用私钥解密 cipher.txt
执行以下命令解密 cipher.txt 内容。

openssl rsautl -decrypt -in cipher.txt -inkey [key-file .key]

确保可以在终端上解密 cipher.txt 文件内容。 终端输出的内容必须与 test.txt 文件中的内容一致。

如果内容不匹配,说明私钥被篡改,可能无法与你的公钥一起使用。 考虑创建新的私钥并申请更换证书。 下面是一个解密信息的例子:

消息测试

4.确认使用私钥签署的文件的完整性

运行以下命令,用私钥签署 test.sig 和 test.txt 文件:

openssl dgst -sha256 -sign[key-file .key] -out test.sig test.txt

现在,用从步骤 1 提取的公钥验证签名文件。

openssl dgst -sha256 -verify certificatefile.pub.cer -signature test.sig test.txt

确保终端输出与下面的示例完全一致:

已核实 ok
如果您的私人密钥被篡改,您将收到以下信息:

验证失败
在这种情况下,你应该创建一个新的私钥并申请更换证书。

来源:Digicert 知识库Digicert 知识库

复制链接

为什么会出现证书或私钥不匹配错误?

有时,发给你的 SSL 证书与你在服务器上安装 SSL 证书时试图使用的私钥不匹配。 这是一个常见的用户错误。

如果系统显示不匹配,则需要仔细检查您生成的 CSR 和私钥。 您需要确保在配置 SSL 证书时使用了特定的 CSR。 签发 SSL 证书时,需要使用与特定 CSR 配对的私钥。

我们发现客户会犯这样的错误:他们生成一个 CSR 和私钥,然后用服务器生成的另一个 CSR 配置 SSL 证书。 在这种情况下,服务器会用自己的私钥生成 CSR 对,而你很可能没有自己的私钥。

您拥有的私人密钥只能与随附的 CSR 一起使用。 此外,你拥有的私钥只能与使用与该私钥配对的 CSR 配置的 SSL 证书一起使用。

解决方案

要解决这个问题,你需要使用 CSR 代码重新配置(重新签发)SSL 证书,因为你有与之配对的私钥。 您可能需要使用服务器提供的 CSR 代码,或生成新的 CSR 和私钥

复制链接

如何找到代码签名证书的私钥?

从 2023 年 6 月 1 日起,行业标准要求将代码签名证书私钥存储在 FIPS 140 2 级、通用标准 EAL 4+ 认证的硬件上。 这一改动增强了安全性,符合电动汽车代码签名标准。 证书颁发机构不再支持基于浏览器的密钥生成或笔记本电脑/服务器安装。 私钥必须使用 FIPS 140-2 2 级或通用标准 EAL 4+ 认证的令牌/HSM。 要签署代码,请访问令牌/HSM 并使用存储的证书凭据。

根据新的指导原则,您的私人密钥应在 CA 提供的令牌上或您的硬件安全模块上。

复制链接