我正在尝试使用内置类com.sun.net.httpserver.HttpsServer在Java(6)中构建自定义HTTPS服务器。在不需要客户端认证的情况下,一切顺利。但是,在需要客户端认证时,服务器的SSL调试中会出现以下异常:sun.security.validator.ValidatorException: Netscape cert type does not permit use for SSL client。
我正在使用我们内部CA颁发的证书,该证书用于我们所有内部应用程序。我检查了证书详细信息,并发现类型为“SSL服务器”(下面引用了详细信息)。由于我们的政策是为所有内部应用程序使用“SSL服务器”类型,因此更改证书很困难。由于我想将服务器证书用于客户端,我不认为这是一个安全问题。
我正在寻找一种方法来禁用Java中的此约束检查。有人遇到过这个问题并解决了吗?任何帮助都将不胜感激。 最好的问候, Arun
我正在使用我们内部CA颁发的证书,该证书用于我们所有内部应用程序。我检查了证书详细信息,并发现类型为“SSL服务器”(下面引用了详细信息)。由于我们的政策是为所有内部应用程序使用“SSL服务器”类型,因此更改证书很困难。由于我想将服务器证书用于客户端,我不认为这是一个安全问题。
我正在寻找一种方法来禁用Java中的此约束检查。有人遇到过这个问题并解决了吗?任何帮助都将不胜感激。 最好的问候, Arun
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#.
]
]