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
______________________________________________________________________