NICE FHIR Beta - Frequent Asked
Questions
Mis je een vraag of heb je feedback laat het
ons weten.
Hoe stuur ik een FHIR bundle via een beveiligde verbinding
met client certificaten?
Per ziekenhuis moet client certificaat eerst geregistreerd
worden. Dit kan men doen door als ziekenhuis in NICE Online in te
loggen. Als de NICE Online account de rechten certificate-registration
heeft, dan ziet men een link op de startpagina van NICE Online. Via
de link https://stichting-nice.nl/certificate-registration/
kan men een certificaat registeren. De juiste rechten aanvragen kan
via info@. De geregistreerde certificaat hoort niet verlopen
te zijn en gesigned zijn door een door een CA. Een self-signed
certificaat wordt niet geaccepteerd voor mTLS (mutual Transport
Layer Security). Bij het registreren van een certificaat wordt een
account gemaakt voor de applicatie, met de rechten FHIR-Applicatie.
Bij het opzetten van een een mTLS verbinding wordt de certificaat
standaard gecontroleerd op vervaldatum en een valide CA. Dit is
alleen mogelijk als er genoeg intermediare certificaten worden
opgestuurd tot een door ons bekende client CA.
Bij het versturen van een bundle naar onze FHIR applicatie
vind een extra controle plaats of de public key van de verstuurde
certificaat matched met de public key van de geregistreerde
applicatie.
Hoe kan ik zien welke client CA bekend is bij de NICE?
In linux kan de volgende commando worden gebruikt als openssl
is geinstalleerd.
openssl s_client -crlf -connect
fhir.stichting-nice.nl:443 -servername fhir.stichting-nice.nl
Onder de regel Acceptable client certificate CA names zijn de
DN namen van CA die geaccepteerd worden.
Hoe kan is zien welke intermediare certificaten in mijn p12
of pfx bestand zijn?
Een p12 of pfx bestand kan uitlezen worden via:
openssl pkcs12 -nodes -in client.p12 -out client.pem
In de client.pem bestand is de eerste bestand de client
certificaat, vervolgd door de CA certificaten en eindigend met de
private key
Hoe maak ik een p12 bestand met de juiste intermediare
certificaten?
Een certificaat is vaak een base64 tekst bestand. Hierdoor kan
een intermediare ca chain maken door, eerst de certificaten op
volgorde van signed aan elkaar te plakken. De client certificaat is
geen onderdeel van deze chain.
cat intermediare-ca.crt root-ca.crt > client-chain.crt
Na het maken van zo'n chain deze toegevoegd worden met de
client signed certificaat, de private key tot een p12 bestand
openssl pkcs12 -export -name "My Client Certificate"
-out client.p12 -inkey client.key -in client.crt -certfile
client-chain.crt -passin pass:password
Mijn client certificaat is geregistreerd maar wordt niet
herkend?
Problemen waardoor client certificaten niet wordt herkent:
- Client certificaat is self-signed en dus niet
gesigned door een door ons bekende CA. Hoewel het mogelijk is om
een self-signed certificaat te registreren, kan deze niet gebruikt
worden voor mTLS communicatie.
- Client certificaat is gesigned door een intermediate
CA dat door ons niet bekend is. Bij het opzetten van mTLS
verbinding, moet niet alleen de client certificaat, maar alle
certificaten van intermediare CA die bij ons niet bekend zijn
worden opgestuurd.
- Client certificaat verval datum is verlopen en moet
opnieuw geregisterd worden. Registreerd de certificaat weer via https://stichting-nice.nl/certificate-registration/
- De certificaat is niet gemaakt voor Web Client
Authentication Bekijk de certificaat bedoeld is voor TLS Web
Client Authentication. Dit kan je vinden met openssl onder X509v3
Extended Key Usage.
openssl x509 -in client.crt -noout
-text. In Windows na dubbel klik hoort bij de Details Extended Key
Usage, Client Authentication te staan.
Hoe kan ik mijn client certificaat testen?
Als men in het bezit is van een client certificaat met diens private
key, zoals in een pfx of p12 bestand, dan deze worden geimporteerd in
een browser als client certificaat. Bij het browser met deze browser
naar https://beta.stichting-nice.nl/cert/
zal worden gevraagd of deze certificaat kan worden opgestuurd. De
private sleutel wordt niet opgestuurd bij een mTLS verbinding. Bij
een succesvolle mTLS verbinding zal de gebruikersnaam en de
Distinguished Name op de pagina worden getoond.
Testbestand
Voorbeeld van een het versturen van een bestand in curl in Windows
Powershell met een ziekenhuisnummer 3, icno 1 en admno 123. De
privatekey, certificaat en certifate CA chain opgeslagen in bestand
client.pfx met wachtwoord password.
.\curl.exe --cert ./client.pfx:password --cert-type p12
-X PUT -H "Content-Type: application/fhir+xml" --data-binary
'@test.xml'
https://beta.stichting-nice.nl/fhir/R4/Bundle?identifier=https://stichting-nice/fhir/identifier/3/1/admission%7C123
Voorbeelden: Voorbeelden
Inzien van opgestuurde data
Met NICE Online account met de rechten de rechten nice-fhir-query
is het mogelijk om de succesvol verwerkte data terug te zien in json
formaat. De gebruiker kan alleen de aan de NICE Online account
gekoppelde ziekenhuis.
https://beta.stichting-nice.nl/nice-fhir-query/.