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

如何导出在.pem文件中加密的私钥

刁璞
2023-03-14

我正在编写一个java程序,该程序应该生成私有rsa dsa ec密钥对并导出它们,程序还可以从pem文件中导入密钥。
导入密钥工作得很好,因为我已经使用bouncycastlePEMParser从文件中读取对象,该文件将是PEMEncryptedKeyPair并且以某种方式使用PEMDecryptorProvider.build()我可以读取加密的密钥。
现在的问题是,我正在尝试将私钥写到文件中,并且它应该被加密,我的问题是:
有没有方法使用类中内置的java或者使用bouncycastle或者我必须加密已编码的私钥,然后自己添加头?帮助是非常感谢的PS:如果有一个好的地方开始与bouncycastle API请告诉我

共有1个答案

张嘉佑
2023-03-14

您可以使用org.bouncycastle.openssl.pemwriter类。javadoc丢失,但根据源代码WriteObject方法接受PrivateKey对象。如果要保护(即加密)私钥,则需要使用PemEncryptor实例,该实例可以从org.bouncycastle.openssl.jcajce.jcePemEncryptorBuilder类构建。

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

  • 我希望加载/使用Java应用程序中提供给我的加密私钥。请找到密钥(加密的私有密钥、解密的私有密钥和公钥如下所示)。 加密的私钥密码:“AWCTJPET9FL7UBTP97HX99GDOFEWKUF5TUXSUJEST2SEKYVKYINRFRJ6EISUTERF” 密钥是在NodeJS中使用加密生成的,使用: 我正在使用:运行时版本:11.0.7+10-B765.64amd64,OpenJDK 6

  • 问题内容: 如何列出和导出密钥库中的私钥? 问题答案: 最初来自Example Depot的一部分代码,用于列出密钥存储区中的所有别名: 几个月前,在Sun论坛上讨论了私钥的导出问题,而u:turingcompleter提出了DumpPrivateKey类,以将其缝入您的应用程序。 注意:这使用Sun软件包,这是一件“坏事”。 如果您可以下载apache commons代码 ,则以下是无需警告即可

  • 我试图找出如何将私钥从X509Certificate实例导出为PEM字符串编码。 输出显示预期结果: 问题是如何将生成的私钥导出为PEM编码?

  • 问题内容: 给定此文件(使用openssl生成并使用密码加密): 如何使用Java 获取对象?我编写了以下代码,但是找不到正确的方法来获取: 我想我应该构建一个,但我不知道如何。我尝试了这个答案和另一个答案中的方法,但是它们在解析字节数组时都导致错误。 问题答案: 我正在使用 BouncyCastle 1.57 (bcprov-jdk15on,bcmail-jdk15on和bcpkix-jdk15

  • 我使用RSA_public_encrypt函数发送加密数据到套接字。我正在读取公钥。使用"pkey=PEM_read_PUBKEY(f, NULL, NULL, NULL);"函数的PEM文件。从上面的函数中检索的pkey是类型EVP_PKEY*,我不能在函数RSA_public_encrypt中使用。(RSA_public_encrypt使用RSA*类型密钥) 如何将EVP_PKEY*PKEY转