我已经openssl
通过 Homebrew 在 Mac 上安装了最新版本(macOS Big Sur 11.5.2)。但它aes-256-gcm
突然不支持密码了。
$ /usr/local/opt/[email protected]/bin/openssl enc -ciphers | grep aes-
-aes-128-cbc -aes-128-cfb -aes-128-cfb1
-aes-128-cfb8 -aes-128-ctr -aes-128-ecb
-aes-128-ofb -aes-192-cbc -aes-192-cfb
-aes-192-cfb1 -aes-192-cfb8 -aes-192-ctr
-aes-192-ecb -aes-192-ofb -aes-256-cbc
-aes-256-cfb -aes-256-cfb1 -aes-256-cfb8
-aes-256-ctr -aes-256-ecb -aes-256-ofb
$ /usr/local/opt/[email protected]/bin/openssl version
OpenSSL 1.1.1l 24 Aug 2021
我如何启用密码?为什么它不包含在软件包中?
答案1
我找到了问题的原因。它描述在openssl 文档。
此命令不支持 CCM 和 GCM 等经过身份验证的加密模式,将来也不会支持此类模式。这是因为必须开始流式输出(例如,在以下情况下流式输出到标准输出):-出去未使用)才能验证身份验证标签。当此命令在管道中使用此命令时,接收端将无法在身份验证失败时回滚。当前常用的 AEAD 模式在重用 key/iv/nonce 时也会遭受机密性和/或完整性的灾难性故障,并且由于openssl 加密将 key/iv/nonce 管理的全部负担都放在用户身上,暴露 AEAD 模式的风险太大,不容允许。这些 key/iv/nonce 管理问题也会影响此命令中当前暴露的其他模式,但这些情况下的故障模式不那么严重,并且无法通过稳定版本分支删除该功能。