On Tue, 2016-03-01 at 11:51 -0500, David Duchaine wrote:
> Hello,
> 
> just stumbled across a problem with the
> 
> org.apache.http.conn.ssl.TrustSelfSignedStrategy.isTrusted(
>             final X509Certificate[] chain, final String authType)
> 
> 4.4.1 implementation
> 
>     public boolean isTrusted(
>             final X509Certificate[] chain, final String authType) throws
> CertificateException {
>         return chain.length == 1;
>     }
> 
> 
> Problem was that my client code was communicating with a server which had a
> CA signed certificate.  The chain length was not equal 1 so isTrusted
> returned false;
> 
> 
> Even though the javadoc specifically says :
> 
> A trust strategy that accepts self-signed certificates as trusted.
> Verification of all other
>  * certificates is done by the trust manager configured in the SSL context.
> 
> Most of the examples found on the Internet use TrustSelfSignedStrategy .  I
> think people use that one to trust any certificate, signed or not, even if
> that would pose a security issue.
> 
> 
> Do you think it might be appropriate to change the method isTrusted so that
> it returns true in any case?
> 

TrustSelfSignedStrategy does exactly what its name implies: it treats
self-signed (no CA) certs, but requires all certs issued by a CA to be
verified as trusted. 

What would be the point in making it trust certificates
indiscriminately?

Oleg


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to