VA:Aansluitproces Ketenpartijen: verschil tussen versies
Regel 12: | Regel 12: | ||
#De identificatie van onderwijsinstellingen in de berichten zelf gebeurt aan de hand van het BRIN4. Dit is het registratienummer van de erkenning van de onderwijsinstelling bij DUO (d.w.z. een juridische status), en wordt nu ook gebruikt als identificatie voor de onderwijsinstelling zelf. |
#De identificatie van onderwijsinstellingen in de berichten zelf gebeurt aan de hand van het BRIN4. Dit is het registratienummer van de erkenning van de onderwijsinstelling bij DUO (d.w.z. een juridische status), en wordt nu ook gebruikt als identificatie voor de onderwijsinstelling zelf. |
||
− | == |
+ | ==Inhoud van een bericht== |
==De opbouw van een verzoekbericht (request)== |
==De opbouw van een verzoekbericht (request)== |
Versie van 23 nov 2018 13:07
Deze pagina bevat informatie om als ketenpartij te kunnen communiceren met het VO-koppelpunt.
Algemene ontwerprichtlijnen
Berichten
- De berichten die verstuurd worden tussen de landelijke voorzieningen onderling en tussen de landelijke voorzieningen en de scholen zijn zo summier mogelijk in verband met privacy. Er wordt alleen informatie verstuurd waarvoor een grondslag en doelbinding beschikbaar is.
- Berichten worden per individuele aanmelding per student verstuurd, zowel de opgave van potentiële mbo-gangers als de opgaven aanmelding.
- Gegevens die nodig zijn om berichten goed te kunnen routeren worden door instellingen zelf gevalideerd en goed aangeleverd.
Uitwisseling
- Voor alle koppelpunten geldt dat berichten die niet valide zijn, voor zover het koppelpunt dit kan controleren, worden niet doorgestuurd. Het VO-koppelpunt retourneert een foutbericht met informatie over de geconstateerde fouten aan de afzender (zie Lijst met foutcodes).De afzender zal dit zelfde bericht niet ongewijzigd opnieuw aanbieden, dat wil zeggen, de afzender lost het geconstateerde probleem op.
- Als een bericht niet verwerkt kan worden door het VO-koppelpunt, bijvoorbeeld omdat er een ongeldig OIN wordt gebruikt, dan wordt dit vermeld in de log van het systeem en het bericht wordt vernietigd. Op basis van de aard en mogelijk de frequentie van voorkomen van de melding in de log zullen beheerders van het VO-koppelpunt contact opnemen met het verzendende systeem.
- De identificatie van onderwijsinstellingen in de berichten zelf gebeurt aan de hand van het BRIN4. Dit is het registratienummer van de erkenning van de onderwijsinstelling bij DUO (d.w.z. een juridische status), en wordt nu ook gebruikt als identificatie voor de onderwijsinstelling zelf.
Inhoud van een bericht
De opbouw van een verzoekbericht (request)
Een request dient ondertekend te zijn op basis van de Edukoppeling Transactiestandaard middels profiel 2w-be-s (2-way best effort signed).
Meer informatie over de Edukoppeling Transactiestandaard kan gevonden worden op Edukoppeling.nl
Klik hier voor de lijst met elementen, welke deel uit maken van de ondertekening.
- De SOAP Headers
To |
Bevat de URL van het afleveradres met het bijbehorende OIN.
|
---|---|
From | Soapheader From bevat de URL van de verzender met het bijbehorende OIN. Dit kan default ook anonymous zijn.
|
Action |
Hiermee wordt de operatie aangeduid. Deze moet overgenomen worden vanuit de WSDL. |
MessageId |
Een random gegenereerd nummer, ter identificatie als er iets mis is gegaan met het berichtenverkeer binnen de keten. |
Timestamp |
De timestamp bevat minimaal het veld Created. Hiermee wordt de datum en tijd aangeduid van berichtcreatie. Let op bij validatie binnen het VO-koppelpunt wordt gekeken of het bericht niet verstreken is op basis van dit veld. Volgens de specificaties (PvE) mag de huidige datum niet meer dan 2 dagen later zijn dan de creation date. Optioneel kan nog een expiration date time worden meegestuurd. Deze expiration date time moet aangehouden worden als het bericht gevalideerd wordt. |
- De SOAP Body
Deze bevat de daadwerkelijke inhoud van het bericht conform de wsdl en xsd van het aanmeld en mbogangerBericht.
De opbouw van een antwoordbericht (response)
Een response is ondertekend op basis van de Edukoppeling Transactiestandaard middels profiel 2w-be-s (2-way best effort signed).
Meer informatie over de Edukoppeling Transactiestandaard kan gevonden worden op Edukoppeling.nl
Klik hier voor de lijst met elementen, welke deel uit maken van de ondertekening.
- De SOAP Headers:
To |
Bevat de URL van het afleveradres met het bijbehorende OIN.
|
---|---|
From | Soapheader From bevat de URL van de verzender met het bijbehorende OIN. Dit kan default ook anonymous zijn.
|
Action |
Hiermee wordt de operatie aangeduid. Deze moet overgenomen worden vanuit de WSDL. |
RelatesTo |
Dit veld bevat de messageId van het originele request. |
Timestamp |
De timestamp bevat minimaal het veld Created. Hiermee wordt de datum en tijd aangeduid van berichtcreatie. Let op bij validatie binnen het VO-koppelpunt wordt gekeken of het bericht niet verstreken is op basis van dit veld. Volgens de specificaties (PvE) mag de huidige datum niet meer dan 2 dagen later zijn dan de creation date. Optioneel kan nog een expiration date time worden meegestuurd. Deze expiration date time moet aangehouden worden als het bericht gevalideerd wordt. |
- De SOAP Body
Deze bevat de daadwerkelijke inhoud van het bericht conform de wsdl en xsd van het aanmeld en mbogangerBericht.
De inhoud van een ondertekend bericht
Klik hier voor de lijst met elementen, welke samen een ondertekend bericht vormen.
Binary security token |
Dit bevat de publieke sleutel van het certificaat waarmee het bericht is ondertekend.
|
---|---|
Digest value | Op de Soapheaders en body wordt het sha256-algoritme toegepast om de verschillende velden te hashen. Canonilisatie wordt toegepast om de namespace eenduidig te gebruiken.
<ds:Reference URI="#id-A819ECE6A7D2AEB814153916000571753"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> <ec:InclusiveNamespaces PrefixList="gen soapenv v1" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/> </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <ds:DigestValue>SoGuntlVcJU73MFDXjrcMmFDp29kG+D5zcY53HdXI7s=</ds:DigestValue> </ds:Reference> URI verwijst in dit voorbeeld naar het element WSA Action element: <wsa:Action wsu:Id="id-A819ECE6A7D2AEB814153916000571753" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">http://vroegtijdigaanmelden.nl/v1_0/ontvangAanmeldbericht</wsa:Action> |
Signature value | De som van alle digestvalues wordt genomen en dit wordt ook gehasht. Nadat het gehasht is, wordt deze waarde met behulp van de private sleutel geencrypt. Men kan de signature value decrypten dmv de publieke sleutel, welke meegestuurd wordt in het bericht. |
Soapheaders | |
Body |
Validaties
Het VO-koppelpunt hanteert de volgende validaties voor binnenkomende berichten.
Op SSL-niveau
- Er moet een geldig PKI-overheidscertificaat of OCW Digitaal Onderwijscertificaat (ODOC) worden gebruikt.
Zowel het Root- als intermediate certificaten moeten worden vertrouwd (volledige Chain of Trust).
- Het certificaat binnen het bericht:
- moet ook een geldig PKI-overheidscertificaat of OCW Digitaal Onderwijscertificaat (ODOC) zijn;
- moet hiërarchisch herleidbaar zijn tot de Staat der Nederlanden (PKI) of het ministerie van OCW (ODOC) als Root CA;
- mag niet voorkomen op de van toepassing zijnde herroepingslijst (CRL);
- mag niet verlopen zijn.
Ondertekening
De ondertekening van een bericht wordt gecontroleerd door het uitpakken van de SignatureValue (middels de BinarySecurityToken), waarna deze gedecrypt wordt tot een controleerbare DigestValue.
SOAP Headers
Soap Headers moeten aanwezig zijn en moeten waarden bevatten conform de Edukoppeling Transactiestandaard.
Body
De velden binnen de Body van het bericht moeten zijn ingericht conform het XSD.
De gebruikte Persoonsgebonden Nummers (PGN) moeten valide zijn (dit wordt gecontroleerd middels de Elfproef).
Timestamp
Deze ligt niet in de toekomst en is maximaal twee kalenderdagen oud.
Lijst met foutcodes
Het VO-koppelpunt geeft bij onjuistheden in binnenkomende berichten het volgende terug:
Foutcode | Omschrijving | Scenario | Bron | Opmerkingen |
---|---|---|---|---|
201 | Ongeldig certificaat | Bericht bevat geen geldig certificaat | Programma van Eisen | |
202 | Certificaat verlopen | Certificate expired | Programma van Eisen | |
203 | Certificaat ingetrokken CRL | Certificate revoked | Programma van Eisen | |
204 | Certificaat bevat een ongeldig OIN | Certificate invalid OIN | Programma van Eisen | |
205 | Ongeldige afzender | WSA FROM no OIN | Programma van Eisen | |
206 | Ongeldige ontvanger | WSA TO no OIN | Programma van Eisen | |
207 | Ongeldige operatie | ACTION is unknown | Programma van Eisen | |
209 | Ongeldige timestamp | Timestamp expired | Programma van Eisen | |
210 | Ongeldige ondertekening | Signing invalid | Programma van Eisen | |
220 | XSD fout | Body invalid | Programma van Eisen | |
301 | Elfproef niet correct | Invalid PGN | Programma van Eisen | |
soap:Client.DK0000 | no headers found | no soapheaders | Edukoppeling Transactiestandaard | |
soap:Client.DK0002 | Niet geautoriseerd | Not authorized | Edukoppeling Transactiestandaard | |
soap:Client.DK0005 | Wsa: to ontbreekt | wsa TO missing | Edukoppeling Transactiestandaard | |
soap:Client.DK0006 | Wsa: action ontbreekt | wsa ACTION missing | Edukoppeling Transactiestandaard | |
soap:Client.DK0007 | Wsa: messageID ontbreekt | messageId missing | Edukoppeling Transactiestandaard | |
soap:Client.DK0010 | Andere headers | header not allowed | Edukoppeling Transactiestandaard | |
soap:Client.DK0010 | Wsa: from ontbreekt | WSA FROM missing | Edukoppeling Transactiestandaard |