Toon posts:

SSL certifcaat installeren op VPS

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dag Tweakers

Ik heb recent een SLL certificaat aangekocht bij een hostingbedrijf voor een webshop die ik aan het bouwen ben. Samen met dat SLL certificaat heb ik ook een VPS gehuurd (Windows Server 2012).
Nu probeer ik ervoor te zorgen dat ik via HTTPS naar mijn webshop kan gaan.

Het probleem: wanneer ik naar IIS (v8) ga en daar het certificaat toevoeg via "Complete Certificate Request".
Alle stappen doorloop, wordt het certificaat toegevoegd. So far so good. Wanneer ik nu refresh of naar een andere pagina ga dan verdwijnt dit certificaat.
Via MMC kan ik wel zien dat certificaat wel nog geïnstalleerd is.

Bij het SLL certificaat kreeg ik volgende files:
3 x .crt bestand
1 x .p7b bestand

Ik heb al meermaals geprobeerd maar altijd hetzelfde resultaat.
Via Google kwam ik ook dit commando tegen: cerutil -repairestore my "serienummer van certificaat" bij vele mensen blijkt dit te werken maar niet bij mij. Ik krijg een "-repairestore command FAILED" error te zien.
Serial Numer: *serienummer*
Issuer: *Naam van de Secure Server*
NotBefore 8/07/2019
NotAfter 9/07/2020
Subjext: ...
Non-root certificate
Cert Hash(sha1): *hash*
No key provider information
Cannot find the certificate and private key for decryption
Encryption test passed
CertUtil: -repairestore co;;and Failed
CertUtil: Keyset as registered is invalid.
Ik heb de private key in een txt bestand maar geen idee waar ik deze zou moeten koppelen aan het certificaat.

Iemand die weet wat ik moet doen om dit SLL certificaat werkende te krijgen?

Beste antwoord (via Verwijderd op 23-07-2019 18:30)


  • Paul
  • Registratie: September 2000
  • Laatst online: 24-10 15:53
Verwijderd schreef op maandag 22 juli 2019 @ 20:27:
[...]


Nee dat heb ik via het portaal gedaan van het webhosting bedrijf.
In dat geval heeft ook je webhostingbedrijf de private key aangemaakt. Een certificaat bestaat uit een aantal onderdelen:
• Een private key. Die hoor alleen JIJ te hebben. Nu heeft je hoster deze ook, als je hen vertrouwt (ik vermoed dat de server ook van hen is) is het goed, maar best practice is het niet :)
• Een Certificate Signing Request. Dit is een bestandje dat je maakt met je private key en wat info zoals de domeinnaam van je website. Hier staat ook je public key in.
• Het certificaat. Dat is je CSR die je naar een publieke certificaatuitgever hebt gestuurd en die vervolgens door hen is ondertekend. Zij controleren of je bent wie je zegt dat je bent en of je bevoegd bent dat certificaat aan te vragen. Dit kan op meerdere manieren, de simpelste is met een mail naar postmaster of hostmaster, of door je te vragen een bepaald DNS-record aan te maken, maar voor certificaten met extended validation komt daar veel meer bij kijken.
• De "intermediate" certificaten van de certificate authorities die tussen het "root"-certificaat en jouw certificaat in zitten; certificaten worden nooit(*) door een root-CA ondertekend.

Als je de CSR op je Windows server (in IIS) had aangemaakt dan had het "completen" van het request een bruikbaar certificaat opgeleverd, maar nu mist Windows de private key.

Als je mmc.exe opstart (als administrator) en de certificate snap-in toevoegt voor het lokale computer-account dan staat het certificaat er waarschijnlijk wel tussen, maar zonder de tekst "You have a private key that corresponds to this certificate".

