Jetty Mutual TLS身份验证未找到客户端证书

时间:2018-06-28 08:25:00

标签: java ssl jetty

我有一个在Jetty服务器上运行的客户端实例。我已经加载了自己的CA证书,并且可以在服务器和客户端上使用。在握手期间发送证书请求时,我必须为客户端证书指定完整的颁发者DN,否则客户端无法找到所需的证书。但是我只想在请求中使用CA的CN。

如果我发送

*** CertificateRequest
Cert Types: ECDSA
Supported Signature Algorithms: SHA256withECDSA
Cert Authorities:
<C=IT, O=ORGNAME, OU=OUNAME, CN=TEST_CA>

服务器发送正确的证书,并且身份验证成功,但是,我只想指定所需CA的CN。即

*** CertificateRequest
Cert Types: ECDSA
Supported Signature Algorithms: SHA256withECDSA
Cert Authorities:
<CN=TEST_CA>

使用上述请求,服务器无法找到有效的客户端证书,并继续发送空证书链,并且身份验证失败

1 个答案:

答案 0 :(得分:0)

在深入研究TLS RFC 5246之后,规范说您需要提供专有名称,而我试图提供相对专有名称(即仅一个字段)DN vs RDN

根据RFC,似乎我想做的事是不可能的。希望它能帮助遇到这个问题的人。