Hi Jan,

The problem is due to the mis-matched version between openssl library (used by 
application) and openssl executable. Basically the CA/Intermediate CA 
certificate hash is calculated different between two versions.

Thank you for your help!
Bob
    
-----Original Message-----
From: openssl-users [mailto:openssl-users-boun...@openssl.org] On Behalf Of Jan 
Just Keijser
Sent: Wednesday, February 03, 2016 8:17 AM
To: openssl-users@openssl.org
Subject: Re: [openssl-users] Certificate verification failure

Yan, Bob wrote:
> Thanks Jan,
>
> When I am using the CApath, I do have the symbolic hash link (with ".0" at 
> the end hash) linked to my ca-root.pem certificate file and 
> ca-intermediate.pem certificate. Any other issues which could cause this 
> issue? 
>   
what happens if you run
  openssl verify -CApath <dir>   client.crt

? is that certificate correctly verified?

HTH,

JJK

> -----Original Message-----
> From: openssl-users [mailto:openssl-users-boun...@openssl.org] On 
> Behalf Of Jan Just Keijser
> Sent: Monday, February 01, 2016 1:04 AM
> To: openssl-users@openssl.org
> Subject: Re: [openssl-users] Certificate verification failure
>
> Yan, Bob wrote:
>   
>> Dear Sir/Madam,
>>
>> I have an application which acting as SSL server. When the 
>> application loads the root and intermediate CA files from a CA path, 
>> the handshake between my application and openssl client was failed at 
>> the point when my application was authenticating the client's 
>> certificate. But when I bound the root CA and intermediate CA into a 
>> single pem file and reload it from my application, the handshake is 
>> successful. Could anybody help me resolve this issue? Below is the 
>> sample of my application code for loading the CA certificates:
>>
>> if (SSL_CTX_load_verify_locations(ctx, caFile, caPath) != 1) {
>>
>> exit;
>>
>> }
>>
>> if (SSL_CTX_set_default_verify_paths(ctx) != 1) {
>>
>> exit;
>>
>> }
>>
>> if (SSL_CTX_use_certificate_chain_file(ctx, certFile) != 1) {
>>
>> exit;
>>
>> }
>>
>> if (SSL_CTX_use_PrivateKey_file(ctx, keyFile, SSL_FILETYPE_PEM) != 1) 
>> {
>>
>> exit;
>>
>> }
>>
>> SSL_CTX_set_verify_depth(ctx, chainDepths);
>>
>> SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER | 
>> SSL_VERIFY_FAIL_IF_NO_PEER_CERT, callback);
>>
>> SSL_CTX_set_options(ctx, SSL_OP_ALL | SSL_OP_NO_SSLv2);
>>
>>     
>
> when you're using CA path , what are the contents of this CA path directory? 
> In it you should have placed the root and intermediate CA files using special 
> names. Instead of using "ca.pem" you need to have a file "<hash>.0" , where 
> <hash> is the output of "openssl x509 -hash -noout -in ca.pem" (and similarly 
> for the intermediate CA file).
>
> JJK
>
> _______________________________________________
> openssl-users mailing list
> To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
>
> _______________________________________________
> openssl-users mailing list
> To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
>   

_______________________________________________
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users

_______________________________________________
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users

Reply via email to