0
GlassFish 응용 프로그램 서버에서 X.509 인증서를 두 개 이상 보유 할 수있는 사람이 누구인지 설명해주십시오. 저의 주요한 도전 과제는 GlassFish가 's1as'라는 별칭 하나만 사용한다는 것입니다.GlassFish 2에서 별도의 인증서를 실행하는 경우
GlassFish 응용 프로그램 서버에서 X.509 인증서를 두 개 이상 보유 할 수있는 사람이 누구인지 설명해주십시오. 저의 주요한 도전 과제는 GlassFish가 's1as'라는 별칭 하나만 사용한다는 것입니다.GlassFish 2에서 별도의 인증서를 실행하는 경우
외부 키 파일에서 추가 인증서를 가져 와서 SSLContext
을 만들고 나서 SSLSocketFactory
을 만들면 외부 HTTPS 호출을 사용할 수 있습니다.
예 :
KeyStore cKeyStore = KeyStore.getInstance("PKCS12");
try (InputStream clientCertKeyInput = new FileInputStream("my.pfx")) {
cKeyStore.load(clientCertKeyInput, "password".toCharArray());
}
KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
keyManagerFactory.init(cKeyStore, "password".toCharArray());
SSLContext sslCtx = SSLContext.getInstance("TLS");
sslCtx.init(keyManagerFactory.getKeyManagers(),
null, // default javax.net.ssl.trustStore
new SecureRandom());
SSLSocketFactory sslSocketFactory = sslCtx.getSocketFactory();
당신은 그때와 함께 HttpsURLConnection
을 구성 할 수 있습니다 :
httpsConn.setSSLSocketFactory(sslSocketFactory);
을 아니면 잭스 - WS를 사용하는 경우는 BindingProvider
의 컨텍스트의 속성으로 설정 :
Map<String, Object> ctxt = ((BindingProvider) port).getRequestContext();
ctxt.put(JAXWSProperties.SSL_SOCKET_FACTORY, sslSocketFactory);
희망이 도움이됩니다.
사용할 추가 인증서의 목적을 자세히 설명 할 수 있습니까? SSL 클라이언트 인증서로 사용합니까? – TheArchitect
물론, 저는 GlassFish에 몇 가지 서비스를 제공하고 있습니다. 이 서비스는 SSL 인증을 요구하는 다른 외부 서비스를 호출하므로 추가 인증서가 필요합니다. – isaiah