Envoy 错误 - 以下密码在单独尝试时被拒绝:TLS_AES_128_GCM_SHA256

Enovy error - The following ciphers were rejected when tried individually: TLS_AES_128_GCM_SHA256

istio 1.5.1 中,当我尝试使用以下语法将特定密码套装添加到 gatewaytls 部分时:

      minProtocolVersion: TLSV1_3
      mode: SIMPLE
      cipherSuites: [TLS_AES_128_GCM_SHA256]

我在 istio-ingress pod 的日志中收到以下错误:

[Envoy (Epoch 0)] [2020-06-08 15:15:44.033][22][warning][config] [external/envoy/source/common/config/grpc_subscription_impl.cc:87]
gRPC config for type.googleapis.com/envoy.api.v2.Listener rejected: 
Error adding/updating listener(s) 0.0.0.0_443: Failed to initialize cipher suites TLS_AES_128_GCM_SHA256.
The following ciphers were rejected when tried individually: TLS_AES_128_GCM_SHA256

如果我从 tls 部分删除 cipherSuites 行,则没有错误,并且相同的密码组出现在有效密码组列表中。

有什么建议吗?谢谢

据我在 envoy 签到 documentation And BoringSSL documentation

TLS 1.3 ciphers do not participate in this mechanism and instead have a built-in preference order. Functions to set cipher lists do not affect TLS 1.3, and functions to query the cipher list do not include TLS 1.3 ciphers.


cipher_suites

If specified, the TLS listener will only support the specified cipher list when negotiating TLS 1.0-1.2 (this setting has no effect when negotiating TLS 1.3). If not specified, the default list will be used.

In non-FIPS builds, the default cipher list is:

[ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
[ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
ECDHE-ECDSA-AES128-SHA
ECDHE-RSA-AES128-SHA
AES128-GCM-SHA256
AES128-SHA
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES256-SHA
ECDHE-RSA-AES256-SHA
AES256-GCM-SHA384
AES256-SHA

In builds using BoringSSL FIPS, the default cipher list is:

ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-SHA
ECDHE-RSA-AES128-SHA
AES128-GCM-SHA256
AES128-SHA
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES256-SHA
ECDHE-RSA-AES256-SHA
AES256-GCM-SHA384
AES256-SHA

另外看看这个github issue.