SSL is broken on FreeBSD

Frank J. Cameron cameron at ctc.com
Tue Apr 5 22:48:52 UTC 2011


On Tue, 2011-04-05 at 17:11 -0400, Dmytro Pryanyshnikov wrote:
> Actually, as I can see, just installing the ca_root_nss
> port (even with ETCSYMLINK=on "Add symlink to /etc/ssl/cert.pem")
> isn't enough for feeding installed .crt file to 'openssl s_client'
> command:
> 
> dmitry at lynx$ openssl s_client -connect 72.21.203.148:443 2>/dev/null <
> /dev/null |egrep '^[[:space:]]*Verify return code:'
>     Verify return code: 20 (unable to get local issuer certificate)
> 
> dmitry at lynx$ openssl s_client -CAfile
> /usr/local/share/certs/ca-root-nss.crt -connect 72.21.203.148:443
> 2>/dev/null < /dev/null |egrep '^[[:space:]]*Verify return code:'
>     Verify return code: 0 (ok)
> 
> So it looks like /etc/ssl/cert.pem link just isn't "magic enough" to
> be used by the ''openssl s_client" command by default (without -CAfile
> command line argument).

http://curl.haxx.se/mail/archive-2003-07/0036.html
        Unfortunately, the information about this is not in the current 
        OpenSSL documentation. You have to read the source code or 
        see discussion about it in the openssl-dev mailing list. 
        There is a reference to the X509_get_default_cert_file and 
        X509_get_default_cert_file_env in the obsolete ssleay.txt file
        in 
        the OpenSSL document directory, but that is about it. The only 
        references that I know to the SSL_CERT_FILE and SSL_CERT_DIR 
        environment variables (other than in the source code itself)
        are 
        in the old "SSLeay and SSLapps FAQ" which is not distributed
        with 
        OpenSSL (available at http://www2.psy.uq.edu.au/~ftp/Crypto/"). 
        See some correspondence about these defaults in the openssl-dev 
        mailing list in a thread started by me in December 2002 
        (with a fix for the code by Richard Levitte and Rich Salz): 
        "http://marc.theaimsgroup.com/?l=openssl-dev&m=103899056011520" 
        
        The default name for the ca cert bundle is defined in 
        crypto/cryptlib.h, as are the environment variables
        SSL_CERT_FILE and SSL_CERT_DIR.

http://svn.freebsd.org/viewvc/base/stable/8/crypto/openssl/crypto/cryptlib.h
        #define X509_CERT_FILE		OPENSSLDIR "/cert.pem"

http://svn.freebsd.org/viewvc/base/stable/8/crypto/openssl/Makefile
        OPENSSLDIR=/usr/local/ssl

So, should the port be linking?:
	/usr/local/ssl/cert.pem -> /usr/local/share/certs/ca-root-nss.crt

------------------------------------------------------------
This message and any files transmitted within are intended
solely for the addressee or its representative and may
contain company sensitive information.  If you are not the
intended recipient, notify the sender immediately and delete
this message.  Publication, reproduction, forwarding, or 
content disclosure is prohibited without the consent of the
original sender and may be unlawful.

Concurrent Technologies Corporation and its Affiliates.
www.ctc.com  1-800-282-4392
------------------------------------------------------------


More information about the freebsd-security mailing list