我有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解密解密原始文件。