PKIoverheid truststores
Deze pagina bevat de truststore-bundel met de CA-certificaten van PKIoverheid Private Services voor het productie- en test-netwerk van Nuts. Onder die hiërarchie geeft PKIoverheid UZI-servercertificaten en andere private servercertificaten uit. De Nuts-node gebruikt de bundel om de TLS-certificaten van andere nodes op het gRPC-netwerk te controleren. De reverse proxy gebruikt de bundel om de client-certificaten te controleren van partijen die de FHIR- of andere data-endpoints aanroepen.
| Bundel | Bestand | Hiërarchieën | Gebruik |
|---|---|---|---|
| Productie | /certs/production/truststore.pem | PKIoverheid Private Services G1 en G4 | Het productie-netwerk en het test-netwerk (acceptatie) van Nuts |
Op het test-netwerk (acceptatie) gelden dezelfde PKIoverheid Private Services-certificaten als op productie. Het stable-netwerk (non-production) gebruikt geen PKIoverheid-certificaten, maar certificaten van de Nuts development CA. De truststore daarvoor staat in nuts-foundation/nuts-development-network-ca. De testcertificaten van CIBG (TEST en ACCEPTATIE) zitten niet in de bundel: die worden op geen enkel Nuts-netwerk gebruikt.
De bundel is een PEM-bestand. Boven elk certificaat staat als commentaar het subject, de bron-URL en de SHA-256 thumbprint. TLS-bibliotheken (OpenSSL, Go, nginx, HAProxy, Traefik) negeren die regels.
Controleer de bundel vóór gebruik. Nuts biedt de bundel aan als hulpmiddel; leveranciers blijven zelf verantwoordelijk voor de inhoud van hun truststore. Volg daarvoor de verificatiestappen en vergelijk ieder certificaat met de uitgever (Logius of CIBG), ook na iedere update van de bundel.
Inhoud van de bundel
Binnen Nuts wordt ieder servercertificaat dat onder PKIoverheid Private Services is uitgegeven vertrouwd voor TLS-verbindingen, of dat nu door het UZI-register, KPN, DigiCert of Digidentity is gedaan. PKIoverheid noemt die uitgevers Trust Service Providers (TSP's). Daarom bevat de productiebundel de root-CA's, intermediate-CA's en TSP-CA's van al die uitgevers, niet alleen die van CIBG. De ZOVAR-CA's (certificaten voor zorgverzekeraars) zijn weggelaten om de bundel niet groter te maken dan nodig: zorgverzekeraars zijn nog niet actief in het Nuts-ecosysteem. Dat is geen beveiligingsmaatregel. ZOVAR-certificaten vallen onder hetzelfde PKIoverheid-regime en worden gewoon geaccepteerd als een partij zijn volledige keten meestuurt, want die valideert tegen dezelfde roots. De did:x509-pins in de toepassingsdefinities zijn wel UZI-specifiek, maar die staan los van deze bundel.
De ingetrokken TSP-CA's uit 2024 (zoals UZI Server - G4 PKIo Priv G-TLS SYS - 2024, ingetrokken op 29-10-2025) zitten niet in de bundel. De G1-hiërarchie verloopt in november 2028; vanaf 12 november 2026 geeft CIBG alleen nog onder G4 uit.
Bron: cert.pkioverheid.nl (Logius).
| Hiërarchie | Certificaat (subject CN) | Bron (download bij de uitgever) | SHA-256 thumbprint (DER) |
|---|---|---|---|
| G1 | Staat der Nederlanden Private Root CA - G1 | PrivateRootCA-G1.cer | 0257ce27b52408e24ee2c0945640b723c5bc66ddbda4ada58c60357604f0e675 |
| G1 | Staat der Nederlanden Private Services CA - G1 | DomPrivateServicesCA-G1.cer | 2eaaf678e645dc26ea82c016ef3960935659cf81b4c44d9b2d0fb1a142666c98 |
| G1 | DigiCert QuoVadis PKIoverheid Private Services CA - 2023 | DigiCertQuoVadisPKIoverheidPrivateServicesCA2023.cer | b63a82ce98e9fe704dc42b7cb4b63d4bf0646b1d0754f9a4c696a4afb39436bc |
| G1 | Digidentity BV PKIoverheid Private Services CA - G1 | Digidentity_BV_PKIoverheid_Private_Services_CA-G1.cer | bfe8f634772b0ec2cd2a41a17fc7612577d7e24f934073dec89a991b6169687e |
| G1 | KPN PKIoverheid Private Services CA - G1 | KPN_PKIoverheid_Private_Services_CA-G1.cer | bdb68500aaae2563c57b4525784360436d3e3fd8df974b25a77f132cecc2a49d |
| G1 | QuoVadis PKIoverheid Private Services CA - G1 | QuoVadis_PKIoverheid_Private_Services_CA-G1.cer | 69df8d18c54503f83dc239c3dcf8115b2a447efc5defca6119d18e988c12276d |
| G1 | UZI-register Private Server CA G1 | UZI-register_Private_Server_CA_G1.cer | bdd860ef8e87e2b2c7ebb34dd6e9e1771a3a3c5dec850ba7080e3e2904dbd897 |
| G4 | Staat der Nederlanden - G4 Root Priv G-TLS - 2024 | StaatderNederlandenG4RootPrivGTLS2024.cer | 4411f67d3d7f4f49d34ff8862249de0d6692adc92df0855fb1dd67a169800484 |
| G4 | Staat der Nederlanden - G4 Intm Priv G-TLS SYS - 2024 | StaatderNederlandenG4IntmPrivGTLSSYS2024.cer | a24f6f2fa192dd96ceeaf8d4c380d8663426f95858956a5adff5cfd36b30554f |
| G4 | DigiCert - G4 PKIo Priv G-TLS SYS - 2025 | DigiCertG4PKIoPrivGTLSSYS2025.cer | a3234374ce91c000c929c66daade6c85457d61850e6fb388e349fd710a9bb305 |
| G4 | Digidentity - G4 PKIo Priv G-TLS SYS - 2025 | DigidentityG4PKIoPrivGTLSSYS2025.cer | fc6b0573c096991e59e886e28e314dfd74d96a8ea3976e197f23c2e5c49acd87 |
| G4 | KPN - G4 PKIo Priv G-TLS SYS - 2025 | KPNG4PKIoPrivGTLSSYS2025.cer | 2b4ee93832a4b2ca349e86c21caf8f959b106c2d0aa6fd49a983fca00574d1a6 |
| G4 | UZI Server - G4 PKIo Priv G-TLS SYS - 2025 | UZIServerG4PKIoPrivGTLSSYS2025.cer | b034cbfffcafe784edaef49fefad354edbc7823d8d6522d3da6f8e91ff28aa42 |
Gebruik van de bundel
De bundel hoort in de truststore van de Nuts-node en in de client-certificaatconfiguratie van de reverse proxy, voor de endpoints die mTLS vereisen. Zie de Nuts-node documentatie voor de configuratie.
Verifiëren
Twee stappen volstaan. Haal de twee roots op bij de uitgever en vergelijk hun thumbprints met de tabel hierboven (de G4-root ook met uziregister.nl, waar CIBG de SHA-1- en SHA-256-thumbprints publiceert). Controleer daarna dat ieder certificaat in de bundel door een van die roots is ondertekend, direct of via een intermediate uit de bundel. Alleen wie de privésleutel van een root heeft, kan een certificaat maken dat eraan koppelt, dus hiermee is de hele bundel gecontroleerd. Van de bundel als geheel publiceren we bewust geen checksum.
# 1. Haal de twee roots bij de uitgever en toon hun thumbprints.
# Vergelijk die met de tabel; de G4-root ook met uziregister.nl.
for r in PrivateRootCA-G1 StaatderNederlandenG4RootPrivGTLS2024; do
curl -sSf "https://cert.pkioverheid.nl/$r.cer" -o "$r.cer"
openssl x509 -inform DER -in "$r.cer" -noout -subject -fingerprint -sha256
openssl x509 -inform DER -in "$r.cer" >> roots.pem
done
# 2. Controleer dat ieder certificaat in de bundel door een van die roots is ondertekend.
# Verwacht: 13 regels die eindigen op OK.
awk '/BEGIN CERT/{f=sprintf("bundle-%02d.pem",++n)} f{print > f} /END CERT/{f=""}' truststore.pem
for f in bundle-*.pem; do
openssl verify -CAfile roots.pem -untrusted truststore.pem "$f"
done
Beheer
Een fout of verlopen certificaat gezien? Meld het via een issue. Een beveiligingsprobleem, bijvoorbeeld een certificaat in de bundel dat niet van de uitgever afkomstig is? Meld dat niet via een openbaar issue, maar volg de responsible-disclosureprocedure van Nuts.