Ik heb problemen met het configureren van SSL op een Debian 6.0 32-bits server. Ik ben relatief nieuw met SSL, dus wees geduldig. Ik voeg zoveel mogelijk informatie toe.
Opmerking: de echte domeinnaam is gewijzigd om de identiteit en integriteit van de server te beschermen.
Configuratie
De server werkt met nginx. Het is als volgt geconfigureerd:
ssl_certificate /usr/local/nginx/priv/mysite.ca.chained.crt;
ssl_certificate_key /usr/local/nginx/priv/mysite.ca.key;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_verify_depth 2;
Ik heb mijn certificaat gekoppeld aan de hand van de methode die hier
wordt beschreven
cat mysite.ca.crt bundle.crt > mysite.ca.chained.crt
waarbij mysite.ca.crt
het certificaat is dat mij door de ondertekeningsautoriteit is gegeven, en de bundle.crt
het CA-certificaat is dat ook door mijn ondertekening naar mij is verzonden Gezag. Het probleem is dat ik het SSL-certificaat niet rechtstreeks bij GlobalSign heb gekocht, maar via mijn hostingprovider, Singlehop.
Testen
Het certificaat wordt correct gevalideerd in Safari en Chrome, maar niet in Firefox. Uit het eerste onderzoek bleek dat er mogelijk een probleem is met de CA.
Ik heb het antwoord onderzocht op een vergelijkbare vraag, maar kon geen oplossing vinden, omdat ik niet echt begrijp waarvoor elk certificaat dient.
Ik heb de s_client van openssl gebruikt om de verbinding te testen en kreeg uitvoer die op hetzelfde probleem lijkt te wijzen als de vergelijkbare vraag. De fout is als volgt:
depth=0 /OU=Domain Control Validated/CN=*.mysite.ca
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 /OU=Domain Control Validated/CN=*.mysite.ca
verify error:num=27:certificate not trusted
verify return:1
Een volledig detail van het antwoord van openssl (met certificaten en onnodige informatie afgekapt) kan hierworden gevonden .
Ik zie ook de waarschuwing:
No client certificate CA names sent
Is het mogelijk dat dit het probleem is? Hoe kan ik ervoor zorgen dat nginx deze CA-namen verstuurt?
Pogingen om het probleem op te lossen
Ik heb geprobeerd het probleem op te lossen door de root-CA rechtstreeks van GlobalSign te downloaden, maar kreeg dezelfde foutmelding. Ik heb de root-CA’s op mijn Debian-server bijgewerkt met de opdracht update-ca-certificates
, maar er is niets veranderd. Dit komt waarschijnlijk omdat de CA die door mijn provider is verzonden correct was, waardoor het certificaat twee keer werd geketend, wat niet helpt.
0 s:/OU=Domain Control Validated/CN=*.mysite.ca
i:/C=BE/O=GlobalSign nv-sa/CN=AlphaSSL CA - SHA256 - G2
1 s:/O=AlphaSSL/CN=AlphaSSL CA - G2
i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
2 s:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
Volgende stappen
Laat het me weten als er iets is dat ik kan proberen, of als ik gewoon het hele ding verkeerd heb geconfigureerd.
Antwoord 1, autoriteit 100%
jww heeft gelijk: je verwijst naar het verkeerde tussencertificaat.
Omdat je een SHA256-certificaat hebt gekregen, heb je het SHA256-tussenproduct nodig. Je kunt het hier ophalen: http://secure2.alphassl.com/cacert/gsalphasha2g2r1.crt
Antwoord 2
Als je een linux-gebruiker bent
Werk het knooppunt bij naar een latere versie door
. uit te voeren
sudo apt update
sudo apt install build-essential checkinstall libssl-dev
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.35.1/install.sh | bash
nvm --version
nvm ls
nvm ls-remote
nvm install [version.number]
dit zou je probleem moeten oplossen