Handleiding DigiD koppeling



Vergelijkbare documenten
Koppelvlakspecificatie CGI - DigiD

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise

Easyhosting Handleiding SSL Certificaat installeren in DirectAdmin

Aansluit handleiding Omgevingsloket online. Webservices INREGELOMGEVING (INR) Directie Concern Informatievoorziening

Aansluithandleiding Omgevingsloket online. Webservices PRODUCTIEOMGEVING. Directie Concern Informatievoorziening Beheer

Proware Cloud Webbuilder Versie 2.30

Basisregistratie Ondergrond (BRO) Testen verbinding webservices met SoapUI Booronderzoek. Datum 28 maart 2017 Status Versie 1.0

Hoe gebruik ik de webservices via SoapUI (geen automatisatie)

Aanvragen en in gebruik nemen KPN BAPI-certificaten d-basics b.v.

Werken op afstand via internet

Gebruikshandleiding. Downloadsite van de Rabo OmniKassa

Handleiding aanmaak CSR

DigiD Application Programming Interface

Handleiding aanmaak CSR

Windows XP aanmaken CSR

Installatie- en gebruikshandleiding Risicoverevening. 11 april 2007 ZorgTTP

Installatiehandleiding. Automated Transfer Tool

DrICTVoip.dll v 2.1 Informatie en handleiding

WiPaM Desktop Application. Handleiding. IXSyS 1/19 manual wipam ver. 1.1

Installatie Groeps Login app

HANDLEIDING Keystore Explorer

DmfAPPL - web Handleiding. Hoe het certificaat installeren? Version 4.0 Januari 2008 Bucom

Handleiding Thuiswerken / CSG-Site / VPN-Access

Online Back-up installatie handleiding. Sikkelstraat VB Oosterhout E: info@winexpertise.nl

Aan de slag met het adres van uw nieuwe Website

ZN Handleiding GERRIT token gebruik

Installatie en configuratie documentatie

Datum 15 juni 2006 Versie Exchange Online. Handleiding voor gebruiker Release 1.0

Gebruikershandleiding voor toegang tot Gasport

Bijlage I. 2. Kies : Weergave op kleine pictogrammen. 3. Kies Java en de tab General : Kamer van Koophandel Nederland

Handleiding Mijn Websign

Rabo CORPORATE CONNECT. Certificaatvernieuwing

Vervanging BAPI-certificaten

DE IDENTITEITSKAART EN MICROSOFT OUTLOOK

DE ELEKTRONISCHE IDENTITEITSKAART (EID)

Rodin installatiehandleiding (vanaf versie 2.1.xxx.x)

Gebruikershandleiding

Handleiding clients

Acht stappen voor JSF

Gebruikers handleiding Brugge Printshop webshop

INSTALLATIE EXCHANGE CONNECTOR

uziconnect Installatiehandleiding

iphone app - Roll Call

Technische nota AbiFire5 Rapporten maken via ODBC

Handleidingen website & pool SVNL voor organisators

DigiD SSL. Versie Datum 16 augustus 2010 Status Definitief

KeistadWeb.nl gebruikershandleidingen: Mozilla Thunderbird 1.0 NL (Windows versie) instellen voor gebruik met uw KeistadWeb.

GOOGLE APPS-AUTHENTICATIE VIA DE SURFFEDERATIE

HDN DARTS WEB AUTHENTICATIE

Handleiding: Hulp op afstand met Teamviewer

uziconnect Installatiehandleiding

Net2WebServer. Installatie handleiding

Documentatie. Remote Access Voorziening Etam (RAVE)

Digidentity & ABZ Paspoorten voor veilige en gemakkelijke toegang tot onze portals.

HANDLEIDING EXTERNE TOEGANG CURAMARE

Uursoortfinanciering importeren

Handleiding installatie Hexagon Geospatial Software

Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren

HANDLEIDING DMS Plugin Installatie, configuratie & werking

