Vervangen certificaat in PFX-bestand
Een PFX bestand bevat een certificaat en de private key. Als je een certificaat verlengd krijg je deze doorgaans als PEM file opgestuurd.
Hier leg ik je uit hoe je eenvoudig het nieuwe certificaat in het PFX bestand zet (met behoud van de private key).
Als eerste heb je toegang nodig tot een OpenSSL-installatie. Je kan OpenSSL natuurlijk installeren op Windows (instructies
staan op de wiki van OpenSSL), maar ik draai het liever via
Debian op WSL of
Ubuntu op WSL. Werk je al op Linux dan is
het helemaal makkelijk en hoef je niks extra's te doen.
Installeren van de openssl-package.
apt-get update && apt-get install openssl
Maak nu een map aan op het systeem en plaats hierin het PFX-bestand, in mijn voorbeelden heet het bestand oldcert.pfx.
Gebruik je WSL dan worden je Windows-paritites automatisch gemount in de WSL. Je kan dus eenvoudig doen cd /mnt/c/Users/mijngebruikersnaam/Desktop/workspace-certificaten
Ga naar de map waar het certificaat instaat:
cd workspace-certificaten
Haal nu de private key uit het PFX-bestand, is het PFX-bestand beschermd met een wachtwoord/passphrase dan wordt hier omgevraagd. Hierna moet je het nieuwe wachtwoord opgeven voor de PEM-bestand, dit is verplicht!
openssl pkcs12 -in oldcert.pfx -nocerts -out key.pem
Haal nu het certificaat uit het PFX-bestand, is het PFX-bestand beschermd met een wachtwoord/passphrase dan wordt hier omgevraagd.
openssl pkcs12 -in oldcert.pfx -clcerts -nokeys -out oldcert.pem
Je hebt nu de volgende bestanden:
- oldcert.pfx
- oldcert.pem
- key.pem
Plaats het nieuwe bestand certificaat PEM-bestand (ik noem het newcert.pem) ook in de map.
We gaan nu de private key en het certificaat weer inpakken tot een nieuw PFX-bestand. Je wordt weer gevraagd voor de passphrase.
openssl pkcs12 -inkey key.pem -in newcert.pem -export -out newcert.pfx
Je kunt nu aan de slag met het nieuwe PFX-bestand (newcert.pfx)!