2.5.3. TLS 注意事项
作为保密信息被交换,所有交互都应使用 TLS (HTTPS)加密。此外,FAPI 规格中有一些要求,适用于密码套件和 TLS 协议版本。要满足这些要求,您可以考虑配置允许的密码。此配置可以在 Elytron 子系统中的 KEYCLOAK_HOME/standalone/configuration/standalone-*.xml 文件中完成。例如,这个元素可以在 tls server-ssl-contexts下添加
<server-ssl-context name="kcSSLContext" want-client-auth="true" protocols="TLSv1.2" \ key-manager="kcKeyManager" trust-manager="kcTrustManager" \ cipher-suite-filter="TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" protocols="TLSv1.2" />
<server-ssl-context name="kcSSLContext" want-client-auth="true" protocols="TLSv1.2" \
key-manager="kcKeyManager" trust-manager="kcTrustManager" \
cipher-suite-filter="TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" protocols="TLSv1.2" />
对 kcKeyManager 和 kcTrustManager 的引用指的是对应的 Keystore 和 Truststore。详情请查看 Wildfly Elytron 子系统的文档,以及 Red Hat Single Sign-On 文档(如 网络设置 部分或 X.509 身份验证 部分)的其他部分。