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

使用. pem文件中的公钥进行RSA加密

高海阳
2023-03-14

我使用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转换为RSA*RSA?

共有1个答案

乐正洲
2023-03-14

使用RSA*EVP\u PKEY\u get1\u RSA(EVP\u PKEY*PKEY)从EVP\u PKEY获取RSA类型密钥。

示例:

EVP_PKEY    *evp;
RSA         *pubkey

evp = ...; /* some way to get the public key */
pubkey = EVP_PKEY_get1_RSA(evp);
if (pubkey == NULL) {
    /* error handling */
}
 类似资料:
  • 我想为这个方法生成的公钥创建文件 因为我正在为移动应用程序生成此密钥,而他们无法读取,所以他们请求文件,而不是作为字符串的公钥 请各位指教,,

  • 我有一个RSA公钥证书。我可以使用具有。PEM扩展名或仅将其用作具有以下格式的字符串: 启动RSA公共密钥 {KEY} -----结束RSA公钥----- 我试图使用此密钥向服务器发送加密的JSON。我尝试了许多其他相关堆栈溢出问题的解决方案,但没有一个答案不适合我。这个答案似乎有道理https://stackoverflow.com/a/43534042,但有些东西不能正常工作,可能是因为X50

  • 我正在为服务器编写发送电子邮件的模块。在客户端应用程序中,用户可以添加多个接收器,每个接收器都有自己的公钥。我想使用多个密钥加密附件。例如,如果我添加了3个接收者,那么附件应该用3个不同的公钥加密。我使用bouncy castle来实现这一点,但它只适用于加密过程中的第一个公钥。我的意思是只有第一个人可以使用自己的私钥解密,其余的都不起作用。我为每个键添加方法的代码如下所示: 整个方法看起来像:

  • 我已生成一个私钥,其中包含: 在此之后,我生成了一个公钥: 我想使用我的私钥对一些消息进行签名,并使用我的公钥验证一些其他消息,代码如下: 我找到了一个将私钥转换为PKCS8格式并加载的解决方案。它适用于以下代码: 最后我的问题是:如何从文件中加载RSA公钥? 我想可能需要将公钥文件转换为x509格式,并使用。但是我该怎么做呢?

  • 问题内容: 我该如何等效于以下c ++代码? 我看过Go rsa软件包 。看起来EncryptPKCS1v15()可能等同于RSA_private_encrypt()。但是除了GenerateKey()之外,我看不到如何创建一个PrivateKey对象,该对象(可以通过查看源代码来确认)使用随机质数生成一个。 我是否需要弄清楚如何解码PEM文件,以便提取出PrivateKey字段的值? 更新: 与

  • 我在尝试初始化RSA密码时遇到Scala错误: 我正在尝试读取包含公钥和私钥的PEM文件。在Bouncy城堡中读取pem文件时,我在初始化中传递与key相同的信息时出错。 我的PEM文件: 错误需要哪些更改 我的代码: 错误: 重载方法值初始化(x1美元:Int,x2美元:java.security.cert.证书)单位(x1美元:Int,x2美元:java.security.密钥)单位不能应用于