SID:Kwalificatie-tech

Uit Kennisnet Developers Documentatie
Naar navigatie springen Naar zoeken springen

Nummervoorziening-symbol.png Nummervoorziening: Kwalificatie-tech

Kwalificatietest – services

Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.

De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis.

Info.gif Het endpoint van de service op de kwalificatieomgeving is https://service-q.ketenid.nl/eck/ws/201703/

Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.

Info.gif De URL van de beheerapplicatie op de kwalificatieomgeving is https://beheer-q.nv.kennisnet.nl/admin/

De service tests zijn beschikbaar als SOAPUI project. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.

Info.gif SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.

Let op
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.

Ping test (service: ping)

In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.

Request 1

  1. Stuur een ping request.

Response 1

  1. Stel vast dat het antwoord geen SOAP Fault is

  2. Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).

Request 2

  1. Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen http://www.w3.org/2005/08/addressing/anonymous bevat, dwz geen geldig oin.

Response 2

  1. Stel vast dat het antwoord een SOAP Fault is
  2. Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”

Request 3

  1. Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000

Response 3

  1. Stel vast dat het antwoord een SOAP Fault is
  2. Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.
  3. Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.

Ophalen ECK ID test (service: retrieveEckId)

Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.

Request 1 - 10

  1. Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.

Parameters voor het genereren van de gehashte PGNs zijn:

  • N = 131072
  • r = 8
  • p = 4
  • salt = rktYml0MIp9TC9u6Ny6uqw==

Response 1 - 10

  1. Ga na dat de response geen SOAP fault is.
  2. Ga na dat het antwoord het correcte ECK ID bevat
Tabel 1
PGN hPGN Stampseudoniem
139227672 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e
170612673 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24 https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b
220500186 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6 https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc
307702522 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7
479694217 a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04 https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83
543997911 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841 https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77
586613675 a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9 https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc
644153258 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75
666614192 f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401 https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487
702289905 dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1 https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25
854868604 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7
992795862 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3 https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639

Request 11 – 20

  1. Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.
Tabel 1
No. Stampseudoniem (6) ECK ID
0 f7c98e https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa
1 684c5b https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8
2 0df7bc https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168
3 fc37d7 https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683
4 435f83 https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4
5 eeea77 https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a
6 1272cc https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715
7 474e75 https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5
8 30c487 https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9
9 b42b25 https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d
10 4696c7 https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92
11 279639 https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206


  1. Haal voor identifiers uit Tabel 2 het ECK ID op. Gebruik een eigen, onafhankelijk request voor elke identifier. Gebruik de ECK keten en de VO sector.

Response 8 – 21

  1. Ga na dat het response geen SOAP Fault is
  2. Ga na dat het antwoord het correcte ECK ID bevat
Tabel 2
Identifier hPGN (6) ECK ID
17ff6722@54321 6a6d93
4ah4ef55@54321 51190c
abc@3hof.nl@54321 f67e91
Albert.Bijker@driehof.nl:54321 7e8fd5
ca663d43@54321 975792
mkb@3hof.nl@54321 eb4637
tkr@3hof.nl@54321 882bf4
vvd@3hof.nl@54321 735af7
{1c19a9c8-051d-469b-a821-55ed475bfd61} 7f355b
{761bb5af-989c-4cef-aac0-168755c4f247} 77d650
{8c4fd902-6460-4121-aeca-169f6d39ba6b} ba5cf2
{8fecd96c-ad4d-40a8-a751-a5d35d649f47} e7e7a7
{fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e} 74b62a

Onderstaande tests 22 - 25 gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.

Request 22

  1. Haal een ECK ID op voor een leeg PGN. Gebruik de ECK keten en de VO sector.

Response 22

  1. Stel vast dat het response een SOAP fault is
  2. Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat
  3. Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is

Request 23

  1. Haal een ECK ID op en gebruik een gehasht PGN dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.

Response 23

  1. Stel vast dat het response een SOAP Fault is
  2. Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “HPgn is te kort. Een tekenreeks van minimaal 64 karakters werd verwacht.”
  3. Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is

Request 24

  1. Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.

Response 24

  1. Stel vast dat het response een SOAP Fault is
  2. Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”
  3. Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is

Request 25

  1. Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.

Response 25

  1. Stel vast dat het response een SOAP Fault is
  2. Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”
  3. Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is

Substitutie test (service: replaceEckId)

Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.

Substitutie 1

  1. Haal een ECK ID op voor PGN 154341101. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.

  2. Haal een ECK ID op voor PGN 167617345. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.

  3. Roep de substitutieservice aan om het PGN 154341101 te vervangen door 167617345. Gebruik de ECK keten en de VO sector.

  4. Haal een ECK ID opnieuw op voor PGN 154341101. Gebruik de ECK keten en de VO sector.

    1. Stel vast dat de response een SOAP Fault is.

    2. Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.

    3. Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.

  5. Haal een ECK ID opnieuw op voor PGN 167617345. Gebruik de ECK keten en de VO sector.

    1. Stel vast dat de response geen SOAP Fault is.

    2. Stel vast dat het geleverde ECK ID in het response gelijk is aan ‘oud ECK ID’, en niet aan ‘nieuw ECK ID’.

Substitutie 2

  1. Haal een ECK ID op voor PGN 942798016. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.

  2. Haal een ECK ID op voor PGN 952351626. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.

  3. Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.

    1. Stel vast dat de response geen SOAP Fault is

  4. Roep de substitutieservice aan om het PGN 603778872 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.

    1. Stel vast dat de response een SOAP Fault is

    2. Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat

    3. Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.

  5. Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.

    1. Stel vast dat de response een SOAP Fault is

    2. Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat

    3. Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.

Batch test (service: submitEckIdBatch, retrieveEckIdBatch)

Deze tests gaan na of het aansluitende systeem zich netjes aan de limieten van de batch verwerking houdt.

Batch 1

  1. Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 een ongeldige waarde heeft (te lang of te kort) of leeg is. Gebruik de ECK keten en de VO sector.

  2. Stuur het batch request op.

    1. Stel vast dat het antwoord geen SOAP Fault is

    2. Stel vast dat het antwoord een batchID bevat

  3. Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.

    1. Stel vast dat het antwoord geen SOAP fault is

    2. Stel vast dat het antwoord 9 correcte ECK IDs bevat

    3. Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”

    4. Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.

Tabel 3
PGN hPGN (6)
587381310 e95075
603778872 f1098f
624833057 ecc3f4
640093024 dda693
644153258 b173a0
656096809 b46daf
??
656096810 5055af
661678738 996ab
666560341 c9e811

Batch 2

  1. Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 leeg is. Gebruik de ECK keten en de VO sector.

  2. Stuur het batch request op.

    1. Stel vast dat het antwoord geen SOAP Fault is

    2. Stel vast dat het antwoord een batchID bevat

  3. Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.

    1. Stel vast dat de response een SOAP Fault is

    2. Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat

    3. Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.

  4. Wacht 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op

    1. Stel vast dat de response een SOAP Fault is

    2. Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is

    3. Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.

  5. Wacht minstens 20 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.

    1. Stel vast dat het antwoord geen SOAP fault is

    2. Stel vast dat het antwoord 9 correcte ECK IDs bevat

    3. Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”

    4. Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.

  6. Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.

    1. Stel vast dat de response een SOAP Fault is

    2. Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is

    3. Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.