| Version 25 (modified by henk, 7 years ago) (diff) |
|---|
TOC(heading=Test tools)? 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.key | De private key van het root-certificaat in PEM-formaat |
| zd.fenac-test.nl.root.crt | Het root-certificaat in PEM-formaat |
| zd.fenac-test.nl.root.srl | Het serial-bestand, bedoeld om bij te houden hoeveel certificaten er met dit root-certificaat zijn gesigned. In combinatie met optie -CAserial |
| fenac-test.nl.key | De private key van het test-certificaat in PEM-formaat |
| fenac-test.nl.csr | Signing Request voor het test-certificaat in PEM-formaat |
| fenac-test.nl.crt | Het test-certificaat in PEM-formaat |
| fenac-test.nl.pfx | Het test-certificaat in PFX-formaat |
| fenac-test.nl.pub.key | De 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
Public key exporteren:
openssl x509 -pubkey -noout -in fenac-test.nl.crt > fenac-test.nl.pub.key
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
Root certificaat installeren:
Op Windows:
Dubbelklik op zd.fenac-test.nl.root.crt. Er verschijnt een dialoog met o.a. de tekst "Dit CA-basiscertificaat wordt niet vertrouwd". Kies "Certificaat installeren...", vervolgens "Lokale computer" en "Automatisch het certificaatarchief selecteren op basis van het type certificaat".
Op Linux:
sudo cp zd.fenac-test.nl.root.crt /usr/local/share/ca-certificates sudo update-ca-certificates
Configuratie OpenACHub
In appsettings.json moeten het Fenac testcertificaat en public key worden geconfigureerd.
- TwoWayClientCertStricCheck.CertificateFile instellen op het volledige pad naar OpenACTools/ssl-ca/fenac_root_en_test/fenac-test.nl.pfx
- TwoWayClientCertStricCheck.CertificatePassword instellen op het wachtwoord dat is ingecheckt in wachtwoord.txt
- JWTPublicKeySignatureStrictCheck instellen op het volledige pad naar OpenACTools/ssl-ca/fenac_root_en_test/fenac-test.nl.pub.key
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": "wachtwoord"
},
"ScanConfig": {
"ValidCertificateValidJwt": true,
"NoCertificateValidJwt": true,
"ValidCertificateNoJwt": true,
"ValidCertificateNoSignatureJwt": true,
"ValidCertificateInvalidSignatureJwt": true,
"ValidCertificateInvalidSigningAlgorithMJwt": true,
"ValidCertificateExpiredJwt": true
}
}
}
Security scan uitvoeren
- Zorg dat in appsettings.json van OpenACHubClient de opties Host en Port goed staan ingesteld, afhankelijk van of je OpenACHub lokaal of op de Azure server wilt testen.
- Als je lokaal wilt testen, start OpenACHub
- Start OpenACHubClient
Als alle tests met goed resultaat zijn afgerond dan is dit het resultaat:
Als er fouten zijn dan staan er één of meerdere errors in het rood:
Bij elke fout staat de verwachte en de werkelijke HTTP-statuscode.
Attachments (2)
- security_scan_ok.png (32.0 KB) - added by henk 7 years ago.
- security_scan_fouten.png (33.8 KB) - added by henk 7 years ago.
Download all attachments as: .zip

