Importeer een pfx bestand in Oracle Wallet

Certificaat opgeslagen als pfx bestand

Een pfx bestand is een soort zip formaat: een pfx bestand kan meer dan één certificaat bevatten die een relatie hebben. In een pfx bestand staat het certificaat dat je wilt gebruiken, plus mogelijkerwijs een aantal tussenliggende certificaten. Daarnaast kan het de private key bevatten die hoort bij het certificaat. Om te voorkomen dat de inhoud van het pfx bestand al te gemakkelijk in verkeerde handen valt kan het ook beveiligd zijn met een wachtwoord.

Een individueel certificaat kan ook als bestand met de extensie “crt” of “cert” opgeslagen worden. Een certificaat dat is opgeslagen als bestand met de extensie “der” bevat dezelfde informatie als een bestand met de extensie “crt”, maar dan in binair formaat. Zoals je ziet heeft een bestand met de extensie “pfx” veel meer mogelijkheden dan een bestand met de extensie “crt”.

Oracle Wallet en Oracle PL/SQL

Oracle heeft als bedrijf een langjarige traditie om zich niet over te leveren aan de grillen van operating system leveranciers. Daarom werkt programmatuur van Oracle meestal met een abstractie van de concepten die in een operating system gebruikt worden. Denk daarbij aan een “tablespace” als alternatief voor een “schijf” en Oracle Net als netwerkprotocol-onafhankelijk alternatief voor bijvoorbeeld IP of DECnet (klik op “like” als je je DECnet nog herinnert). Oracle Wallet is het operating system-onafhankelijke alternatief van Oracle voor de opslag van certificaten.

Oracle Wallet wordt door de Invantive producten Invantive Estate en Invantive Vision gebruikt. Behalve deze bedrijfsoplossingen voor het beheersen van projecten kunnen ook de technologie-producten van Invantive werken met Oracle Wallet. De Invantive producten gebruiken Oracle Wallet om certificaten op te vragen als ze via https contact maken met een website of webservice. Een configuratiebestand met de naam “ewallet.p12” wordt gebruikt door Oracle Wallet om de certificaten in op te slaan. Het Oracle Wallet bestand “ewallet.p12” kan beveiligd zijn met een wachtwoord. De Oracle Wallet configuratie wordt geopend en gebruikt vanuit Oracle PL/SQL. Als het certificaat niet goed is, dan krijg je een “ORA-29024” foutmelding.

Stappen voor het inlezen van een pfx bestand in Oracle Wallet

Veel bedrijven die certificaten verstrekken gebruiken daarvoor een *.pfx bestand. Het is erg gemakkelijk om bijvoorbeeld Microsoft IIS en Apache Tomcat in te stellen zodat ze werken met een pfx bestand. Dat is wel logisch; tenslotte kan er in het pfx bestand ook een private key zitten zodat je het ook kunt gebruiken om gegevens te versleutelen voor verzending en na ontvangst te ontsleutelen door een browser zoals Google Chrome. Alleen kun je met Oracle Wallet geen pfx bestanden importeren. Ook wel weer logisch; tenslotte wordt het alleen gebruikt om de certificaten bekend te maken voor de client in de vorm van Oracle PL/SQL code.

Toch blijkt het verwerken van een certificaat in Oracle Wallet even wennen te zijn als dat bestand in pfx formaat staat. Op internet is er weinig over te vinden. Soms vind je nog een toelichting als je zoekt naar de error code “ORA-29024”. Oracle Wallet heeft de gemiddelde Oracle beheerder vrijwel nooit nodig. Om in een Oracle Wallet configuratie een pfx bestand in te lezen, volgt daarom hier het stappenplan voor Microsoft Windows:

  • Start de Microsoft Management Console (mmc):

mmc-snap-in

  • Voeg de mogelijkheid toe om Certificaten te bewerken door eerst naar het “File” menu te gaan en dan “Add/remove snap-in” te kiezen.

  • Kies “Computer Account”.

