2011-11-09 3 views
2

SSL 협상 중에 Tomcat이 제공하는 인증서를 프로그래밍 방식으로 제어 할 수 있습니까? 인증서가 비 JKS 형식으로되어 있고 현재 PKCS # 12로 내보내 져 Tomcat에서로드했습니다.Tomcat이 제공하는 SSL 인증서를 프로그래밍 방식으로 제어

Tomcat이 실행되는 동안 제시된 인증서를 업데이트 할 수 있기를 원하지만 재발행과 재시작이 필요하므로 피해야합니다.

사용자 정의 인증서를로드/덮어 쓰기/업데이트하는 데 사용할 수있는 프로그래밍 방식의 톰캣이 있는지 아는 사람이 있습니까?

감사합니다.

답변

3

전체 Tomcat에서 인증서 핫 스왑을 사용할 수 없다고해서 웹 응용 프로그램의 코드가 API를 통해 컨테이너 구성에 액세스하는 것을 허용하지 않습니다. 그러나 당신이 embedded mode에서 Tomcat을 실행한다면 그것을 할 수 있습니다. 컨테이너에서 이전 HTTP 커넥터를 제거하고 다른 커넥터로 새 커넥터를 만들고 초기화 한 다음 컨테이너에 추가해야합니다.

톰캣 6에서이 같이 될 것이다 :

// your startup code 
Embedded embedded = new Embedded(); 
// setup context, host, executor etc. 
// ... 
// your reload certificate API call 
Connector con = createAndInitMyNewConnector(); 
embedded.removeConnector(oldCon); 
embedded.addConnector(con); 

내가 직접 그것을 시도하지 않은,하지만 작동합니다.

관련 문제