使用OpenSSL解密混合加密(AES + PKI)

时间:2017-04-04 21:28:16

标签: openssl aes rsa openssh

我有OpenSSH格式的公钥和私钥。我的公钥以ssh-rsa AAAA开头,我的私钥以-----BEGIN RSA PRIVATE KEY-----MIIEow开头;只是为了让您了解密钥格式。

我有一个python脚本,它使用外部库来执行混合加密。这个过程如下:

输入:File To Encrypt and RSA Public Key --> Python Script

输出:Encrypted File and AES Key File。使用上面的RSA公钥再次加密此AES密钥文件。

基本上,python脚本生成一个随机哈希,并将其用作对称密钥,将文件加密为AES,并再次使用提供的RSA密钥将AES密钥加密到文件中。

真正的问题是,我正在尝试对我的python脚本进行故障排除,并且我正在尝试使用OpenSSL工具来测试解密部分。我在某处读到了我需要一个.pem密钥,所以我改变了我现有的密钥:

openssl rsa -in ~/.ssh/id_rsa.private -outform pem > id_rsa.pem

然后我会在此之后从文件中提取出AES密钥并收到此错误:

openssl rsautl -decrypt -inkey id_rsa.pem -in aes.key -out key.bin
RSA operation error
86144:error:0407109F:rsa routines:RSA_padding_check_PKCS1_type_2:pkcs decoding error:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-59.60.1/src/crypto/rsa/rsa_pk1.c:267:
86144:error:04065072:rsa routines:RSA_EAY_PRIVATE_DECRYPT:padding check failed:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-59.60.1/src/crypto/rsa/rsa_eay.c:614:

我是否以某种方式使用OpenSSL工具?我必须有.pem个文件吗?在考虑提供sugegstions时,请建议我如何使用解密的AES密钥再次使用AES解密解密原始文件。

0 个答案:

没有答案