Certificaat testen met Postman

Vooraf

Voor het testen van een certificaat, maken we onderscheid tussen:

  1. het maken van een connectie en authenticatie
  2. Het maken van een call met de FHIR service en authorisatie.

Als voorbeeld maken we gebruik van ziekenhuis 88. We hebben drie bestanden nodig:

  • de private key: zkh88.key
  • de public key: zkh88.crt
  • de CA-chain: nice-ca-chain.pem

Let op: de CA-chain anders kan zijn, indien u gebruik maakt van een erkende CA!

Connectie en authenticatie

Als eerste willen we alleen kijken of het certificaat geaccepteerd wordt door de server. Dit kan op verschillende manieren. Hier maken we gebruik van Postman. Met Postman kan worden getest of de certificaten worden geaccepteerd door de NICE FHIR server.

Als er nog geen certificaat is gekoppeld aan Postman, ga dan naar het kopje Toevoegen certificaat aan Postman.

Als een HTTP GET wordt gedaan naar https://fhir.stichting-nice.nl/R4/metadata zonder eerst een certificaat te hebben toegevoegd, zal deze een 401 - Unauthorized teruggeven: http get with postman without certificate http get with postman without certificate

Wanneer er in het antwoord de http status 403 staat, betekent dit dat het certificaat is geaccepteerd, maar dat aan het certificaat nog geen rechten zijn gekoppeld. Dit klopt omdat het pas rechten krijgt wanneer het certificaat wordt geregistreerd. http get with postman with unauthenticated certificate http get with postman with unauthenticated certificate

Wanneer het antwoord de http status 401 is, ondanks dat een certificaat is gekoppeld, dan betekent dit dat het certificaat wordt geweigerd. Mogelijk is dan het certificaat niet goed (bijv expired) of is de ca-chain niet goed of de ca-chain ontbreekt. Het resultaat is dezelfde melding als wanneer helemaal geen certificaat wordt gestuurd.

Connectie en autorisatie

Wanneer het certificaat is geregistreerd via de certificate-registration applicatie (registratie-certifiate applicatie), kan opnieuw met Postman (voorzien van het geregistreerde certificaat) opnieuw een HTTP GET worden gedaan. Nu zal een http status 200 (ok) met als body de fhir capability statement worden teruggegeven. http get with postman with valid and authenticated certificate http get with postman with valid and authenticated certificate

Hiermee is de test geslaagd: Het certificaat is geaccepteerd en geauthoriseerd.

Toevoegen certificaat aan Postman

Om een certificaat toe te voegen in Postman:

  • klik in de balk boven in het Postman scherm op het tandwieltje. Klik vervolgens op “Settings”. postman cogwheel postman cogwheel

  • Klik op “Certificates” en klik vervolgens bij “Client certificates” op “Add Certificate…” postman certificate settings postman certificate settings

  • Geef bij “Host” het adres van de NICE FHIR server op: fhir.stichting-nice.nl. Laat de poort op standaard staan (443). Upload bij “CRT file” het .crt bestand (het certificaat) en bij “KEY file” de .key file (de private key). Vul bij “Passphrase” het wachtwoord van de private key in. Klik als laatst op “Add”. postman Add Certificate postman Add Certificate

  • Als dit correct is gedaan zal het “Certificates” scherm er ongeveer zo uit zien waarbij de locaties en namen van de crt en key files kunnen verschillen afhankelijk van uw omgeving. postman certificate added postman certificate added

  • Als laatst moet de CA chain worden toegevoegd zodat Postman deze kan meesturen met de HTTP requests. In het “Certificates” scherm, klik op het schuifje bij “CA Certificates” om dit in te schakelen. Upload bij “PEM file” het .pem bestand (de CA chain). postman certificate added with ca postman certificate added with ca