com.sun.net.httpserver.HttpsServer 클래스를 사용하여 Java (6)에서 사용자 정의 HTTPS 서버를 빌드하려고합니다. 그것은 클라이언트 인증을 요구할 때까지 잘 작동합니다. 이 시점에서 서버의 SSL 디버그에서 다음 예외가 발생하면 실패합니다.Java6에서 제약 조건 검사 (Netscape cert 유형)를 비활성화하는 방법은 무엇입니까?
sun.security.validator.ValidatorException : 넷스케이프 인증서 유형 I은 우리 내부의 모든 응용 프로그램에 사용되는 내부 CA에서 발급 한 인증서를 사용하고 SSL 클라이언트
에 대한 사용을 허용하지 않습니다. 인증서 세부 정보를 검사하고 그 유형이 "SSL 서버"(아래에 인용 된 세부 정보) 인 것을 발견했습니다. Google의 정책은 모든 내부 애플리케이션에 'SSL 서버'유형을 사용하기 때문에 인증서를 변경하기가 어렵습니다. 클라이언트 용 서버 인증서를 사용하고 싶기 때문에 이것이 보안 문제라고 생각하지 않습니다.
내가 찾고있는 것은 Java에서이 제약 조건 검사를 비활성화하는 방법입니다. 누구든지이 문제를 겪고이 문제를 해결 했습니까? 어떤 도움을 주셔서 감사합니다.
최고 감사합니다, 아룬
Owner: CN=myapp, OU=mygroup, O=mycompany
Issuer: O=MYCA
Serial number: 4cc8c1da
Valid from: Mon Jan 10 13:46:34 EST 2011 until: Thu Jan 10 14:16:34 EST 2013
Certificate fingerprints:
MD5: 8C:84:7F:7A:40:23:F1:B5:81:CD:F9:0C:27:16:69:5E
SHA1: 9B:39:0B:2F:61:83:52:93:D5:58:E5:43:13:7A:8F:E1:FD:AC:98:A4
Signature algorithm name: SHA1withRSA
Version: 3
Extensions:
[1]: ObjectId: 2.5.29.16 Criticality=false
PrivateKeyUsage: [
From: Mon Jan 10 13:46:34 EST 2011, To: Wed Jul 11 21:16:34 EDT 2012]
[2]: ObjectId: 2.5.29.15 Criticality=false
KeyUsage [
DigitalSignature
Key_Encipherment
]
[3]: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: D3 47 35 9B B4 B7 03 18 C6 53 2C B0 FE FD 49 D8 .G5......S,...I.
0010: D0 FB EE 15 ....
]
]
[4]: ObjectId: 1.2.840.113533.7.65.0 Criticality=false
[5]: ObjectId: 2.5.29.31 Criticality=false
CRLDistributionPoints [
[DistributionPoint:
[CN=CRL413, O=SWIFT]
]]
[6]: ObjectId: 2.5.29.19 Criticality=false
BasicConstraints:[
CA:false
PathLen: undefined
]
****[7]: ObjectId: 2.16.840.1.113730.1.1 Criticality=false
NetscapeCertType [
SSL server
]****
[8]: ObjectId: 2.5.29.35 Criticality=false
AuthorityKeyIdentifier [
KeyIdentifier [
0000: 8F AF 56 BC 80 77 A3 FD 9E D2 89 83 98 FE 98 C7 ..V..w..........
0010: 20 65 23 CC e#.
]
]
대단히 감사합니다. 그것은 아주 잘 작동했습니다. 이상적인 솔루션은 CA 정책을 업데이트하는 것이지만, 우회 솔루션을 구축하지 않으면 백개의 시스템에서 내 소프트웨어를 업그레이드 할 때 즉각적인 인증서 갱신이 필요합니다. – Arun
이것은 영원히 지속될 더러운 수정처럼 들립니다. – sjas
@sjas 네, 저는이 책을 읽은 사람이 텍스트를 읽고 단순히 복사하여 붙여 넣기 만하지 않기를 바랍니다. – Bruno