I have an application (server) that is working using SSLv23 with a
regular certificate. Now I have to use one chain of two intermediate
certificates but for any reason, openssl library is not sending the
chain and the only way to work correctly is when I inform to the
client side about the intermediate.

If I am understanding correctly, as long as the client trust in the
last certificate, it will trust on all intermediate.

Below is a result using the command "openssl s_client ...".

The client has only the Equifax root certificate; all other GeoTrust
are intermediate. The file cacerts.pem in the command below has the
two intermediate informed to force the command to succeed but in the
real case, I don't have such information at client side.

Because the client trust the connection when I inform the
intermediate, I suppose the server is not sending the intermediate,
only the first certificate in the chain and in this case the command
fail.


$ openssl s_client -connect 10.10.10.10:443 -verify 5 -state -CAfile cacerts.pem
verify depth is 5
SSL_connect:before/connect initialization
SSL_connect:SSLv2/v3 write client hello A
SSL_connect:SSLv3 read server hello A
depth=3 /C=US/O=Equifax/OU=Equifax Secure Certificate Authority
verify return:1
depth=2 /C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
verify return:1
depth=1 /C=US/O=GeoTrust, Inc./CN=GeoTrust SSL CA
verify return:1
depth=0 /serialNumber=Tf20oDIbWDBfuhDWLEg4DfACRMOBnxA4/C=US/ST=Minnesota/L=Prior
Lake/O=ACME, INC/CN=www.acme.com
verify return:1
SSL_connect:SSLv3 read server certificate A
SSL_connect:SSLv3 read server done A
SSL_connect:SSLv3 write client key exchange A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
SSL_connect:SSLv3 read finished A
CONNECTED(00000003)
---
Certificate chain
 0 s:/serialNumber=Tf20oDIbWDBfuhDWLEg4DfACRMOBnxA4/C=US/ST=Minnesota/L=Prior
Lake/O=ACME, INC/CN=www.acme.com
   i:/C=US/O=GeoTrust, Inc./CN=GeoTrust SSL CA
---
Server certificate
-----BEGIN CERTIFICATE-----
    (the server certificate)
-----END CERTIFICATE-----
subject=/serialNumber=Tf20oDIbWDBfuhDWLEg4DfACRMOBnxA4/C=US/ST=Minnesota/L=Prior
Lake/O=ACME, INC/CN=www.acme.com
issuer=/C=US/O=GeoTrust, Inc./CN=GeoTrust SSL CA
---
No client certificate CA names sent
---
SSL handshake has read 1539 bytes and written 447 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES256-SHA
    Session-ID: 5FB55650BEEAE091441A5CEF4047A0243EE9D57AE8F0485CC1F951E2E97CAE06
    Session-ID-ctx:
    Master-Key:
06B036B9D47B297D2086CB6370108BB60102CD0FD7649F92351E15324D96E8614C566BF9040296177E2BDCA0A189472C
    Key-Arg   : None
    Start Time: 1369178367
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---
read:errno=0
SSL3 alert write:warning:close notify
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to