如何将 AES 密钥包装密码与 OpenSSL 命令行实用程序结合使用?

如何将 AES 密钥包装密码与 OpenSSL 命令行实用程序结合使用?

当您运行该命令时,openssl enc -ciphers会打印受支持的密码列表。在 OpenSSL 实用程序的最新版本中,密码 -id-aes256-wrap、-id-aes256-wrap-pad 和 -aes256-wrap 出现在该列表中。我相信这些是 RFC3394 和 RFC5649 中指定的 AES 密钥包装算法的实现。当我使用它们来包装 256 位密钥时,如下所示,我收到错误...

openssl enc -id-aes256-wrap -in test.key -out test.key.wrp

Error setting cipher id-aes256-wrap
140403454670488:error:0607B0AA:digital envelope routines:EVP_CipherInit_ex:wrap mode not allowed:evp_enc.c:218:

当我搜索错误“不允许换行模式”时,我发现此留言板文本讨论如何设置一些特殊标志。但讨论与使用 openssl 库的 C API 相关。是否可以使用 openssl enc 实用程序中的这些密钥包装密码?如果可以,如何使用?

答案1

您运行的是哪个版本?

https://github.com/openssl/openssl/issues/2485 转向 https://github.com/openssl/openssl/issues/2486

问题是,它在 2017 年 2 月不起作用,除非你的 openssl 版本比那个版本更新,而且你很幸运,它可能会起作用......但我找不到报告为已修复的问题,所以我怀疑它是否有效最新和最好的。

简而言之,恭喜您发现了一个错误 - 我建议您报告它。他们有很多错误需要解决,如果没有人报告这一点,那么他们修复它的机会就很低(为什么要修复一个没有人使用或抱怨的功能)。

相关内容