A.41. 配置 JBoss EAP 使用 OpenSSL

您可以通过多种方式将 JBoss EAP 配置为使用 OpenSSL:

  • 您可以重新配置 elytron 子系统,使其默认在所有情形中都使用 OpenSSL 优先级。

    注意

    虽然 elytron 子系统中安装了 OpenSSL,但它不是默认的 TLS 提供程序。

    /subsystem=elytron:write-attribute(name=initial-providers, value=combined-providers)
    /subsystem=elytron:undefine-attribute(name=final-providers)
    
    reload
  • elytron 子系统中,也可以在 ssl-context 资源上指定 OpenSSL 提供程序。这样,可以分案例选择 OpenSSL 协议,而不使用默认优先级。

    要创建 ssl-context 资源并在基于 Elytron 的 SSL/TLS 配置中使用 OpenSSL 库,请使用以下命令:

    /subsystem=elytron/server-ssl-context=httpsSSC:add(key-manager=localhost-manager, trust-manager=ca-manager, provider-name=openssl)
    
    reload
  • 在旧 安全 子系统 SSL/TLS 配置中使用 OpenSSL 库:

    /core-service=management/security-realm=ApplicationRealm/server-identity=ssl:write-attribute(name=protocol,value=openssl.TLSv1.2)
    
    reload

    可以使用的不同 OpenSSL 协议:

    • openssl.TLS
    • openssl.TLSv1
    • openssl.TLSv1.1
    • openssl.TLSv1.2

JBoss EAP 将自动尝试搜索系统上的 OpenSSL 库并使用它们。您还可以在 JBoss EAP 启动过程中使用 org.wildfly.openssl.path 属性来指定自定义 OpenSSL 库位置。仅支持 OpenSSL 库版本 1.0.2 或 JBoss Core Services 提供的更高版本。

如果正确加载 OpenSSL,您将在 JBoss EAP 启动过程中在 server.log 中看到一条消息,类似于:

15:37:59,814 INFO [org.wildfly.openssl.SSL] (MSC service thread 1-7) WFOPENSSL0002 OpenSSL Version OpenSSL 1.0.2k-fips 23 Mar 2017