我已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 管理問題也會影響此命令中目前公開的其他模式,但在這些情況下,故障模式不太極端,並且無法透過穩定的發布分支刪除該功能。