Handleiding VU Webmail (Outlook Web App) december 2010

Snelle installatiegids voor Symbian

Handleiding Certificaat RDW

Handleiding. Mei Versie 1.1. Handleiding NCDR Pacemaker & ICD Registratie - Mei 2015, versie 1.1.

Handleiding Inloggen met SSL VPN

SmartRevit SmartAssemblies Etcetera

Handleiding. Maart Versie 1.2. Handleiding NCDR Pacemaker & ICD Registratie Maart 2016, versie 1.2.

Handleiding Mooy Logistics Servicedesk

Technisch ontwerp. Projectteam 6. Project "Web Essentials" 11 maart Versie 1.1.0

5/5 Red Carpet. 5/5.1 Inleiding

Handleiding Installatie en Gebruik Privacy- en Verzend Module Stichting Farmaceutische Kengetallen

DE ELEKTRONISCHE IDENTITEITSKAART (EID)

Certs 101. Een introductie in Digitale Certificaten. J. Wren Hunt oktober 2004 Copyright, 1996 Dale Carnegie & Associates, Inc.

Op de Virtual Appliance is MySQL voorgeïnstalleerd. MySQL is momenteel de meest gebruikte database op het internet.

SFTP-client WinSCP. Engelstalige versie van de client 1/22

DmfA - batch Handleiding. Hoe het certificaat installeren? (Internet Explorer 7.0) Versie 1.0 Januari 2008 Bucom

KraamZorgCompleet OnLine instellen en gebruiken. Voor Android tablet of telefoon

Installatiehandleiding Windows XP / Vista / Windows 7

Installatiehandleiding. ixperion Word Import. voor Windows 2008 R2 64bit. Smartsite ixperion WordImport Implementatie. Copyright

Snel op weg met e.dentifier2

Installatie Avalanche Webview

Hosting. Aan de slag. WeFact B.V. Kuiper 7a 5521 DG Eersel Nederland. w: e:

Handleiding Groenhuysenpas

1. Installeren Update 2.4.7

Installatiehandleiding TiC Narrow Casting Manager

Handleiding Mezzedo.nl

Handleiding. Opslag Online voor Windows Phone 8. Versie augustus 2014

Handleiding telewerken GGD Amsterdam

Gebruikershandleiding. StUF Testplatform Versie 1.3.0

Gebruikershandleiding VU Webmail (Outlook Web App) januari 10

ZN Handleiding GERRIT token gebruik

Handleiding Mezzedo.nl

Net2 Anywhere - Installatie

EasternGraphics product documents pcon.update handleiding HANDLEIDING

Handleiding: OpenEmm nieuwsbrief manager Diergaarde Blijdorp

Mywebshop configuratie. Versie 1.0 Februari Copyright 2010 Wikit BVBA, alle rechten voorbehouden

Net2WebServer. Installatie handleiding

Gebruikershandleiding Beeldmateriaal

Externe Toegang installeren en gebruiken onder Mac OS X

Transcriptie:

Handleiding DigiD koppeling Stichting Nederland Kennisland, Digitale Pioniers Datum: Document naam: digid-zorg-enovatie-handleiding-1.2-publicatie Versie: 1.2 pagina [1/14]

Inhoudsopgave 1. Inleiding... 3 Aexist diabetes dossier...3 DigiD... 3 2. Technische opzet DigiD... 3 Algemeen... 3 Inlogprocedure...3 SOAP interface... 7 3. Technische opzet Aexist diabetes dossier...8 4. Het inrichten van de pre-productie omgeving...8 5. Het inrichten van de ontwikkel omgeving...9 Browser certificaat...9 soapui... 9 Aanmaken project en importeren van de WSDL...10 PKCS#12 keystore installeren in soapui...10 Het uitvoeren van een AuthenticatieInitiatie operatie:...10 Sleutel en certificaten voor de Java omgeving installeren...11 Het importeren van het PKI Overheid CA Overheid en bedrijven certificaat...11 6. Omschrijving van de gemaakte code...12 Overzicht... 12 Authenticatie slag (digid-authenticate.xpl)...12 Verificatie slag (digid-verify.xpl)...12 Ophalen van de digid sessie en het reageren daarop (digid-session.xpl)...12 Digid sessie beeindigen (kill-digid-session.xpl)...13 7. Aanbevelingen voor het vervolg bij Stichting Zorg-enovatie...14 8. Samenvatting van de te nemen stappen voor het aansluiten van een applicatie op DigiD...14 pagina [2/14]

