第 4 章 配置 HTTPS Cipher Suites

摘要

本章介绍了如何指定客户端和服务器可用的密码套件列表,以建立 HTTPS 连接。在安全握手期间,客户端选择与服务器可用的其中一个密码套件匹配的加密套件。

4.1. 支持的 Cipher Suites

概述

密码套件 是安全算法的集合,它决定了如何实施 SSL/TLS 连接。

例如,SSL/TLS 协议要求使用消息摘要算法签名的消息。但是,选择摘要算法由用于连接的特定密码套件决定。通常,应用程序可选择 MD5 或 SHA 摘要算法。

Apache CXF 中可用于 SSL/TLS 安全性的密码套件取决于端点上指定的 JSSE 供应商

JCE/JSSE 和安全供应商

Java Cryptography Extenss(JCE)和 Java 安全套接字扩展(JSSE)组成了一个可插拔框架,允许您将 Java 安全实施替换为任意第三方工具包(称为 安全供应商 )。

SunJSSE 供应商

在实践中,只有 SUN 的 JSSE 提供商名为 SunJSSE,对 Apache CXF 的安全功能进行了测试。

因此,Apache CXF 中的 SSL/TLS 实现和 Apache CXF 中的可用密码套件列表有效由 SUN 的 JSSE 供应商中提供的。

SunJSSE 支持的密码套件

J2SE 1.5.0 Java 开发套件中的 SUN 的 JSSE 供应商支持以下密码套件(请参阅 SUN 的 JSSE 参考指南 的附录 A ):

  • 标准密码:

    SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
    SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
    SSL_DHE_DSS_WITH_DES_CBC_SHA
    SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
    SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
    SSL_DHE_RSA_WITH_DES_CBC_SHA
    SSL_RSA_EXPORT_WITH_DES40_CBC_SHA
    SSL_RSA_EXPORT_WITH_RC4_40_MD5
    SSL_RSA_WITH_3DES_EDE_CBC_SHA
    SSL_RSA_WITH_DES_CBC_SHA
    SSL_RSA_WITH_RC4_128_MD5
    SSL_RSA_WITH_RC4_128_SHA
    TLS_DHE_DSS_WITH_AES_128_CBC_SHA
    TLS_DHE_DSS_WITH_AES_256_CBC_SHA
    TLS_DHE_RSA_WITH_AES_128_CBC_SHA
    TLS_DHE_RSA_WITH_AES_256_CBC_SHA
    TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5
    TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA
    TLS_KRB5_EXPORT_WITH_RC4_40_MD5
    TLS_KRB5_EXPORT_WITH_RC4_40_SHA
    TLS_KRB5_WITH_3DES_EDE_CBC_MD5
    TLS_KRB5_WITH_3DES_EDE_CBC_SHA
    TLS_KRB5_WITH_DES_CBC_MD5
    TLS_KRB5_WITH_DES_CBC_SHA
    TLS_KRB5_WITH_RC4_128_MD5
    TLS_KRB5_WITH_RC4_128_SHA
    TLS_RSA_WITH_AES_128_CBC_SHA
    TLS_RSA_WITH_AES_256_CBC_SHA
  • null 加密,仅限完整性的密码:

    SSL_RSA_WITH_NULL_MD5
    SSL_RSA_WITH_NULL_SHA
  • 匿名 Diffie-Hellman 密码(无身份验证):

    SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA
    SSL_DH_anon_EXPORT_WITH_RC4_40_MD5
    SSL_DH_anon_WITH_3DES_EDE_CBC_SHA
    SSL_DH_anon_WITH_DES_CBC_SHA
    SSL_DH_anon_WITH_RC4_128_MD5
    TLS_DH_anon_WITH_AES_128_CBC_SHA
    TLS_DH_anon_WITH_AES_256_CBC_SHA

JSSE 参考指南

有关 SUN 的 JSSE 框架的更多信息,请参阅 JSSE 参考指南,访问以下位置:

http://download.oracle.com/javase/1.5.0/docs/guide/security/jsse/JSSERefGuide.html