这与我在此问题中所做的相反-https: //crypto.stackexchange.com/questions/21021/encryption-and-hmac-in-a-pskc-file
规格位于https://tools.ietf.org/rfc/rfc6030.txt
数据/种子使用AES-128-CBC和密钥以及IV加密。IV放在加密数据的前面,整个内容以base-64编码并存储在CipherValue字段中。
我有(这是我有一个示例pskc文件,而不是RFC)。
CipherValue/EncryptedText = v5dgOiUq1Hgja0g1SI9VpcHu81DLdcDqT8C3+k8wlQtk5KL1KErwojxLPSNO8lZt
Encryption Key = E9C1E401122EE194D620465A775D9C97
Algo = AES-128-CBC
我需要从中获取解密的数据
这就是我在做什么
我将CipherValue存储在名为cv的文件中。
openssl base64 -d -A < cv > cv.bin
我得到一个48字节的cv.bin
我分成两部分
iv.bin = 16 bytes
data.bin = 32 bytes
我将iv.bin转换为十六进制
xxd -p < iv.bin
bf97603a252ad478236b4835488f55a5
所以我的
iv = bf97603a252ad478236b4835488f55a5
我将密钥转换为十六进制
我有一个文件调用k.b64,其中包含 E9C1E401122EE194D620465A775D9C97
openssl base64 -d -A < k.b64 > k.bin
xxd -p < k.bin
13d0b5138d35d76d84135f780fadb4e3ae40efbe43f42f7b
key = 13d0b5138d35d76d84135f780fadb4e3ae40efbe43f42f7b
现在我解密
openssl enc -aes-128-cbc -d -K 13d0b5138d35d76d84135f780fadb4e3ae40efbe43f42f7b -iv bf97603a252ad478236b4835488f55a5 < data.bin
我收到以下错误
▓\=Bt═┐|)éïh│■ìcbad decrypt
62008:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:.
\crypto\evp\evp_enc.c:539:
我在这里做错了什么?