On Fri, Aug 06, 2010, Sam Jantz wrote:

> To whomever may have an answer,
> 
>      I am writing a SSL/TLS proxy server for my work that is multi-threaded.
>  I recently replaced my OpenSSL version with 1.0.0a from 0.9.8g.   In this
> application I need to verify the server certificate otherwise all the
> security will be bypassed.  However, when I use SSL_get_verify_result() I
> almost always get an error code "20 unable to get local issuer certificate."
>  This is almost always at depth 0, and sometimes depth 1.
>     I am loading the certificate stores from /etc/ssl/certs which contains
> the stores that mozilla, chrome, and the like all verify from, but no matter
> what I do I can't get a single certificate to verify.
>     When I revert to OpenSSL 0.9.8g I can successfully verify several
> certificates, but I still get the same error code for about half of the
> websites I try, and are known to be valid (e.g. www.gmail.com:443).
> 
>     This is not just a difference in my program either, in both s_client and
> verify from the command line, 0.9.8g will return a X509_V_OK code, and
> 1.0.0a will return error 20.  I am completely at a loss as to why this is.
>  I am not so much concerned with getting the command line to work as I am
> with my program.  I can't post my code because of a non disclosure
> agreement, but I will post the steps that I am taking that are relevant to
>  verify.
> 

You need to call c_rehash with OpenSSL 1.0.0, the hash algorithm changed and
is incompatible with 0.9.8.

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to