wiki:Documentatie/Ontwikkelaar/Procedures/Zorgdomein/TestTools

Version 14 (modified by henk, 7 years ago) (diff)

--

TOC(heading=Zorgdomein, sectionindex, compact, depth=4, allactive, Documentatie/Ontwikkelaar/Procedures/Zorgdomein/)? TOC(heading=Procedures, sectionindex, compact, depth=3, allactive, Documentatie/Ontwikkelaar/Procedures/)? TOC(heading=Ontwikkelaar, sectionindex, compact, depth=2, allactive, Documentatie/Ontwikkelaar/)? TOC(heading=Documentatie, sectionindex, compact, depth=1, allactive, Documentatie/)?

Test tools

Deze pagina beschrijft welke mogelijkheden er zijn om de Zorgdomein koppeling te testen.

TIO

TIO is de test site van Zorgdomein op https://tio.zorgdomein.nl/. Hier kunnen verwijzingen worden aangemaakt die worden verstuurd naar OpenACHub.

OpenACHubClient

Met OpenACHubClient kan de security scan van Zorgdomein worden geëmuleerd. De scan kan zowel worden uitgevoerd met een lokale OpenACHub server als met de Azure server op zd.fenac.nl. Om OpenACHubClient te kunnen gebruiken moet OpenACHub zo worden ingericht dat wordt getest op het Fenac root-certificaat en Fenac public key in plaats van het Zorgdomein root-certificaat en de Zorgdomein public key.

Fenac test-certificaat

In de productie verstuurt Zorgdomein verwijzingen met een self signed X509-certificaat. Het root-certificaat (CA) waarmee het Zorgdomein client-certificaat is gesigned is op de Azure server geïnstalleerd in /usr/local/share/ca-certificates. Dit is nodig omdat het certificaat anders niet gevalideerd kan worden. De naam is zorgdomein.crt, dit is een symbolic link naar zorgdomein.pem. Het root-certificaat hebben we van Zorgdomein gekregen. Als we testen met OpenACHubClient dan gebruiken we een door ons zelf uitgegeven self signed X509-certificaat. Ook hiervan is het root-certificaat op de Azure server geïnstalleerd in /usr/local/share/ca-certificates. De naam is zd.fenac-test.nl.root.crt.

Certificaten

Het self signed test-clientcertificaat en het root-certificaat zijn ingecheckt in het OpenACTools project en staan in de map ssl-ca\fenac_root_en_test.

zd.fenac-test.nl.root.keyDe private key van het root-certificaat in PEM-formaat
zd.fenac-test.nl.root.crtHet root-certificaat in PEM-formaat
zd.fenac-test.nl.root.srlHet serial-bestand, bedoeld om bij te houden hoeveel certificaten er met dit root-certificaat zijn gesigned. In combinatie met optie -CAserial
fenac-test.nl.keyDe private key van het test-certificaat in PEM-formaat
fenac-test.nl.csrSigning Request voor het test-certificaat in PEM-formaat
fenac-test.nl.crtHet test-certificaat in PEM-formaat
fenac-test.nl.pfxHet test-certificaat in PFX-formaat
fenac-test.nl.pub.keyDe public key van het test-certificaat in PEM-formaat

Als het nodig is om het root- en test-certificaat opnieuw aan te maken dan zijn dit de stappen:

Key aanmaken voor het root-certificaat (CA):

openssl genrsa -des3 -out zd.fenac-test.nl.root.key 4096

Aanmaken en signen van het root-certificaat (CA):

openssl req -x509 -new -nodes -key zd.fenac-test.nl.root.key -sha256 -days 1024 -out zd.fenac-test.nl.root.crt

Key aanmaken voor het test-certificaat:

openssl genrsa -out fenac-test.nl.key 2048

Signing Request aanmaken voor het test-certificaat:

openssl req -new -key fenac-test.nl.key -out fenac-test.nl.csr

Test-certificaat aanmaken en signen met het root-certificaat en key:

openssl x509 -req -in fenac-test.nl.csr -CA zd.fenac-test.nl.root.crt -CAkey zd.fenac-test.nl.root.key -CAcreateserial -out fenac-test.nl.crt -days 1000 -sha256

Certificaat converteren naar PFX-formaat voor gebruik in OpenAC:

openssl pkcs12 -export -out fenac-test.nl.pfx -inkey fenac-test.nl.key -in fenac-test.nl.crt

Configuratie OpenACHub

In appsettings.json moeten het Fenac testcertificaat en public key worden geconfigureerd.

Voorbeeld:

    "TwoWayClientCertStrictCheck": {
      /* "CertificateFile": "D:/projecten/OpenACTools/ssl-ca/zorgdomein.pfx",  */
      "CertificateFile": "D:/projecten/OpenACTools/ssl-ca/fenac_root_en_test/fenac-test.nl.pfx",
      "CertificatePassword": "wachtwoord",
      "Enabled": true
    },

    "JWTPublicKeySignatureStrictCheck": {
      "PemFile": "D:/projecten/OpenACTools/ssl-ca/fenac_root_en_test/fenac-test.nl.pub.key",
      "PemPassword": "",
      "Enabled": true
    }

Configuratie OpenACHubClient

In appsettings.json moet het Fenac testcertificaat en de uit te voeren tests worden geconfigureerd.

  • Zorgdomein.Clientcertificate.File instellen op het volledige pad naar OpenACTools/ssl-ca/fenac_root_en_test
  • Zorgdomein.Clientcertificate.Password instellen op het wachtwoord dat is ingecheckt in wachtwoord.txt
  • Tests die je wilt uitvoeren op true zetten

Voorbeeld:

{
  "Zorgdomein": {
    "Host": "zd.fenac.nl",
    "Port": "2700",
    "Clientcertificate": {
      "File": "D:/projecten/OpenACTools/ssl-ca/fenac_root_en_test/fenac-test.nl.pfx",
      "Password": "ww-dd-zd"
    },
    "ScanConfig": {
      "ValidCertificateValidJwt": true,
      "NoCertificateValidJwt": true,
      "ValidCertificateNoJwt": true,
      "ValidCertificateNoSignatureJwt": true,
      "ValidCertificateInvalidSignatureJwt": true,
      "ValidCertificateInvalidSigningAlgorithMJwt": true,
      "ValidCertificateExpiredJwt": true
    }

  }
}

Attachments (2)

Download all attachments as: .zip