Hi there,
I'm facing 'Unkown CA' error during ssl handshake messages between
client(a network device) and server (pound).
sorry am not much familiar with openssl library usage but setting up
the pound reverse proxy which use openssl 0.9.8 on redhat linux.

Done a lot of googling but no clear pointers were available yet.
Please can anybody mention all possible list of causes behind this
error.
This error is (thrown by server to client) observed in wireshark. This
happens immediately after client sends 'Finished'.

Observation:
A wireshark debug log (using RSA private key) shows me client and
server agreed on cipher sent by client cipher list(1).
However  openssl cipher command (one of 'AES' i think
TLS_DH_RSA_WITH_AES_128_CBC_SHA agreed by client/server) doesn't show
up this cipher. Am not suspecting (so eagerly) unknown ca error is
just because of this as i may have also done any other mistake.

Hence mentioning all steps followed here. Pls correct me in case.
1. Generated private key (not passphrase protected), csr using openssl
with a copy of openssl.cnf in a custom directory. this cnf file barely
filled with required fields (like OU, CN etc) in 2 mandatory sections
as mentioned in man age.
2. Received tgz which contains ca, intermediate and server certificate
(for test purpose which have a month expiry) from own organization CA.
3. As part of setup of this certificates on server, struggling while
following not so clear man page of pound and openssl.
4. Appended private key to server certificate
5. Appended intermediate cert to ca cert to make chain cert.
6. Verified all certificates using openssl verify command which says
OK post copying ca, oem cert (and hash'd.0 ) to openssl certs
directory. Here tried various things hashing on individual ca, oem
within certs directory so root or ca certificate can be locatable and
trustable!  There was no clear documentation on this crucial step. Not
sure if this hash has to  happen on chained cert only or on individual
ca, intermediate(oem) certificate only as mentioned in other sources.
7.Then applied openssl -addtrust command on ca certificate.
8.Now tested using pound https listener with all certs, trust
available/a network device which makes https request to pound https
listener which use the server and ca (or chain!) certificate in ssl
certs directory!!
All these tests resulted unknown ca error whenever client certificate
verification is enabled.
9. Also tested various other methods unsuccessfully like
openssl s_server/s_client and
s_server/browser. Though these are not going to be effective as client
certificate will not be sent by them as pound ssl listener demands !!


I see the wireshark showing client sending hello, server hello done,
client sends its certificate for verification, cypher spec, key
exchange etc and finally mac done and sending 'Finished' from its
final part of handshake. However Server immediately sends this unknown
ca error to client.
So assuming either server not configured with ca or chain properly or
not locatable or not available in any trust store (should i have to
use java like keytool to store and point to?). Here different sites
mentioned different things but not sure on any.
Another source mentioned client certificate which contain public key
should be stored in server in advance so server can trust who is
communicating in advance(to counter part man in the middle attack).
Also another suggestion to add crl to ca certificate.
Checked other possible issues like date/time differences, permissions,
openssl big default trust cert file is appended with our root
certificate etc.
Not sure on how to verify 'extended' part of client certificate if it
contains required attribute/values.

Does installation of root or chain certificate involve just copying
files into ssl certs directory? Should we mandatorily use openssl.cnf
removing comments on critical sections and init!?
A help or pointers will be greatly appreciated. Pls mention any master
list of causes for this error?

Need to mention client(device) certificate is also created by own
organization as part of factory installation. So not doubting on trust
or other part of certificate information.

Best regards.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to