為什麼 Homebrew 的 openssl 不包含 aes-256-gcm 密碼支援?

為什麼 Homebrew 的 openssl 不包含 aes-256-gcm 密碼支援?

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

相關內容