2

我有 2 个看似相同的 glassfish 安装(使用相同的安装程序安装,相同的操作系统 - SLES 11 SP2 - 具有相同的安装包和更新,相同的 JRE/JDK,相同的 Web 应用程序以相同的方式部署,相似的密钥库 - 不同的 PK,相同获取/签名等方法),但是,这两个安装有 2 组不同的可用密码套件。我相信这会导致服务器 A 在访问应用程序时给出“服务器具有弱的、短暂的 Diffie-Hellman 公钥”错误。

服务器 A:

Available Common Ciphersuites:
        SSL_RSA_WITH_RC4_128_MD5
        SSL_RSA_WITH_RC4_128_SHA
        TLS_RSA_WITH_AES_128_SHA
        SSL_RSA_WITH_3DES_EDE_CBC_SHA

    Available Ephemeral Diffie-Hellman Ciphersuites:
        TLS_DHE_RSA_WITH_AES_128_CBC_SHA
        SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
        TLS_DHE_DSS_WITH_AES_128_CBC_SHA
        SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA

    Available 40 bit and 56 bit Ciphersuites:
        SSL_WITH_DES_CBC_SHA
        SSL_DHE_RSA_WITH_DES_CBC_SHA
        SSL_DHE_DES_WITH_DES_CBC_SHA
        SSL_RSA_EXPORT_WITH_RC4_40_MD5
        SSL_RSA_EXPORT_WITH_DES40_CBC_SHA
        SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
        SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA

    Available ECC Ciphersuites:
    none

服务器 B:

Available Common Ciphersuites:
        TLS_RSA_WITH_AES_128_CBC_SHA
        SSL_RSA_WITH_RC4_128_SHA
        SSL_RSA_WITH_3DES_EDE_CBC_SHA
        SSL_RSA_WITH_RC4_128_MD5

    Available Ephemeral Diffie-Hellman Ciphersuites:
        TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
        TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
        TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
        TLS_DHE_RSA_WITH_AES_128_CBC_SHA
        TLS_ECDHE_RSA_WITH_RC4_128_SHA
        TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
        SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
        TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
        TLS_DHE_DSS_WITH_AES_128_CBC_SHA
        SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA

    Available 40 bit and 56 bit Ciphersuites:
        none

    Available ECC Ciphersuites:
        TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
        TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
        TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
        TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
        TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
        TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
        TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
        TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
        TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
        TLS_ECDHE_RSA_WITH_RC4_128_SHA
        TLS_ECDH_ECDSA_WITH_RC4_128_SHA
        TLS_ECDH_RSA_WITH_RC4_128_SHA
        TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
        TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
        TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
        TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
        TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
        TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
        TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
        TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
        TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
        TLS_ECDHE_RSA_WITH_RC4_128_SHA
        TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
        TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA

什么可能导致可用密码套件出现这种差异?

4

1 回答 1

1

事实证明asenv.conf({glassfish 安装}/config/asenv.conf) 正在定义AS_JAVA=...,而 glassfish 正在使用它而不是路径和 JAVA_HOME 中定义的 java 版本。指向AS_JAVA正确的 jre 解决了这个问题。

于 2015-10-27T19:17:00.443 回答