第 4 章 配置 HTTPS 加密套件

摘要

本章解释了如何指定提供给客户端和服务器的密码套件列表,以建立 HTTPS 连接。在安全握手过程中,客户端选择一个与服务器可用的密码套件匹配的密码套件。

4.1. 支持的加密套件

概述

密码套件 是安全算法的集合,用于精确地实施 SSL/TLS 连接。

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

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

JCE/JSSE 和安全供应商

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

SunJSSE 供应商

实际上,Apache CXF 的安全功能仅用于 SUN 的 JSSE 供应商(名为 SunJSSE )。

因此,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