SSL certificaat omzetten naar Domino kyr bestand

Het wil nog wel eens voorkomen dat je een bestaand SSL certificaat hebt en deze wil gaan gebruiken op je Domino HTTP Server. Een eenvoudige oplossing is natuurlijk om voor de Domino server een Apache of IIS webserver te installeren en SSL verzoeken via een proxy regel door te sturen naar Domino zonder SSL, dan is de hele oefening om een certificaat in Domino te krijgen helemaal niet nodig. Alleen kan deze oplossing niet overal gebruikt worden, of wil men deze niet gebruiken.

Dan zit er niets anders op dan of via de Domino Certificate Admin applicatie een nieuw certificaat aan te vragen bij een provider (vaak gratis binnen een bepaalde periode), of om een bestaand certificaat om te zetten.

Het aanvragen van een certificaat via de Notes applicatie is een standaard procedure die goed beschreven staat in de Administrator Help, en vaak ook bij de leveranciers van SSL certificaten, het omzetten van een Apache of IIS certificaat of importen van een wilcard certificaat is echter niet beschreven en is net iets lastiger.

Er zijn verschillende methodes waarvan ik er hier een beschrijf.

(Deze methode is met de komst van IBM Notes 9.0.1FP2 en de nieuwe kyrtool wat verouderd, lees hier over de nieuwe methode.)

Stap 1.

Open de Server Certificate Administration applicatie (certsrv.nsf), of maak deze aan met gebruik van het certsrv.ntf sjabloon.

Klik vervolgens op Create Key Ring.

certsrv_01

Vul in het “Create Key Ring” scherm alle velden in zodat deze overeen komen met het certificaat dat je wil gaan gebruiken.
Klik vervolgens op de knop “Create Key Ring” onderaan de pagina.
certsrv_02

Als alles goed gegaan is komt er een dialoog met het resultaat.
certsrv_03

Klik OK en kijk vervolgens of het sleutel paar in de opgegeven map staat.
certsrv_04

Tot zo ver is het nog allemaal standaard.
Nu gaan we echter geen “Certificate Request” indienen, want dat hebben we al….
We verlaten Notes nu even.

Stap 2.

