On Tue, 2018-02-20 at 22:51 +0100, Andy Signer wrote:
> Hi everyone,
> 
> Last week I ran into certificate verification error with
> httpcomponents-client 4.5.3. A certificate was rejected with the
> following message:
> 
> javax.net.ssl.SSLPeerUnverifiedException: Certificate for
> <www.company.com> doesn't match any of the subject alternative names:
> [em...@example.com]
> 
> After some investigation I found that the certificate was rejected
> because the commonName is ignored when there is a subjectAltName
> entry
> present (see [HTTPCLIENT-1802]). The certificate is a bit special
> because there is just one email address in the subjectAltName,
> nothing
> else.
> 

HttpClient (both 4.x and 5.x) has been revised for compliance with RFC
2818 only. RFC 2818 is pretty clear about host name verification based
on certificate Common Name attribute being deprecated. 


RFC 2818

---

3.1.  Server Identity
...

   If a subjectAltName extension of type dNSName is present, that MUST
   be used as the identity. Otherwise, the (most specific) Common Name
   field in the Subject field of the certificate MUST be used. Although
   the use of the Common Name is existing practice, it is deprecated and
   Certification Authorities are encouraged to use the dNSName instead.
---

What I would like to see is whether or not the subjectAltName attribute
 in the certificate has been declared as email address. If the
attribute type declares the entry as DNS or IP, then the certificate is
clearly invalid.

Oleg  


> I read parts of [rfc5280] and [rfc6125] and tried to figure out (I
> failed) if the presented certificate is invalid and should be
> rejected
> (as happens) or if the email address in the subjectAltName is just
> additional information which can be ignored by the
> DefaultHostnameVerifier and the verification should fallback to the
> commonName.
> 
> What do you think? Should I just ask the owner of the certificate to
> change it or is there something which could be improved in the
> default
> hostname verification?
> 
> Best regards
> Andy Signer
> 
> PS: A unit test to demonstrate the rejected certificate
> https://github.com/asigner/httpcomponents-client/pull/1
> 
> References
> [rfc5280] https://tools.ietf.org/html/rfc5280#section-4.2.1.6
> [rfc6125] https://tools.ietf.org/html/rfc6125#section-6.4.4
> [HTTPCLIENT-1802] https://issues.apache.org/jira/browse/HTTPCLIENT-18
> 02
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
> For additional commands, e-mail: httpclient-users-h...@hc.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
For additional commands, e-mail: httpclient-users-h...@hc.apache.org

Reply via email to