如何在python中使用加密的RSA私钥(AES-256-CBC)对数据进行签名

GS202

private_key 的部分示例(这个变量是一个字符串):

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,hidden_text..

lots_of_hidden_text..

-----END RSA PRIVATE KEY-----

当我尝试执行以下操作时:

from Crypto.PublicKey import RSA
from Crypto.Signature import PKCS1_v1_5
rsakey = RSA.importKey(private_key, passphrase=privkey_secret_string)
signer = PKCS1_v1_5.new(rsakey)
signature = signer.sign(data)

我在 importKey 上收到值错误:

Error: ValueError: Unsupport PEM encryption algorithm.

我可以看到 RSA.importKey 不支持 AES-256-CBC,但我找不到任何导入此私钥的方法。

为了创建 AES 签名者,我见过的唯一解决方案是:

signer = AES.new(privkey_secret_string, AES.MODE_CBC, IV=iv)

但这不使用私钥

dg-vwp

在导入密钥之前,您可以切换到 PyCryptodome 或通过系统调用 openssl 来解密密钥:

echo PASSPHRASE | openssl rsa -in key.pem

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在JAVA或SCALA中使用AES 256 CBC提取enc加密数据?

如何在Delphi中使用AES-256 GCM进行加密

如何在Crypto ++中使用RSA OAEP SHA-256加密/解密数据

如何在dart中使用AES CBC 256位和PKCS5Padding进行加密和解密以及如何检索参数

在节点中使用aes-256-cbc进行加密时出现无效IV长度错误

如何使用OpenSSL在PHP中使用AES-256 CBC加密纯文本?

如何使用rs256算法使用我自己的rsa私钥对字节进行签名?

如何使用CBC实现Java 256位AES加密

如何使用OpenSSL加密/解密AES-256 CBC?

如何在CBC模式和PKCS7填充中解码使用AES-256加密的数据?

如何在Elixir中进行AES-256-ECB加密?

如何在Android中使用256位AES加密

如何使用RSA SHA-256哈希对JWT进行签名

如何使用Dart解密AES 256 CBC

如何在Dart中使用PKCS5填充密钥生成256-AES CBC密钥

如何使用私钥用rsa-sha256签名字符串?

如何在C#中解密JWE源(使用RSA1_5 A256CBC-HS512加密)?

使用rsa私钥对数据签名

在iOS中以256块大小进行AES 256位加密

如何使用python中的RSA私钥加密数据?

仅具有TLS_RSA_WITH_AES_256_CBC_SHA密码套件的自签名SSL证书

如何使用 AES 与 sha256 哈希作为密钥加密 ++ 进行加密

如何在Golang中使用RSA密钥对进行AES加密和解密

使用SHA256摘要进行OpenSSL RSA签名

使用(LibreSSL)libcrypto使用AES-256-GCM进行加密

如何在Linux中不创建未加密文件的情况下读取openssl aes-256-cbc加密文件?

无法于在Java中使用AES-GCM-256加密在解密节点数据

使用Bouncycastle解密AES-256-CBC

数据帧中列的AES 256加密