1. Inleiding Dit document is de implementatie handleiding die onstaan is tijdens het maken van de DigiD koppeling voor het Aexist diabetes dossier van de Stichting Zorg-enovatie. Het grootste gedeelte van dit document is algemeen geldig en toepasbaar. Hoofdstuk 6 beschrijft de oplossing voor het Aexist diabetes dossier van de Stichting Zorg-enovatie en is specifiek voor het daar gebruikte Orbeon platform. Deze handleiding en de bijbehorende koppeling zijn gemaakt door Open-T in opdracht van Stichting Kennisland. Dit document wordt beschikbaar gesteld onder Creative Commons Naamsvermelding NietCommercieel GelijkDelen licentie. Aexist diabetes dossier Het Aexist diabetes dossier van de stichting Zorg-enovatie is een web applicatie die het voor een diabetes patient mogelijk maakt de gegevens van de periodieke metingen en controles die de patient zelf verricht te bewaren en te analyseren. DigiD DigiD is het systeem voor digitale identificatie van de Nederlandse overheid. Het is een A-Select authenticatie systeem. Omdat bijna alle Nederlanders beschikken over een DigiD is het voor de hand liggend hier gebruik van te maken voor het Diabetes dossier van de stichting Zorg-enovatie. 2. Technische opzet DigiD Algemeen DigiD is een webdienst. De dienst wordt aangeboden via zowel een CGI als een SOAP interface. Het principe van DigiD is in beide gevallen hetzelfde. Inlogprocedure Het inloggen met DigiD gaat als volgt: De web applicatie vraagt een authenticatie sessie aan. Hiertoe wordt een webdienst van DigiD aangeroepen ( AuthenticatieInitiatie'). De applicatie geeft de volgende gegevens door aan DigiD: a-select-server app_id app_url De a-select-server en app_id zijn van te voren vastgelegd door Logius. De waarde van app_url is de url waar de gebruiker naar toe moet worden gestuurd na afloop van de identificatie. pagina [3/14]

DigiD beantwoordt deze vraag met de volgende gegevens: a-select server rid as_url result_code De eerste 3 gegevens worden gebruikt om een url te construeren waar de gebruiker naartoe moet worden geleid. De gebruiker krijgt een pagina met uitleg te zien. Door op het DigiD logo te klikken wordt de gebruiker naar de genoemde url geleid. pagina [4/14]

De gebruiker logt in op de site van digid, met behulp van de volgende 2 schermen: pagina [5/14]

De browser wordt teruggeleid naar de eerder opgegeven url met de volgende parameters toegevoegd: aselect_credentials rid a-select-server De applicatie moet nu controleren of de gebruiker werkelijk is ingelogd. Dit gebeurt met de AuthenticatieVerificatie operatie. Deze heeft de volgende parameters: a-select-server rid aselect_credentials Deze gegevens worden overgenomen van de redirect. pagina [6/14]

DigiD antwoordt met: sector code sectoraal nummer betrouwbaarheidsniveau rid organisatie naam applicatie id resultaatcode a-select-server Als de resultaatcode 0000 is, dan is de gebruiker correct ingelogd. Andere codes duiden er op dat de gebruiker niet goed is ingelogd, de operatie heeft geannuleerd etc. De 'landing pagina' ziet er in onze testomgeving als volgt uit: SOAP interface Logius biedt zowel een CGI als een SOAP interface voor DigiD aan. Wij zijn uitgegaan van de SOAP interface. Een SOAP interface bestaat uit XML berichten verkeer over een HTTP interface. De berichten worden beschreven in een WSDL welke weer gebruik maakt van XML Schema. Er is uitstekende open source tooling beschikbaar (soapui) waarmee met dit berichtenverkeer ge-experimenteerd kan worden alvorens tot ontwikkeling van software over te gaan. pagina [7/14]

3. Technische opzet Aexist diabetes dossier Het Aexist diabetes dossier is een web applicatie die is opgebouwd met de open source Orbeon formulieren omgeving. Orbeon is een server-side implementatie van de w3c XForms standaard. Een XForm produceert XML gegevens en kan XML gegevens ontvangen. Orbeon maakt gebruik van XML pipelines om deze gegevens aan te leveren en te verwerken. Binnen een XML pipeline kunnen XML processors gebruikt worden die bijvoorbeeld een SOAP call of een XSLT transformatie uitvoeren. 4. Het inrichten van de pre-productie omgeving De benodigde documentatie is te vinden op publicatieplein (www.publicatieplein.nl). Om gebruik te kunnen maken van publicatieplein is een account op de website nodig. Deze site maakt zelf geen gebruik van DigiD. Na aanmelding op de website moet een geheimhoudingsverklaring moet worden getekend, zie http://www.logius.nl/producten/toegang/digid/aansluiten/ Dit formulier kan niet zomaar gedownload worden. Hiervoor moet contact opgenomen worden met Logius. Hierna kan het (per post) naar Logius verstuurd worden. Van de publicatieplein website kan vervolgens het formulier 'Aansluitformulier pre-productie omgeving' gedownload worden. Na het invullen en inzenden van dit formulier verstuurt Logius de aansluitgegevens per aangetekende post. Als u gebruik wilt maken van de SOAP koppeling ontbreekt nog een en ander: Documentatie van het SOAP koppelvlak SOAP endpoints SSL certificaten voor de tweezijdige SSL beveiliging Deze heb ik door telefoon- en e-mail verkeer met Logius te pakken gekregen. Wij waren de tweede die van dit koppelvlak gebruik maakt en hierdoor loopt een en ander nog niet op de reguliere manier. pagina [8/14]

5. Het inrichten van de ontwikkel omgeving Browser certificaat De allereerste test is het eenvoudigst met de browser, om simpelweg te zien of alle certificaten correct zijn en er verbinding met de preproductie omgeving van DigiD mogelijk is. Als u een browser laat wijzen naar de WSDL van de DigiD omgeving (https://waspreprod1.digid.nl/was/services/wsdigidsectorauthenticatieporttype?wsdl) meldt de browser Secure connection failed SSL peer was unable to negotiate an acceptable set of security parameters (Error code: ssl_error_handshake_failure_alert). Dit komt omdat er een client-side certificaat met private key nodig is waarmee DigiD vaststelt van welke partij de aanvraag komt. Deze wordt door Logius uitgereikt in de vorm van een PKCS#12 keystore. De inhoud van de keystore kan getoond worden met behulp van openssl: openssl pkcs12 info -in [keystore filenaam] Om het PKCS#12 certifcaat in firefox te laden: Ga naar: edit preferences Selecteer 'Advanced' Selecteer de 'Encryption' tab Klik op 'View Certifcates' Selecteer de tab 'Your Certificates' Klik op 'import...' soapui Met soapui kunnen SOAP calls worden uitgevoerd. SoapUI is in staat om met behulp van de WSDL van de SOAP service vraag berichten te genereren, deze aan de service te versturen en de antwoorden te tonen. Het is ook mogelijk om de omgekeerde weg te bewandelen zodat soapui zich gedraagt als de webservice die door de WSDL gedefinieerd wordt. Beide functies zijn erg handig bij het werken met een SOAP service. Om een project in soapui te starten lezen we de WSDL van de webservice in. Deze WSDL is beschikbaar op de eerder genoemde URL. Echter, de WSDL importeert een XML Schema dat niet beschikbaar is op de aangegeven plaats. We moeten de WSDL dus van een lokale file installeren, en zorgen dat het XML Schema op de correcte plaats aanwezig is. pagina [9/14]

Dit gaat als volgt: Aanmaken project en importeren van de WSDL File New soapui Project vul projectnaam in (ik ga verder uit van 'digid'), bij 'Initial WSDL' browse naar de WSDL WSDigiDAuthenticatie_v1.wsdl. Zorg dat de file WSDigiDAuthenticatie_v1.xsd in dezelfde directory staat. Zorg dat 'Create Requests' aangevinkt is. De voorbeeld requests woren nu aangemaakt PKCS#12 keystore installeren in soapui Rechts-klik op het 'digid' project. Klik op 'Show Project View' Klik op de tab 'Security Configurations' Klik op de sub-tab 'Keystores/Certificates' Klik op de '+' in de toolbar Browse naar het certificaat en lees dit in. Het uitvoeren van een AuthenticatieInitiatie operatie: Dubbel-klik op de gegenereerde 'Request 1' (onder Projects digid WSDigiDSectorAuthenticatiePortType AuthenticatieInitiatie) De request verschijnt. Boven in de toolbar verschijnt het endpoint. Corrigeer deze indien deze niet klopt (het endpoint wordt door Logius aangegeven). Klik bij properties (links onder) op SSL keystore en selecteer de eerder ingelezen keystore. Vul de ontbrekende gegevens in het Request window in (bij elk ontbrekend gegeven staat een '?') Druk op de groene 'start' knop. De aanvraag wordt naar DigiD verstuurd en het resultaat verschijnt in het rechter gedeelte van het window. pagina [10/14]

Sleutel en certificaten voor de Java omgeving installeren Om gebruik te maken van de sleutel en certificaten in de Java omgeving waar het diabetes dossier gebruik van maakt, moeten deze beschikbaar gesteld worden aan de java runtime omgeving. Dit is specfiek voor Java applicaties. Applicaties die op een andere techniek gebaseerd zijn zullen dit op een andere manier (specifiek voor dat platform) moeten bereiken. Het importeren van het PKI Overheid CA Overheid en bedrijven certificaat Om het PKI overheid CA Oveheid en bedrijven certificaat te installeren wordt het keytool programma gebruikt. Deze voert een operatie uit op een keystore die 'cacerts' heet. Deze maakt deel uit van de Java runtime omgeving, bij mij bevindt deze zich in /usr/lib/jvm/java-6-sun/jre/lib/security. In de volgende commandoregel moet u de paden naar DigiNotarPKIoverheidCAOverheidenBedrijven en cacerts vervangen door de juiste voor uw systeem: keytool -import -v -trustcacerts -alias DigiNotarPKIoverheidCAOverheidenBedrijven -file ~/projects/digid/diginotarpkioverheidcaoverheidenbedrijven -keystore cacerts -storepass changeit Het meegeven van het client certificaat gaat met behulp van command-line opties van java. Het pad naar de keystore moet vervangen worden door het correcte pad voor uw systeem, en het password door het echte password: -Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.keyStore=~/projects/digid/opent.SDMC.keystore.p12 -Djavax.net.ssl.keyStorePassword=vervangditdoorhetechtekeystorepassword pagina [11/14]

6. Omschrijving van de gemaakte code Overzicht Deze sectie beschrijft de code zoals die gerealiseerd is voor Stichting Zorg-enovatie. Deze sectie is dus specifiek voor de daar gebruikte oplossing (Orbeon). Er zijn een aantal XML pipelines en XForms ingericht om de koppeling met DigiD te realiseren. Deze is geheel losgekoppeld van de rest van de applicatie, en is eenvoudig opnieuw te gebruiken voor een andere applicatie die ook gebruik maakt van Orbeon XForms. Nadat de authenticatie procedure is doorlopen wordt een XML document in de web server sessie achtergelaten met hierin het laatste responsebericht van de verificatieslag. De applicatie moet deze sessie variabele lezen en hiermee een gebruiker toelaten of weigeren. Authenticatie slag (digid-authenticate.xpl) De XML pipeline wordt aangeroepen als model van de XForm (en wordt dus uitgevoerd voordat de XForm getoond wordt). Deze pipeline doet simpelweg een SOAP call met de AuthenticatieInitiatie operatie. De output van de pipeline is het gehele SOAP response bericht. De XForm heeft de beschikking over dit XML bericht en gebruikt dit om de url naar de DigiD inlog pagina te construeren (simpelweg door enkele elementen aan elkaar te zetten met & er tussen). Verificatie slag (digid-verify.xpl) De verificatie slag is ook uitgevoerd als een XML pipeline. Deze wordt uitgevoerd voordat de 'verify.xhtml' pagina getoond wordt. De pipeline voert de volgende stappen uit: Haal de parameters van de http GET request op Maak een SOAP request bericht met behulp van een XSLT transformatie Voer de SOAP call naar de AuthenticatieVerificatie operatie uit Plaats het SOAP bericht in de 'digid' sessie variabele Geef de gehele SOAP response aan de pagina Ophalen van de digid sessie en het reageren daarop (digid-session.xpl) Deze XML pipeline leest de digid sessie. Tevens reageert de pipeline op het in de sessie aanwezige resultaat door een redirect te doen. De pipeline voert de volgende stappen uit: Lees de digid variabele (het oorspronkelijke SOAP response bericht) uit de sessie. Als de variabele leeg is wordt de gebruiker naar de /digid/notloggedin pagina gestuurd Als de variabele aanwezig is maar de SOAP response is niet 0000 dan wordt de gebruiker naar de /digid/error pagina gestuurd. Tenslotte wordt de inhoud van de pagina doorgegeven aan de XForm. pagina [12/14]

Digid sessie beeindigen (kill-digid-session.xpl) Deze pipeline maakt simpelweg de inhoud van de digid sessie variabele leeg. pagina [13/14]

7. Aanbevelingen voor het vervolg bij Stichting Zorg-enovatie De omgeving is geinstalleerd bij Stichting Zorg-enovatie en functioneert naar behoren. Zodra de hele applicatie gereed is om te testen verdient het wel aanbeveling om de door Logius gehanteerde checklist nog eens na te lopen, omdat deze veel eisen bevat die voor de gehele oplossing gelden (sessie timeouts, verwijzingen naar DigiD etc.) Deze checklist is beschikbaar op de publicatieplein website. 8. Samenvatting van de te nemen stappen voor het aansluiten van een applicatie op DigiD De bovenstaande beschijving is specifiek voor de Aexist diabetes dossier applicatie van de Stichting Zorg-enovatie. In het algemeen zijn de te nemen stappen: Toegang verkrijgen tot Publicatieplein Pre-productie aansluiting aanvragen bij Logius Het inrichten van een ontwikkel/pre-productie omgeving Het verkrijgen en installeren van het PKCS#12 certificaat voor toegang tot de DigiD service Het testen van de aansluiting met een generieke SOAP tool (zoals soapui) Het vinden van een geschikte SOAP library om met de DigiD service te communiceren (dit verschilt per platform) Het inrichten van de code voor de authenticatie slag Het inrichten van de code voor de verificatie slag Het inrichten van de bijbehorende formulieren Het controleren van de ingerichte applicatie met de checklist van Logius Testen van de pre-productie omgeving door Logius Daarna herhaalt de inrichting- en test slag zich voor de productie omgeving pagina [14/14]