com.sun.grizzly.SSLConfig.setKeyStoreFile()을 사용하여 Grizzly에 SSL을 설정하려고합니다. 입력 (InputStream 또는 File이 아님)으로 String을 사용합니다. JAR 파일 내에있는 jks 파일을 사용하고 싶습니다. jar 경로 (예 : C : \ dir \ my.jar! \ resources \ my.jks)에 문자열을 전달하면 실패합니다. JAR에서 파일을 압축 해제하는 것 이외에, 어떻게 그 JKS를 그리즐리 용으로 사용할 수 있습니까?Grizzly의 키 저장소에서 jar 파일의 jks를 사용하도록 설정
1
A
답변
3
파일 이름 이외의 것을 전달할 수있는 것으로 보이지 않습니다. source을보고 validateConfiguration()
및 createSSLContext()
메서드를 보면 keyStoreFile
변수를 FileInputStream
생성자에 직접 전달하고 있음을 알 수 있습니다.
단기간에 압축을 풀면 직접 파일 이름이 사용됩니다. 또는 위에 나열된 두 가지 메소드를 대체하여 SSLContext의 유효성을 올바르게 검증하고 초기화 할 수 있습니다. 장기적으로, 나는 패치를 제출할 것이다.
2
@ Kevin의 아이디어가 작동했습니다. 회색 - 서블릿 웹 서버 1.9.8를 사용하여, 여기에 내 코드입니다 :
SSLConfig ssl = new SSLConfig(){
@Override
public SSLContext createSSLContext() {
try{
//Load the keystore.
KeyStore keyStore=KeyStore.getInstance(KeyStore.getDefaultType());
InputStream keyStream=ClassLoader.getSystemResourceAsStream("my.jks");
//InputStream keyStream=new java.net.URL("jar:file:/C:/dir/my.jar!/my.jks").openStream();
keyStore.load(keyStream,"mypassword");
keyStream.close();
//Create the factory from the keystore.
String kmfAlgorithm=System.getProperty("ssl.KeyManagerFactory.algorithm",KeyManagerFactory.getDefaultAlgorithm());
KeyManagerFactory keyManagerFactory=KeyManagerFactory.getInstance(kmfAlgorithm);
keyManagerFactory.init(keyStore,"mypassword");
//Create the SSLContext
SSLContext sslContext=SSLContext.getInstance("TLS");
sslContext.init(keyManagerFactory.getKeyManagers(), null, null);
return sslContext;
}
//Wrap all Exceptions in a RuntimeException.
catch(Exception e){
throw new RuntimeException(e);
}
}
};
내가 (등, 여러 문자열 상수를 사용하여 예외를 기록하지 않음) 몇 가지 단축키를했다,하지만 당신은 아이디어를 얻을 수 있습니다.
관련 문제
- 1. Jar 파일의 아이콘 이미지 설정
- 2. jar 파일의 이미지 최적화
- 3. .JAR 파일의 아이콘 변경
- 4. Jar 파일의 리팩터링 패키지
- 5. ssh에 대해 지정된 포트를 사용하도록 원격 설정
- 6. Dell Streak : Eclipse에서 사용하도록 설정
- 7. jar 파일의 리소스를 사용 하시겠습니까?
- 8. JAR 파일의 무결성을 확인 하시겠습니까?
- 9. jar 파일의 매니페스트에있는 주석 행
- 10. Zip/Jar 파일의 이진 차이
- 11. (런타임시) JAR 파일의 내용을 읽으십니까?
- 12. jar 파일의 실행시의 Java FileNotFoundException
- 13. 업스트림 저장소에서 파일의 복사본을 얻는 방법은 무엇입니까?
- 14. jar 실행 중 classpath 설정
- 15. .class 파일/s를 .jar 파일의 .jar 파일로 변환합니다.
- 16. 다른 jar 파일의 jar 파일에서 특성 파일을 가져 오려고 시도합니다.
- 17. git : 공용 저장소에서 단일 추적 원격 설정
- 18. Pl/Java의 클래스 패스에 JAR 설정 문제
- 19. joda-time 1.6.2 maven 중앙 저장소에서 jar 파일을 다운로드하지 않습니다.
- 20. CodeIgniter 설정 파일의 국제화?
- 21. 설정 내 파일의 상단에
- 22. 네트워크에있는 파일의 속성 설정
- 23. WITH_OBJECT_HEADERS에서 Dalvik의 GC를 사용하도록 설정 했습니까?
- 24. OpenGL 4.1을 사용하도록 VisualC++를 설정 하시겠습니까?
- 25. AutocompleteExtender의 값을 사용하도록 TargetControl Textbox 강제 설정
- 26. MediaElement.js - Chrome에서 플래시 플레이어를 사용하도록 설정 하시겠습니까?
- 27. CMD를 MySQL과 함께 사용하도록 설정 하시겠습니까?
- 28. VirtualEnv를 사용하도록 Apache 및 Python WSGI 설정
- 29. SQLite 외래 키 설정
- 30. 문제점 외래 키 설정