Het beste zet je ergens OpenSSL op (je eigen werkstation bijvoorbeeld. Er zijn ook Windows binaries voor: https://wiki.openssl.org/index.php/Binaries ), zet je die bestandjes (inclusief key) ergens neer en voer je de volgende commandos uit:
code:
1
openssl pkcs12 -export -inkey privatekey.txt -in certificaat.crt -out certificaat.pfx


Hierbij zijn privatekey.txt het bestand met de private key, certificaat.crt is het bestand dat je van je CA hebt geregen, en certificaat.pfx de output die je daarna in Windows kunt gebruiken. Mogelijk wordt je gevraagd om het wachtwoord van de private key (als dat er een op zit) en je moet een zelfgekozen wachtwoord opgeven voor het pfx-bestand.

Kopieer het pfx-bestand en de twee andere crt-bestanden naar de Windows server, open mmc.exe en open de certificates snap-in voor het lokale computeraccount. Open een willekeurige folder (Personal bijvoorbeeld), rechter muisknop, All Tasks, Import, kies een van de overgebleven CRT-bestanden (het bestand met jouw certificaat heb je al omgeklust naar de PFX), laat het ding zelf bepalen waar het moet komen en importeer deze. Doe hetzelfde met het andere CRT-bestand. Doe vervolgens hetzelfde met de .pfx. Deze is een beetje anders, hier krijg je meer opties (veiligste is om de private key NIET als exporteerbaar te markeren) en wordt er om een wachtwoord gevraagd. Dit is het wachtwoord dat je eerder zelf hebt verzonnen.

Als dit allemaal gelukt is heb je in Personal -> Certificates als het goed is je eigen certificaat staan. Als je er op dubbelklikt dan zou er onderin het eerste scherm "You have a private key that corresponds to this certificate" moeten staan. In het derde tabblad (Certification Path) zou bij alle stappen in de boom "This certificate is OK." moeten staan.

Als het goed is staat het certificaat nu ook in inetmgr / IIS Management en zou je deze moeten kunnen kiezen voor je website.

Je bent er dan nog niet; out of the box gebruikt Windows 2012 erg onveilige defaults. Beoordeel voor jezelf of je https://www.nartac.com/Products/IISCrypto/ vertrouwt, zet het op je server, klik op "best practices" en reboot de server. Nu staan SSL3 en allerlei onveilige ciphers uit.

Dat is het leeuwendeel, dingen die je nog op kunt zoeken zijn HSTS en redirect naar HTTPS. https://www.ssllabs.com/ssltest/ is erg handig om te kijken of alles goed staat; als ik het goed heb zou je met de info in mijn post een A moeten krijgen (een A+ met Windows 2012 kan ook maar is lastiger / heeft nadelen). Ik hoop overigens dat je 2012 R2 bedoelt ipv 2012 (zonder R2), maar eigenlijk is dat al oude meuk en zou je minimaal 2016 moeten willen.

Als je de site zelf bouwt is ook https://observatory.mozilla.org/ wel handig; zeker greenfield (en als je een beetje netjes programmeert) zijn CSP en die andere dingen die getest worden best goed netjes te krijgen.

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock

Alle reacties


Acties:
  • 0 Henk 'm!

  • synoniem
  • Registratie: April 2009
  • Niet online
Hier is een vrij uitgebreide uitleg (in het Engels) hoe je je certificaat moet installeren. Heb je deze stappen gevolgd?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
synoniem schreef op maandag 22 juli 2019 @ 20:21:
Hier is een vrij uitgebreide uitleg (in het Engels) hoe je je certificaat moet installeren. Heb je deze stappen gevolgd?
Zo ben ik inderdaad gestart maar bij stap 8 van Installation Instructions (single name certificate) loopt het mis.
Daar verdwijnt mijn certificaat na het toevoegen in de "Server Certificates" in IIS

Acties:
  • 0 Henk 'm!

  • DaMoUsYs
  • Registratie: Januari 2002
  • Laatst online: 13:46
Is het Certificate Request ook op de server gemaakt ?

Check dit en help mee!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
DaMoUsYs schreef op maandag 22 juli 2019 @ 20:27:
Is het Certificate Request ook op de server gemaakt ?
Nee dat heb ik via het portaal gedaan van het webhosting bedrijf.

Acties:
  • 0 Henk 'm!

  • morritz34
  • Registratie: Juli 2009
  • Laatst online: 19:00
Gebeurt meestal als je de private key mist in het certificaat

Acties:
  • 0 Henk 'm!

  • Dennism
  • Registratie: September 1999
  • Laatst online: 21:07
Ik vraag me af of dat wel gaat werken op Windows. Volgens mij moet daar het CRS afgemaakt zijn op de machine waar ook de certificaat aanvraag initieel gedaan is of je moet een certificaat importeren met een private key erbij geëxporteerd,echter lijk je dat ook niet te hebben.

Acties:
  • 0 Henk 'm!

  • DaMoUsYs
  • Registratie: Januari 2002
  • Laatst online: 13:46
Hmm als je de CSR niet gemaakt hebt kun je onderstaande stap uit het voorbeeld ook niet doen
In the right Actions menu, click Complete Certificate Request…
Volgens mij moet je een van de CRT's combineren met de private key, dmv openssl.exe

Mede dus ook wat de mensen boven mij zeggen

[ Voor 8% gewijzigd door DaMoUsYs op 22-07-2019 20:36 ]

Check dit en help mee!


Acties:
  • +1 Henk 'm!

  • Dennism
  • Registratie: September 1999
  • Laatst online: 21:07
DaMoUsYs schreef op maandag 22 juli 2019 @ 20:36:
Hmm als je de CSR niet gemaakt hebt kun je onderstaande stap uit het voorbeeld ook niet doen


[...]


Volgens mij moet je een van de CRT's combineren met de private key, dmv openssl.exe

Mede dus ook wat de mensen boven mij zeggen
Klopt, met openSSL kan je een PKSC12/pfx file maken van een txt bestand met de private key en een crt bestand.

"openssl pkcs12 -export -out domain_name.pfx -inkey privatekey.key -in certificaat.crt"

Acties:
  • Beste antwoord
  • +2 Henk 'm!

  • Paul
  • Registratie: September 2000
  • Laatst online: 24-10 15:53
Verwijderd schreef op maandag 22 juli 2019 @ 20:27:
[...]


Nee dat heb ik via het portaal gedaan van het webhosting bedrijf.
In dat geval heeft ook je webhostingbedrijf de private key aangemaakt. Een certificaat bestaat uit een aantal onderdelen:
• Een private key. Die hoor alleen JIJ te hebben. Nu heeft je hoster deze ook, als je hen vertrouwt (ik vermoed dat de server ook van hen is) is het goed, maar best practice is het niet :)
• Een Certificate Signing Request. Dit is een bestandje dat je maakt met je private key en wat info zoals de domeinnaam van je website. Hier staat ook je public key in.
• Het certificaat. Dat is je CSR die je naar een publieke certificaatuitgever hebt gestuurd en die vervolgens door hen is ondertekend. Zij controleren of je bent wie je zegt dat je bent en of je bevoegd bent dat certificaat aan te vragen. Dit kan op meerdere manieren, de simpelste is met een mail naar postmaster of hostmaster, of door je te vragen een bepaald DNS-record aan te maken, maar voor certificaten met extended validation komt daar veel meer bij kijken.
• De "intermediate" certificaten van de certificate authorities die tussen het "root"-certificaat en jouw certificaat in zitten; certificaten worden nooit(*) door een root-CA ondertekend.

