2017-03-01 6 views
0

내가 ssl 커넥터로 부두를 세우는 동안 나는 키 스토어 경로를 설정해야한다는 것을 알아 차렸다.howty는 부두 용 java keytool을 사용하여 jks 파일을 작성 /로드합니까?

sslContextFactory.setKeyStorePath(EmbeddedServer.class.getResource("/keystore.jks").toExternalForm()); 

그래서 javas keytool로 keystore.jks 파일을 만들려고했습니다. 다음과 같은 명령을 사용하십시오.

keytool -keystore clientkeystore -genkey -alias client 

그러나 어떻게 든 .jks 파일을 사용하지 않습니다.

누군가이 jks 파일을 생성하는 데 도움을 줄 수 있습니까?

또는 .jks 파일없이 jetty를 설정하기위한 대체 솔루션이 있습니까?

UPDATE :

나는 JKS 파일을 생성 할 수 있었지만 이제 문제는 어떻게 내가 그것을로드합니까? 지금까지

내 코드 : 좋아, 난 내 자신에 의해이 알아 낸

Server server = new Server(); 
ServerConnector connector = new ServerConnector(server); 
connector.setPort(9999); 

HttpConfiguration https = new HttpConfiguration(); 
https.addCustomizer(new SecureRequestCustomizer()); 


SslContextFactory sslContextFactory = new SslContextFactory(); 
sslContextFactory.setKeyStorePath("./resources/server.jks"); 

sslContextFactory.setKeyStorePassword("123456"); 
sslContextFactory.setKeyManagerPassword("123456"); 
+1

JKS 스탠드 Java 키 저장소 용. 이것은 방파제에 특화된 것이 아니며, SSL/TLS를 사용하는 Java 서버 나 클라이언트로 작업 할 때는 반드시 JKS 형식의 키 저장소 파일이 필요합니다. –

답변

1

:

만들기 JKS :

keytool.exe -genkeypair -keystore server.jks 

로드 그것을 :

sslContextFactory.setKeyStorePath("./resources/server.jks"); 
+0

'keytool ... -alias client'를 사용하려면'sslContextFactory.setAlias ​​("client");가 필요합니다. –