SSL-fout: kan certificaat van lokale uitgever niet ophalen

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.crthet certificaat is dat mij door de ondertekeningsautoriteit is gegeven, en de bundle.crthet 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

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Other episodes