首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >经过身份验证的加密和OpenSSL密钥

经过身份验证的加密和OpenSSL密钥
EN

Stack Overflow用户
提问于 2018-05-31 05:56:27
回答 1查看 845关注 0票数 0

因此,主要问题是“我是否可以使用经过身份验证的加密来存储OpenSSL私钥(特别是RSA密钥)?”

OpenSSL支持广泛的密钥加密选项,但是其中许多选项似乎只支持作为输出,而不支持作为输入。例如,openssl genrsa -aes256可以很好地工作,并创建一个您可以解密并在以后使用的密钥(但使用的是CBC模式),但是如果您使用openssl genrsa -aes-256-gcm,则OpenSSL不能使用生成的密钥。确切的错误消息似乎因版本而异,最新的1.1.0h提供:

代码语言:javascript
复制
root@cb772d20894d:/# openssl genrsa -aes-256-gcm | openssl rsa
Generating RSA private key, 2048 bit long modulus
.................................................+++
................................................+++
e is 65537 (0x010001)
Enter pass phrase:
Verifying - Enter pass phrase:
Enter pass phrase:
unable to load Private Key
139772421357760:error:0906A065:PEM routines:PEM_do_header:bad decrypt:../crypto/pem/pem_lib.c:445:

而较旧的版本甚至不会走得那么远,因为:

代码语言:javascript
复制
140678952371864:error:0906B072:PEM routines:PEM_get_EVP_CIPHER_INFO:unsupported encryption:pem_lib.c:544:

aes-256-ocbaes-256-ccm也显示了相同的错误。我想这就是所有可用的认证密码了?也许我在OpenSSL中的某个地方错过了允许这样做的选项?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-31 08:02:42

对OpenSSL代码的一些探索表明,EVP key加密层不理解auth标记,因此它们只是被丢弃,而不是像人们预期的那样存储在IV中。因此,目前没有AEAD密码与密钥加密系统一起工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50613896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档