2016-11-26 7 views
2
System.setProperty("com.sun.net.ssl.checkRevocation", "true"); 
Security.setProperty("ocsp.enable", "true"); 

OCSP를 사용하려면 이러한 속성을 실제로 설정해야합니까?X509TrustManager에서 OCSP를 활성화하는 방법은 무엇입니까?

그렇다면이 속성을 설정하는 대신 탄력성 OCSP 지원이 필요한 이유는 무엇입니까?

+0

[this] (https://stackoverflow.com/questions/34140869/ocsp-check-in-java-secure-sockets) 체크 아웃 했습니까? – Hmmmmm

+0

예,하지만 맞춤형 신뢰할 수없는 솔루션입니다. 표준 방식의 작업이 필요합니다 (예 : 이미 Java에서 제공하는 일부 클래스) – mdavid

+0

두 가지 질문을 하나도하지 마십시오. HostNameVerifier로 OCSP 확인을 수행하는 것이 유효한 경우 새로운 질문을 제기하십시오. –

답변

3

기관 정보 액세스 확장 (OCSPSigning)를 포함하는 인증서를 다음 다음 더 많은 일을 당신이 언급 한 속성을 설정하기 위해 아무것도하지 마십시오.

System.setProperty("com.sun.net.ssl.checkRevocation", "true"); 
Security.setProperty("ocsp.enable", "true"); 

RFC3280 및 자세한 내용은 How to up OCSP using OpenSSL 참조하십시오. 당신의 CA는 다음 속성

기본적으로
Security.property("ocsp.responderURL", ...) 

을 설정하여 응답자의 URL을 구성 할 수 발급 된 인증서에이 확장을 제공하지 않는 경우

, OCSP 응답자의 위치에서 암시 적으로 결정된다 인증서의 유효성을 검사하는 중입니다. 이 속성은 기관 정보 액세스 확장 (RFC 3280에 정의되어 있음)이 인증서에 없거나 재정의가 필요할 때 사용됩니다.

하여 OCSP 응답자의 증명서는 다음 기본적으로

Security.property("ocsp.responderCertSubjectName", ...); 

를 설정하여 다른 주체 이름을 설정할 수 발급자의 인증서와 일치하지 않는 경우, OCSP 응답자의 증명서입니다 유효성이 검증되는 인증서 발급자의 인증서. 이 속성은 기본값이 적용되지 않을 때 OCSP 응답자의 인증서를 식별합니다. 이 값은 RFC 2253에 정의 된 문자열 고유 이름으로, cert 경로 유효성 검사 중에 제공된 인증서 집합의 인증서를 식별합니다. 주체 이름만으로 인증서를 고유하게 식별하기에 충분하지 않은 경우 대신 ocsp.responderCertIssuerName 및 ocsp.responderCertSerialNumber 속성을 모두 사용해야합니다. th 속성이 설정되면 두 속성은 무시됩니다.

OCSP를 구성하는 데 사용할 수있는 모든 속성에 대한 설명은 JavaTM PKI Programmer's Guide을 참조하십시오.


우리는 왜 대신이 속성을 설정의 탄력이 성 OCSP 지원이 필요?

보안 성이 뛰어나고 성을 사용해야한다는 말은 없습니다. 기본 sun JCE를 사용하는 것은 최소한 JRE 1.8을 사용하는 경우에는 문제가 없습니다.

+0

그리고 현상금 성은 어떨까요 ...? – mdavid

+0

@ mdavid 내 업데이트 된 답변을 참조하십시오. –

+0

JRE 1.7 및 바운티 성은 어떨까요? 또한 정확히 어디에 내 TrustManager 구현에 줄을 넣어야합니까? – mdavid