mmc-add-snap-in-certificate

  • Kies “Local”.

  • Sluit het venster om snap-ins toe te voegen.

  • Ga naar de toegevoegde snap-in “Certificates”.

  • Lees het pfx bestand in als je dit niet al gedaan hebt om de Invantive Webservice via https te laten werken.

  • Rechtsklik op het persoonlijke certificaat dat je naar Oracle Wallet wilt overzetten.

  • Kies voor “All tasks” en dan “Export”.

wizard-certificate-export

  • Kies “Next”.

  • Kies “No, do not export the private key” en “Next”.

export-private-key

  • Kies “DER encoded binary” en “Next”.

der-encoded-binary-certificate

  • Geef een bestandsnaam op voor het bestand waar het certificaat in moet komen. En kies “Next”.

filename-certificate-export

  • Controleer de samenvatting.

overview-certificate-export

  • Kies voor “Finish”.

Dankzij de mogelijkheden van Windows heb je het certificaat dat je uit het pfx bestand wilt halen omgezet naar een bestand met de extensie “der”. Echter, je bent er nog niet. De certificaten van de meeste verstrekkers van certificaten zijn niet standaard beschikbaar in Oracle Wallet. Daarom dien je ook de certificaten die liggen tussen je eigen certificaat en de reeds in Oracle Wallet bekende certificaten in te lezen. Doe dit als volgt:

  • Rechtsklik op het certificaat dat je net geëxporteerd hebt.

  • Kies “Open”.

  • Kies de tab “Certification Path”.

  • Herhaal de volgende stappen voor elk certificaat boven je eigen certificaat:

  • Klik op tussenliggend certificaat.

  • Klik op “View Certificate”.

  • Klik op tab “Details”.

  • Klik op de knop “Copy to File…”.

  • Doorloop nogmaals de wizard en sla dit certificaat op als der-bestand.

Vervolgens gaan we nu de certificaten toevoegen aan het Oracle Wallet configuratiebestand:

  • Start Oracle Wallet Manager via het startmenu om de certificaten als der-bestand in te lezen.

  • Wij zetten een configuratiebestand meestal in een map met de naam “pfile” buiten de Oracle software boom, bijvoorbeeld “i:\pfile”. Dit is dezelfde map als opgegeven in de profielopties bubs-auth-http-beurs-locatie en bubs-auth-ldap-beurs-locatie van de bedrijfsoplossingen van Invantive.Voer het wachtwoord in van het Oracle Wallet configuratiebestand “ewallet.p12”. Dit is hetzelfde wachtwoord als je bij de bedrijfsoplossingen van Invantive hebt staan bij de profielopties bubs-auth-http-beurs-wachtwoord en bubs-auth-ldap-beurs-wachtwoord.

  • Herhaal de volgende stappen voor elk der-bestand dat je gemaakt hebt.

  • Rechtsklik op “Trusted Certificates”.

  • Kies “Import Trusted Certificate…”.

  • Kies “Select a file that contains the certificate” en daarna “OK”.

select-file-with-certificate-in-oracle-wallet

  • Kies het bestand dat het certificaat in DER-formaat bevat.

oracle-wallet-choose-certificate-to-import

  • Het pfx certificaat staat nu in Oracle Wallet.

  • Kies “Wallet” in het menu en dan “Save” om het configuratiebestand met het certificaat uit het pfx bestand op te slaan.

  • Sluit Oracle Wallet af.

  • Test de werking vanuit Oracle PL/SQL.

Als je het certificaat goed hebt geïnstalleerd, dan krijg je geen ORA-29024 foutmelding meer. Als je in plaats daarvan een “ORA-28759” krijgt (openen bestand mislukt), dan loop je tegen een opmerkelijke eigenschap van Oracle Wallet aan: Oracle Wallet past automatisch de rechten op het ewallet.p12 configuratiebestand aan als je het opslaat. Alle rechten worden weggehaald en alleen de huidige gebruiker heeft nog toegang. Om de “ORA-28759” op te lossen open je via Windows Verkenner de map waar ewallet.p12 staat. Kies vervolgens “Eigenschappen”, “Beveiliging”, “Geavanceerd” en kies er dan voor om de overerfbare beveiligingen over te nemen van de map (checkbox onderaan).

Als je vragen hebt over het importen van een certificaat als pfx bestand in Oracle Wallet, vermeld ze dan hieronder.