PFX maken met OpenSSL (macOS)

In deze instructie wordt uitgegaan van macOS. Op macOS is standaard het programma OpenSSL geïnstalleerd. Indien u een ander OS gebruikt waarop OpenSSL nog niet is geïnstalleerd dan kunt u dit downloaden op de website van OpenSSL. De te volgen stappen zijn daarna hetzelfde als hier beschreven.
 
Om een vervangend .pfx bestand te maken met behulp van OpenSSL dient u over de volgende items te beschikken:

  • Het oude .pfx bestand met daarin de private key;
  • Het wachtwoord behorend bij dit .pfx bestand;
  • Het nieuwe (vervangende) certificaat (.pem bestand).

1. Haal de private key uit het oude .pfx bestand

Voer het volgende commando uit:

openssl pkcs12 -in [certificaat.pfx] -nocerts -out [server.key]

Toelichting: Vervang [certificaat.pfx] met de naam van uw oude .pfx bestand en [server.key] met de gewenste naam voor het private key bestand.
Het commando vraagt u eerst om het wachtwoord in te voeren om het .pfx bestand te openen. Dit wachtwoord heeft u gekozen tijdens het maken van de .pfx met OpenSSL.

Enter Import Password:

Vervolgens dient u (tweemaal) een pass phrase op te geven om het bestand met de private key te beveiligen. Kies hiervoor een sterke code die moeilijk te kraken is.

Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:

U heeft nu het bestand [server.key] aangemaakt met daarin de geheime sleutel van het certificaat.

2. Maak het nieuwe .pfx bestand met OpenSSL

Voor het maken van een .pfx bestand met OpenSSL heeft u twee mogelijkheden:

  1. kale export van certificaat met private key
    Voer hiervoor het volgende commando uit:

    openssl pkcs12 -export -inkey [server.key] -in [servercertificaat.pem] -out [certificaat.pfx]

    Toelichting: Vervang [server.key] met de naam van de private key uit stap 1, [servercertificaat.pem] met de naam van het vervangende .pem bestand (of het .cer bestand als u het certificaat heeft gedownload van de website) en [certificaat.pfx] met de gewenste naam voor het nieuwe .pfx bestand.

  2. export van het certificaat inclusief de volledige CA hiërarchie
    Voer hiervoor het volgende commando uit:

    openssl pkcs12 -export -inkey [server.key] -in [servercertificaat.pem] -certfile [ca-bundle.pem] -out [certificaat.pfx]

    Toelichting: Vervang [server.key] met de naam van de private key uit stap 1, [servercertificaat.pem] met de naam van het vervangende .pem bestand (of het .cer bestand als u het certificaat heeft gedownload van de website), [ca-bundle.pem] met de naam van het bestand met de bijbehorende hiërachie en [certificaat.pfx] met de gewenste naam voor het nieuwe .pfx bestand.
     
    De volledige CA hiërarchie [ca-bundle.pem] kunt u hier vinden:
    Voor private certificaten: Private root G1 bundel;
    Voor publieke certificaten: EV root Server CA 2020 bundel.

Het commando vraagt u eerst de pass phrase in te voeren om het bestand [server.key] te openen. Dit is de pass phrase die u eerder heeft ingesteld in stap 1.

Enter pass phrase for [server.key]:
  • Als de eerder bewaarde [server.key] past bij [servercertificaat.pem] dan wordt u gevraagd om tweemaal een Export Password te kiezen om de .pfx te beveiligen. Dit mag eventueel hetzelfde zijn als het wachtwoord van uw oude .pfx bestand.
    Enter Export Password:
    Verifying - Enter Export Password:

    Kies een sterk wachtwoord voor het .pfx bestand. Het is belangrijk om het wachtwoord van de .pfx goed te onthouden. Zonder dit wachtwoord kunt u geen gebruik maken van het .pfx bestand voor installatie op een ander systeem.

  • Als de [server.key] en het [servercertificaat.pem] niet bij elkaar horen dan volgt de melding:
    No certificate matches private key

    Het .pfx bestand waaruit u de private key heeft gehaald in stap 1 komt dan niet overeen met het vervangende certificaat. Zoek het juiste .pfx bestand en begin opnieuw bij stap 1.

De bestandsnaam van het nieuwe bestand is [certificaat.pfx] en is zichtbaar als u opnieuw het commando ˋlsˊ uitvoert in de terminal.
 
Ruim als laatste de private key die u in stap 1 heeft aangemaakt weer op zodat deze niet in verkeerde handen kan vallen. Mocht u deze later weer nodig hebben dan kunt u deze opnieuw aanmaken volgens bovenstaande instructie.

rm [server.key]

 
Het nieuwe .pfx bestand kunt u nu met behulp van het gekozen wachtwoord importeren in de gewenste toepassing(en).