Als je de CSR op je Windows server (in IIS) had aangemaakt dan had het "completen" van het request een bruikbaar certificaat opgeleverd, maar nu mist Windows de private key.

Als je mmc.exe opstart (als administrator) en de certificate snap-in toevoegt voor het lokale computer-account dan staat het certificaat er waarschijnlijk wel tussen, maar zonder de tekst "You have a private key that corresponds to this certificate".

Het beste zet je ergens OpenSSL op (je eigen werkstation bijvoorbeeld. Er zijn ook Windows binaries voor: https://wiki.openssl.org/index.php/Binaries ), zet je die bestandjes (inclusief key) ergens neer en voer je de volgende commandos uit:
code:
1
openssl pkcs12 -export -inkey privatekey.txt -in certificaat.crt -out certificaat.pfx


Hierbij zijn privatekey.txt het bestand met de private key, certificaat.crt is het bestand dat je van je CA hebt geregen, en certificaat.pfx de output die je daarna in Windows kunt gebruiken. Mogelijk wordt je gevraagd om het wachtwoord van de private key (als dat er een op zit) en je moet een zelfgekozen wachtwoord opgeven voor het pfx-bestand.

Kopieer het pfx-bestand en de twee andere crt-bestanden naar de Windows server, open mmc.exe en open de certificates snap-in voor het lokale computeraccount. Open een willekeurige folder (Personal bijvoorbeeld), rechter muisknop, All Tasks, Import, kies een van de overgebleven CRT-bestanden (het bestand met jouw certificaat heb je al omgeklust naar de PFX), laat het ding zelf bepalen waar het moet komen en importeer deze. Doe hetzelfde met het andere CRT-bestand. Doe vervolgens hetzelfde met de .pfx. Deze is een beetje anders, hier krijg je meer opties (veiligste is om de private key NIET als exporteerbaar te markeren) en wordt er om een wachtwoord gevraagd. Dit is het wachtwoord dat je eerder zelf hebt verzonnen.

Als dit allemaal gelukt is heb je in Personal -> Certificates als het goed is je eigen certificaat staan. Als je er op dubbelklikt dan zou er onderin het eerste scherm "You have a private key that corresponds to this certificate" moeten staan. In het derde tabblad (Certification Path) zou bij alle stappen in de boom "This certificate is OK." moeten staan.

Als het goed is staat het certificaat nu ook in inetmgr / IIS Management en zou je deze moeten kunnen kiezen voor je website.

Je bent er dan nog niet; out of the box gebruikt Windows 2012 erg onveilige defaults. Beoordeel voor jezelf of je https://www.nartac.com/Products/IISCrypto/ vertrouwt, zet het op je server, klik op "best practices" en reboot de server. Nu staan SSL3 en allerlei onveilige ciphers uit.

Dat is het leeuwendeel, dingen die je nog op kunt zoeken zijn HSTS en redirect naar HTTPS. https://www.ssllabs.com/ssltest/ is erg handig om te kijken of alles goed staat; als ik het goed heb zou je met de info in mijn post een A moeten krijgen (een A+ met Windows 2012 kan ook maar is lastiger / heeft nadelen). Ik hoop overigens dat je 2012 R2 bedoelt ipv 2012 (zonder R2), maar eigenlijk is dat al oude meuk en zou je minimaal 2016 moeten willen.

Als je de site zelf bouwt is ook https://observatory.mozilla.org/ wel handig; zeker greenfield (en als je een beetje netjes programmeert) zijn CSP en die andere dingen die getest worden best goed netjes te krijgen.

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Paul schreef op maandag 22 juli 2019 @ 21:53:
[...]

In dat geval heeft ook je webhostingbedrijf de private key aangemaakt. Een certificaat bestaat uit een aantal onderdelen:

.....
Het werkt! Hartelijk dank !
Pagina: 1