第 4 章 在 JBoss EAP 客户端中使用 Elytron 客户端默认 SSLcontext 安全供应商
要使 Java 虚拟机(JVM)使用 Elytron 客户端配置来提供默认的 SSLcontext,您可以使用 WildFlyElytronClientDefaultSSLContextProvider。使用此提供程序使客户端库在请求默认的 SSLContext 时自动使用 Elytron 客户端配置。
4.1. Elytron 客户端默认 SSL 上下文安全供应商 复制链接链接已复制到粘贴板!
Elytron 客户端提供了一个 Java 安全供应商 org.wildfly.security.auth.client.WildFlyElytronClientlytronClientDefaultSSLContextProvider,您可以使用它来注册 Java 虚拟机(JVM)范围的默认 SSL 上下文。
WildFlyElytronClientDefaultSSLContextProvider 提供程序的工作方式如下:
当调用
方法时,提供程序会实例化 SSLContext。SSLContext.getDefault ()SSLContext从从以下位置之一获取的身份验证上下文启动:- Elytron 客户端配置文件作为参数传递给提供程序。
文件系统中自动发现
wildfly-config.xml文件。如需更多信息,请参阅 默认配置方法。作为参数传递给提供程序的客户端配置文件具有优先权。
当调用
SSLContext.getDefault ()方法时,JVM 会返回提供程序实例化的SSLContext。由于 Elytron 客户端可以配置多个 SSL 上下文,因此规则用于为连接选择一个 SSL 上下文。默认 SSL 上下文是匹配所有规则的 SSL 上下文。提供程序返回此默认 SSL 上下文。
如果没有配置默认 SSLContext,或者没有配置,则忽略该提供程序。
当您注册 WildFlyElytronClientDefaultSSLContextProvider 提供程序时,所有使用 SSLContext.getDefault () 方法的客户端库都使用 Elytron 客户端配置,而无需在代码中使用 Elytron 客户端 API。
要注册供应商,您必须对以下工件添加运行时依赖项:
-
wildfly-elytron-client -
wildfly-client-config
您可以在客户端代码中以编程方式、或以静态方式在 java.security 文件中注册提供程序。当您要动态决定使用哪些供应商时,请使用编程注册。
以编程方式注册提供程序
您可以以编程方式在客户端代码中注册供应商,如下所示:
Security.insertProviderAt(new WildFlyElytronClientDefaultSSLContextProvider(CONFIG_FILE_PATH), 1);
Security.insertProviderAt(new WildFlyElytronClientDefaultSSLContextProvider(CONFIG_FILE_PATH), 1);
以静态方式注册供应商
您可以在 java.security 文件中注册供应商,如下所示:
security.provider.1=org.wildfly.security.auth.client.WildFlyElytronClientDefaultSSLContextProvider <CONFIG_FILE_PATH>
security.provider.1=org.wildfly.security.auth.client.WildFlyElytronClientDefaultSSLContextProvider <CONFIG_FILE_PATH>