Sto eseguendo un'istanza Apache CouchDB (versione 1.3.0) su un server Ubuntu 12.10 nel cloud (AWS). Sto cercando di far funzionare SSL sulla mia istanza di couchDB.Apache couchDB CA ha firmato problemi con il certificato
L'impostazione di base SSL è molto semplice. Ho messo il mio certificato e la chiave in una directory e non è commentato le seguenti righe nel mio file local.ini
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
Ho anche fatto in modo che la proprietà su questi file è corretto.
Questo funziona correttamente, il server couchDB si avvia, è possibile navigare a https://mycouchdbserver.com/_utils/ senza problemi.
Test con OpenSSL
openssl s_client -showcerts -connect mycouchdbserver.com:443
dà il risultato corretto per la configurazione standard SSL
Durante il test di messa a punto sul sito DigiCert (l'azienda i certificati SSL sono stati acquistati attraverso - link di prova: http://www.digicert.com/help/) I ottenere il seguente errore:
Il server non sta inviando il certificato intermedio richiesto.
Al momento dell'acquisto del certificato SSL ho ottenuto un certificato intermedio da DigiCert e ho scaricato anche il certificato radice per DigiCert.
nel file di configurazione local.ini per CouchDB è possibile utilizzare questi con i seguenti campi di configurazione:
verify_ssl_certificates = true
cacert_file = xxxx
Il mio problema è che non posso arrivare a questo lavoro e ho provato tutte le combinazioni possibili per arrivare a questo lavoro. Ecco quello che ho provato:
- provato a fissare cacert_file per il CERT intermedio da DigiCert
- provato a fissare cacert_file al certificato radice in/etc/ssl/certs
- provato ad aggiungere il CERT della radice dal sito DigiCert to/usr/shared/ca-certs/e quindi eseguire dpkg-reconfigure ca-certificates per installare un nuovo certificato root e impostare cacert_file su quel nuovo certificato codificato in pem in/etc/ssl/certs
- Provato combinando il cert e il intermedio cert in un file usato per cert_file
- Provato combinando il cert, il cert intermedio e il cert root in 1 file pem utilizzato per cert_file
Tutti gli errori di cui sopra nel registro couchDB. Alcuni danno una quantità di massa di uscita nei registri errori, ma utilizzando il numero 3, ottengo
=ERROR REPORT==== 11-Jun-2013::11:35:30 ===
SSL: hello: ssl_handshake.erl:252:Fatal error: internal error
e test con OpenSSL ottengo
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:
Qualcuno ha qualche idea su come utilizzare i verify_ssl_certificates , il certificato radice ed il certificato intermedio correttamente con CouchDB
ho letto tutta la documentazione in linea e niente ha aiutato
Grazie in anticipo Andrew
Andrew, stavi usando namecheap? Ho trovato un problema simile che sembrava causato dal modulo di riemissione di namecheap: http://serverfault.com/questions/408112/nginx-ssl-certificate-issue-key-values-mismatch – pokstad