Certificaten omzetten mbv OpenSSL
Certificaat maken voor Exchange server met SSL certificaat van Versio:
1. vanuit Versio is het private.key bestand en domein.cer beschikbaar. Deze moet omgezet worden naar domein.pfx bestand
2. openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.cer -certfile CACert.crt
3. Importeer certificaat in Exchange. Dit moet vanaf Exchange 2016 CU29 via de Shell Command prompt.
https://www.alitajran.com/install-exchange-certificate-with-powershell/
>Import-ExchangeCertificate -Server "EX01-2016" -FileData ([System.IO.File]::ReadAllBytes('\\ex01-2016\Certs\ExchangeCert.pfx')) -PrivateKeyExportable:$true -Password (ConvertTo-SecureString -String 'P@ssw0rd1' -AsPlainText -Force)
4. assign services. Dit kan ook nog steeds via web managent portal.
[PS] C:\>Enable-ExchangeCertificate -Server "EX01-2016" -Thumbprint 0C4C00B76EB7DB236573BF79258888D32C9B753D -Services SMTP,IMAP,IIS
Het maken van een private key en public key vanuit een .pfx bestand.
- exporteer het certificaat vanuit bv. IIS naar een .pfx bestand
- via OpenSSL haal je de private key en public key eruit via volgende commando's;
open command prompt waar certificaat staat
C:\openssl pkcs12 -in certificaat.pfx -out certificaat_privatekey.pem -nokeys (private key)
C:\openssl pkcs12 -in certificaat.pfx -out certificaat_publickey.pem -nocerts (public key) - verwijder eventueel het wachtwoord van de private key via
C:\openssl rsa -in certificaat_privatekey.pem -out certificaat_priavtekey_nopassword.pem
Meest gebruikte OpenSSL opdrachten
Algemene OpenSSL opdrachten
De volgende commando's laten zien hoe CSR's, certificaten en Private Keys aangemaakt kunnen worden, plus nog enkele overige taken met OpenSSL.
- Genereer een nieuwe Private Key en een CSR (Unix)
openssl req -out CSR.csr -pubkey -new -keyout privateKey.key
- Genereer een nieuwe Private Key en een CSR (Windows)
openssl req -out CSR.csr -pubkey -new -keyout privateKey.key -config .shareopenssl.cnf
- Genereer een CSR voor een bestaande Private Key
openssl req -out CSR.csr -key privateKey.key -new
- Genereer een CSR op basis van een bestaand Certificaat
openssl x509 -x509toreq -in MYCRT.crt -out CSR.csr -signkey privateKey.key
- Genereer een self-signed Certificaat
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt
- Verwijder een wachtwoord bij een Private Key
openssl rsa -in privateKey.pem -out newPrivateKey.pem
Controleer CSR, Private Key of Certificaat met OpenSSL
Gebruik de volgende commando's om de informatie te controleren van een certificaat, een CSR of een Private Key. Je kunt hiervoor ook onze online Tools gebruiken.
- Controleer een CSR
openssl req -text -noout -verify -in CSR.csr
- Controleer een Private Key
openssl rsa -in privateKey.key -check
- Controleer een Certificaat
openssl x509 -in certificate.crt -text -noout
- Controleer een PKCS#12 file (.pfx or .p12)
openssl pkcs12 -info -in keyStore.p12
Debugging met OpenSSL
Bij foutmeldingen, zoals 'de Private Key komt niet overeen met het Certificaat' of 'het Certificaat wordt niet vertrouwd', gebruik een van de volgende commando's. Gebruik ook onze online SSLCheck om een geinstalleerd certificaat te controleren.
- Controleer de SHA256 hash van de public key om na te gaan of het gelijk is aan wat in de CSR of private key staat.
openssl pkey -in privateKey.key -pubout -outform der | sha256sum
openssl x509 -in certificate.crt -pubkey | openssl pkey -pubin -pubout -outform der | sha256sum
openssl req -in CSR.csr -pubkey | openssl pkey -pubin -pubout -outform der | sha256sum
- Controleer een SSL-verbinding. Alle certificaten (ook intermediate certificaten) moeten worden getoond.
openssl s_client -connect https://www.paypal.com:443
Certificaten converteren met OpenSSL
Onderstaande opdrachten zijn voor het converteren van het ene bestandsformaat naar het andere. Dit is soms nodig om de certificaten of private keys geschikt te maken voor verschillende typen servers of software. Converteer bijvoorbeeld een PEM file voor Apache naar PFX (PCKS#12) voor gebruik met Tomcat of IIS.
- Converteer een DER file (.crt .cer .der) naar PEM
openssl x509 -inform der -in certificate.cer -out certificate.pem
- Converteer een PEM file naar DER
openssl x509 -outform der -in certificate.pem -out certificate.der
- Converteer een PKCS#12 file (.pfx .p12) inclusief de private key en certificaat(en) naar PEM
openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes
Let op: Voeg toe -nocerts om alleen de private key om te zetten, of voeg toe -nokeys om alleen de certificaten om te zetten.
- Converteer een PEM certificaat file en een private key naar PKCS#12 (.pfx .p12)
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
Converteer een CER certificaat bestand naar een CRT certificaat bestand.
openssl x509 -inform PEM -in <filepath>/certificate.cer -out certificate.crt
- Because CER and CRT files are basically synonymous, they can be used interchangeably by simply changing the extension. So, in case your server requires you to use the .CER file extension, you can convert to .CRT extension easily by implementing the following steps:
- Double-click on the file labeled .crt to open it into the certificate display.
- Select the Details tab, and then click Copy to File.
- Click the Next option in the certificate wizard.
- Choose Base-64 encoded X.509 (.cer), and then click on Next.
- Now, browse to store your file and type in the filename that you want to keep
- Finally, save the file.