Om in stap 3 de certificaten (het persoonlijk certificaat, het root- en eventuele intermediate certificaten goed te kunnen importeren moeten we precies weten wat de namen van de certificaten zijn. Als er geen duidelijke beschrijving mee geleverd is kunnen we de certificaten het beste openen in een internet browser zoals Internet Explorer. In het voorbeeld een oudere versie in XP (VM).

Er zijn verschillende manier van certificaat uitgifte, de ene leverancier stuurt losse bestanden, de andere slechts een bestand waar de overige certificaten in zitten (de hele reeks of chain).
In dit voorbeeld heeft een klant 1 bestand met de extensie pfx.
Start Internet Explorer, klik op Extra > Internet opties > Inhoud.

certsrv_ie01

Klik op de knop Certificaten.

certsrv_ie02

In het venster Certificaten klik je op Importeren.

certsrv_ie03

Klik op volgende en selecteer Bladeren.

certsrv_ie04

Blader naar de map waar de SSL certificaten staan. Verander eventueel bij Bestandstypen de juiste extensie.
In ons geval hebben we de klantnaam even aangepast naar wildcard.demo.pfx, dit zal normaal iets zijn als *.uwbedrijfsnaam.pfx.

certsrv_ie05

Open het bestand.

certsrv_ie06

Klik op volgende.

certsrv_ie07

Geeft het wachtwoord op dat bij de sleutel hoort en zet eventueel een vinkje bij “Deze sleutel als exporteerbaar aanmerken.” en klik op volgende.

certsrv_ie08

Klik op volgende of pas eerst de archief locatie aan indien deze niet goed staat.

certsrv_ie09

Controleer de inhoud en klik op Voltooien.
Als het goed is komt er een melding dat het importeren voltooid is. Klik daar op OK.

certsrv_ie10

Als het goed is zal in het venster Persoonlijk uw certificaat staan. In ons geval is de klantnaam doorgestreept.

certsrv_ie11

Mocht je nu niet een bestand hebben maar losse bestanden dan kan elk bestand geïmporteerd worden. Vaak hebben de root en intermediate certificaten geen wachtwoord, maar de routine is bijna gelijk aan de hier beschreven procedure.

Nu de certificaten in de browser zichtbaar zijn kunnen we kijken hoe de keten er uit ziet en de namen van de labels noteren.

Klik op Weergeven.

certsrv_ie12

In het Certificaat venster klik je op Certificeringspad. Daar kun je zien dat er naast het root certificaat nog een intermediate certificaat aanwezig is. Ook is zichtbaar dat wij het root certificaat nog moeten importeren, maar dat is voor nu niet belangrijk.

Klik op het bovenste certificaat pad en klik op de knop “Certificaat weergeven”.

certsrv_ie13

Noteer de naam achter het label “Verleend aan:”, in dit geval “AddTrust External CA Root” en klik op OK.

Doe dit voor de overige certificeringspaden ook tot aan de laatste regel. In ons geval komt er dus nog een naam bij, “PositiveSSL CA 2”

Deze gegevens hebben wij nodig om bij stap 3 in te vullen.

Mocht het nodig zijn dan kan er vanuit het certificaten venster ook een export gemaakt worden van de certificaten. In ons geval is dit niet nodig dus slaan we deze stap over en gaan naar stap 3.

Stap 3.

Om het bestaande certificaat toe te voegen aan het kyr bestand gebruiken we het programma ikeyman van IBM, o.a. te vinden op ftp://ftp.software.ibm.com/software/lotus/tools/Domino/gsk5-ikeyman.zip.
Dit programma werkt het meest eenvoudig op een 32bits Windows XP omgeving, hoewel er op internet ook meldingen zijn van mensen die het aan de praat hebben gekregen met nieuwere versies van Windows met een oude Java omgeving. Voor deze beschrijving heb ik echter een Windows XP machine gemaakt in VMWare Player.
Pak het bestand gsk5-ikeyman.zip uit.
Open vervolgens een commando prompt (dos venster).
Navigeer op de prompt naar de map waar je de ikeyman bestanden hebt uitgepakt.
In de map staan twee batch bestanden. De eerste is om de paden aan de omgevings-variabelen van Windows toe te voegen.
Type hiervoor de opdracht “gskregmod.bat Add” (zonder aanhalingstekens in) en enter.

certsrv_05

Type vervolgens “runikeyman.bat” om IBM Sleutelbeheer te starten.

certsrv_06

Als het goed is start IBM sleutelbeheer op:

certsrv_07

Kies in het menu voor sleuteldatabase openen en navigeer naar het *.key bestand dat je hebt aangemaakt in stap 1.

certsrv_08

Type het wachtwoord dat in stap 1 is ingevoerd voor het Sleutelring bestand.

Klik in het hoofdvenster onder het kopje Inhoud sleuteldatabase op het keuzeveld en kies “Certificaten van certificaatgever”.

certsrv_09

Je ziet in het venster de certificaten die in het kyr bestand staan dat we hebben aangemaakt in stap 1.
Waarschijnlijk staan de certificaten die we in stap 2 genoteerd hebben hier niet bij, en zullen we deze nu moeten toevoegen. Klik daarvoor op de “Toevoegen” knop.

certsrv_10

Kies in het toevoegen venster op het juiste gegevenstype, in ons geval hebben wij *.CER bestanden van de leverancier gekregen en kiezen we voor “Binaire DER-gegevens”. Blader naar de locatie van de certificaten en klik op OK. In ons voorbeeld importeren we het root certificaat van AddTrust.

In het volgende venster hebben we dan de naam nodig die wij in stap 2 genoteerd hebben. Het is belangrijk om dit exact over te nemen.

certsrv_11

Klik op OK.
Doe het zelfde voor de eventuele intermediate certificaten.
Het resultaat is zichtbaar in het venster van IBM Sleutelbeheer:

certsrv_12

Als laatste moeten wij nog het persoonlijke certificaat toevoegen. Klik daarvoor in IBM Sleutelbeheer op het meerkeuzevak onder Inhoud sleuteldatabase op “Persoonlijke certificaten” en klik op de knop “Importeren”.
Navigeer in het “Sleutel importeren” dialoog venster naar het persoonlijke certificaat. In ons geval was het certificaat niet zichtbaar in het bladervenster omdat bij bestandsnaam *.p12 stond. Dit is echter weg te halen zodat wel alle bestanden zichtbaar worden en wij het “wildcard.demo.nl.pfx” sleutelbestand kunnen kiezen.

certsrv_13

Klik op OK. Ook hier wordt weer gevraagd om het wachtwoord van de sleutel. Vul dit in en klik op OK.
Wanneer alles goed is gegaan ze je in het venster het certificaat dat net is ingevoerd.

certsrv_ie15

Sla het sleutelbestand op als Sleutelringbestand (*.kyr), overschrijf daarbij het eerder aangemaakt sleutelbestand. Er wordt gevraagd een wachtwoord in te voeren, en eventueel kan de geldigheidstermijn daarvan ingesteld worden.
certsrv_ie16

Klik OK, deze stap is daarmee afgerond.

Stap 4.

Wij hebben in de voorgaande stappen een sleutelpaar aangemaakt, en de certificaten toegevoegd. Om zeker te zijn dat Domino de sleutels kan lezen kunnen we deze nogmaals openen in IBM Notes met de “Server Certificate Admin”.

Klik daarvoor in link in het menu op “View & Edit Key Rings”
Kies boven in het menu voor de knop “Select Key Ring to Display”

Type het volledige pad in naar het sleutelringbestand dat we in de eerdere stappen hebben gemaakt en aangepast.
Geef het wachtwoord in en klik OK.
Als alles goed is gegaan zien we nu bij Site Certificates een KeyPair en ons persoonlijke certificaat.
Bij Certificate Authorities moeten het root- en intermediate certificaten staan die we eerder hebben geïmporteerd.

certsrv_ie17
Als dit klopt kunnen we het *.kyr en bijbehorend *.sth bestand kopiëren naar de data map van de Domino Server.

In de configuratie van de Domino server dient de naam van het sleutelbestand natuurlijk overeen te komen met de bestandsnaam, maar als je al zo ver bent gekomen zal dat geen probleem mogen opleveren.

Herstart de HTTP taak en als het goed is heb je een werkend SSL certificaat. Controleer dit eventueel door op de Domino console het commando “Tell HTTP show security” in te geven.

Mocht je er ondanks deze instructies niet uitkomen kun je altijd contact met ons opnemen. Of plaats je reactie onder dit bericht.

Overige bronnen:
https://www.sslcertificaten.nl/
http://www.ibm.com/

Wat is IBM Notes

IBM Notes is de client van de client-server groupware-toepassing gemaakt in 1989 door het bedrijf Lotus Development Corporation in samenwerking met Iris Associates waar in de tijd Ray Ozzie de eigenaar van was.
In 1995 werd Lotus gekocht door IBM en omgedoopt in de Lotus Development afdeling van IBM, tegenwoordig onderdeel van de IBM Software Group.

Tot begin 2013 was IBM Notes bekend onder de naam Lotus Notes.
De producten hadden soms de naam Lotus nog, bijvoorbeeld IBM Lotus Domino, maar in maart 2013 heeft IBM de naam Lotus laten vervallen.

Eind december 2018 is bekend gemaakt dat IBM een aantal producten, waar onder IBM Notes, verkocht heeft aan het Indiase HCL Technologies.

Notes is vooral bekend als e-mail programma, en wordt daarom vaak in één adem genoemd met Microsoft Outlook.
Dit is niet helemaal terecht omdat Notes in combinatie met de krachtige server, Domino genaamd, veel meer kan dan alleen mail verwerken.
Met Domino en Notes halen bedrijven een compleet samenwerkingsplatform in huis met een zeer lage Total Cost of Ownership.

De Notes client software is beschikbaar voor Linux, MacOS en natuurlijk MicroSoft Windows.
De software kan geïsoleerd gebruikt worden, maar meestal in combinatie met de Domino server.
Voor ontwikkelaars van Notes applicaties is er een gratis op Eclipse gebaseerde versie van Notes beschikbaar, de Domino Designer.

Domino is dus de server software en draait op Windows, Linux, IBM iSeries, IBM zSeries en diverse Unix-varianten.

Wat kunnen Domino en Notes?

Mail

Domino is onbetwistbaar een eersteklas mail server. De server ondersteunt IMAP, POP3, SMTP en Notes Mail.
Notes is de mail client software, maar de mail kan ook gelezen worden via een webbrowser of een mail client die IMAP of POP3 ondersteunt.
Als mail server is Domino een goed alternatief voor Microsoft Exchange.

Agenda

De Notes client kunt u gebruiken als agendabeheersysteem, vergelijkbaar met Microsoft Outlook.
De Domino server zorgt ervoor dat u uw agenda kunt uitwisselen met collega’s en vergaderingen kunt plannen, zalen kunt reserveren, taken kunt delegeren.

GroupWare

IBM is de ‘uitvinder’ van GroupWare, software die teams helpt om efficiënter samen te werken. IBM bood organisaties al een ‘Intranet’ voor die term uitgevonden was.
Met de Notes client kunnen bijgeleverde toepassingen snel geïmplementeerd worden (discussieforums, blogs, documentenbeheer, groep samenwerking enzovoort.
Eindgebruikers kunnen eenvoudig eigen toepassingen bouwen (indien toegestaan door de beheerder), maar met het voordeel dat de software via de server door iedereen kan gebruikt worden.

(Web) Applicatie Server

De Domino server biedt een volwaardige programmeeromgeving (LotusScript of Java) om toepassingen te bouwen die draaien in de Notes client of in een webbrowser.
Ook is er een groot aanbod aan software, waarvan ook open source, verkrijgbaar voor Notes. Tevens zijn er diverse koppelingen denkbaar met andere systemen en databases.

Traveler

Als er in combinatie met de Domino server ook nog eens Traveler geïnstalleerd is (gratis voor Domino gebruikers), kunnen berichten, agenda afspraken en taken, ook met Apple iOS, Android,  en Windows Phone gesynchroniseerd worden.