当前位置: 首页 > 知识库问答 >
问题:

Openssl ECDSA : 私钥密码

东方涛
2023-03-14

我是Openssl的新手,我已经生成了私钥myprivatekey。pem和公钥mypublickey。pem与:

openssl ecparam -genkey -name secp160k1 -noout -out myprivatekey.pem

和我的公钥:

openssl -ec  -in myprivatekey.pem -pubout -out mypublickey.pem

接下来我想做的是用通行短语私钥加密我的ecdsa,并对我的公钥进行认证请求,感谢大家的帮助。

共有2个答案

夏侯枫
2023-03-14

虽然< code>ecparam没有对生成的密钥进行加密的选项,但< code>genpkey可以生成ECC私钥,并且有这样一个选项:

openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:secp160k1 -aes-256-cbc -out myprivatekey_encrypted.pem

-aes-256-cbc选项指定对其进行加密(使用aes-56-cbc;其他选项可用于不同类型的加密)。

您可以在pass:password或-passin文件:mypassword中传递-密码。通过在命令行上指定密码。

穆季萌
2023-03-14

ecparam似乎没有用于加密生成的密钥的内置选项。相反,您只需执行以下操作:

openssl ec -in myprivatekey.pem -out myprivatekey_encrypted.pem -aes256

genrsa相比,需要额外的步骤,但这基本上可以做同样的事情。

现在,就证书请求而言,无论使用哪种类型的私钥,该命令几乎都是相同的:

openssl req -new -sha256 -key myprivatekey.pem -out mycertrequest.pem

然后,您可以获取生成的<code>mycertrequest。pem并将其发送给CA进行签名。

编辑:

如果您担心将未加密的私钥写入磁盘,可以在一个步骤中完成密钥的生成和加密,如下所示:

openssl ecparam -genkey -name secp256k1 | openssl ec -aes256 -out privatekey.pem

这将生成一个 P-256 密钥,然后提示您输入密码。然后使用AES256对密钥进行加密并保存到privatekey.pem中。

 类似资料:
  • 我在使用Java Bouncycastle的客户机和使用Python RSA库的密钥服务器之间交换私钥时遇到了困难。PEM格式用于通过REST传输密钥。keyserver无法解密我提供的密钥(加密密码更改时需要),它需要PKCS#1或PKCS#8密钥和PEM,如下所示: 但是BouncyCastle的输出(使用JCEpeEncryptorBuilder和JcaMiscPEMGenerator)的起

  • 为了更新一些证书,我必须将jks密钥库转换为PKCS#12密钥库,并在转换过程中包含私钥。我们收到的密钥库是JKS密钥库,但是我们的网络服务器使用PKCS#12密钥库,我们收到的密钥库只包含证书,而不包含私钥。 我试着用谷歌搜索并阅读SO的几个条目,我只想出了一个解决方案,这似乎更像是一个变通方法,而不是一个好的方法,所以我想知道是否有人有更好的方法如何注入私钥,并以更简单的方式从jks密钥库转换

  • 并且我将这个函数称为用RSA公钥加密DSA密钥的函数:

  • 我已经用java代码生成了一个私钥,并将其保存为: 无法加载私钥9964:error:0d0680a8:asn1编码例程:asn1_check_tlen:错误标记:.\crypto\asn1\tasn_dec。c:1319:9964:error:0d06c03a:asn1编码例程:asn1_d2i_ex_primitial:nested asn1错误或:.\crypto\asn1\tasn_dec

  • 我试图通过RSA加密字符串。我也有java样本,但我不能正确地将其转换为c#。 RSA示例: 这是我在c#中生成的代码,但我的c#代码结果与javaCode结果不同。我的代码怎么了?

  • 我有以下字符串格式的RSA私钥。 我正在尝试使用下面的代码片段将其转换为PrivateKey类型- 我正在犯错误- 它给我一个错误的生成私人方法。 尝试在这里使用Java的答案:将DKIM私钥从RSA转换为用于JavaMail的DER