Hi

I am running an Apache CouchDB instance (version 1.3.0) on an Ubuntu 12.10 
server in the cloud (AWS). I am trying to get SSL working on my couchDB 
instance.

The basic SSL setup is very easy. I have placed my certificate and key in a 
directory and uncommented the following lines in my local.ini file

httpsd = {couch_httpd, start_link, [https]}
cert_file = /usr/local/etc/couchdb/certs/mycouchdbserver_cert.pem
key_file = /usr/local/etc/couchdb/certs/mycouchdbserver_key.pem
I have also made sure that the ownership on these files is correct.

This works fine, the couchDB server starts up, you can navigate to 
https://mycouchdbserver.com/_utils/ without a problem.

Testing using openssl

openssl s_client -showcerts -connect mycouchdbserver.com:443
Gives the correct result for standard SSL configuration

When testing the setup on the DigiCert website (the company the SSL certs were 
bought through - test link: http://www.digicert.com/help/) I get the following 
error:

The server is not sending the required intermediate certificate.

When purchasing the SSL certificate I obtained an intermediate certificate from 
DigiCert and have downloaded the root cert for DigiCert as well.

In the local.ini config file for couchDB you can use these with the following 
configuration fields:

verify_ssl_certificates = true
cacert_file = xxxx
My problem is that I cant get this to work and have tried every possible 
combination to get this to work. Here is what I have tried:

Tried setting cacert_file to the intermediate cert from DigiCert
Tried setting cacert_file to the root certificate in /etc/ssl/certs
Tried adding the root cert from DigiCert website to /usr/shared/ca-certs/ and 
then running dpkg-reconfigure ca-certificates to install a new root certificate 
and setting cacert_file to that new pem encoded certificate in /etc/ssl/certs
Tried combining the cert and intermediate cert in one file used for cert_file
Tried combining the cert, intermediate cert and root cert into 1 pem file used 
for cert_file
All of the above throws errors in the couchDB log. Some give a mass amount of 
output in the errors logs but using number 3, I get

=ERROR REPORT==== 11-Jun-2013::11:35:30 ===
SSL: hello: ssl_handshake.erl:252:Fatal error: internal error

And testing with openssl I get

CONNECTED(00000003)
16871:error:14094438:SSL routines:SSL3_READ_BYTES:tlsv1 alert internal    
error:s3_pkt.c:1099:SSL alert number 80
16871:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake 
failure:s23_lib.c:188:

Does anyone have any idea on how to use the verify_ssl_certificates, the root 
certificate and the intermediate certificate correctly with couchDB

I have read all documentation online and nothing has helped

Thanks in Advance

Andrew


______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________

Reply via email to