Indhold

Overblik

Læsevejledning

Dette dokument er rettet mod udviklere, der skal udvikle eller teste services, der har brug for at hente den aktuelle salt fra IDSAS. Det vil til en start kun være MinLog2, men vil blive udvidet med tiden.

Snitflader

Til denne type anvender findes en snitflade, udstillet som en WSDL med og uden sikkerheds-headers.


SnitfladeEndpoint
Uden sikkerheds-headeridsas-salt<server>/idsas-salt/20230601/salt?wsdl
Med sikkerheds-headeridsas-salt<server>/idsas-salt/service-contract/secure-wsdl/20230601/idsas-salt.wsdl

Datoen "2023060"' angiver versionen af snitfladen. Pt. findes kun denne ene version.

Operationer

GetCurrentSalt

Denne operation ligger i idsas-salt snitfladen, og benyttes til at hente det aktuelle salt til brug ved pseudoanonymisering. Se eksempel på hvordan det skal anvendes længere nede i dokumentet.

Der er ingen eksplicitte parametre til denne operation. Den aktuelle salt er universel for alle med adgang til operationen.

Eksempler

GetCurrentSalt request
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
    xmlns:medcom="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd"
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
    xmlns:sosi="http://www.sosi.dk/sosi/2006/04/sosi-1.0.xsd"
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
    xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
    xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Envelope">
    <soapenv:Header>
        <wsse:Security>
            <wsu:Timestamp>
                <wsu:Created>2023-06-30T11:54:11Z</wsu:Created>
            </wsu:Timestamp>
            <saml:Assertion IssueInstant="2023-06-30T11:47:39Z" Version="2.0" id="IDCard">
                <saml:Issuer>TEST1-NSP-STS</saml:Issuer>
                <saml:Subject>
                    <saml:NameID Format="medcom:other">SubjectDN={C=DK, OID.2.5.4.97=NTRDK-33257872,
                        O=Sundhedsdatastyrelsen,
                        SERIALNUMBER=UI:DK-O:G:8d3fa047-c77e-47e4-bdd2-e91488610ce6, CN=NSP Test
                        Service Consumer},IssuerDN={C=DK, O=Den Danske Stat, OU=Test - cti, CN=Den
                        Danske Stat OCES udstedende-CA
                        1},CertSerial={132335570455020580755596658041035235745819139305}</saml:NameID>
                    <saml:SubjectConfirmation>
                        <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:2.0:cm:holder-of-key</saml:ConfirmationMethod>
                        <saml:SubjectConfirmationData>
                            <ds:KeyInfo>
                                <ds:KeyName>OCESSignature</ds:KeyName>
                            </ds:KeyInfo>
                        </saml:SubjectConfirmationData>
                    </saml:SubjectConfirmation>
                </saml:Subject>
                <saml:Conditions NotBefore="2023-06-30T11:47:39Z"
                    NotOnOrAfter="2023-07-01T11:47:39Z" />
                <saml:AttributeStatement id="IDCardData">
                    <saml:Attribute Name="sosi:IDCardID">
                        <saml:AttributeValue>4Sf96Uf3VEbmLtQDx5Wcwg==</saml:AttributeValue>
                    </saml:Attribute>
                    <saml:Attribute Name="sosi:IDCardVersion">
                        <saml:AttributeValue>1.0.1</saml:AttributeValue>
                    </saml:Attribute>
                    <saml:Attribute Name="sosi:IDCardType">
                        <saml:AttributeValue>system</saml:AttributeValue>
                    </saml:Attribute>
                    <saml:Attribute Name="sosi:AuthenticationLevel">
                        <saml:AttributeValue>3</saml:AttributeValue>
                    </saml:Attribute>
                    <saml:Attribute Name="sosi:OCESCertHash">
                        <saml:AttributeValue>f6ZdJ0CPmwpKVPZQ1NnkpDlB0KE=</saml:AttributeValue>
                    </saml:Attribute>
                </saml:AttributeStatement>
                <saml:AttributeStatement id="SystemLog">
                    <saml:Attribute Name="medcom:ITSystemName">
                        <saml:AttributeValue>Service Consumer Test</saml:AttributeValue>
                    </saml:Attribute>
                    <saml:Attribute Name="medcom:CareProviderID" NameFormat="medcom:cvrnumber">
                        <saml:AttributeValue>33257872</saml:AttributeValue>
                    </saml:Attribute>
                    <saml:Attribute Name="medcom:CareProviderName">
                        <saml:AttributeValue>Sundhedsdatastyrelsen</saml:AttributeValue>
                    </saml:Attribute>
                </saml:AttributeStatement>
                <ds:Signature id="OCESSignature">
                    <ds:SignedInfo>
                        <ds:CanonicalizationMethod
                            Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
                        <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
                        <ds:Reference URI="#IDCard">
                            <ds:Transforms>
                                <ds:Transform
                                    Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
                                <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
                            </ds:Transforms>
                            <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                            <ds:DigestValue>Sk3wxBwaHc2zRp9Leal2ERVLjIc=</ds:DigestValue>
                        </ds:Reference>
                    </ds:SignedInfo>
                    <ds:SignatureValue>
                        QZuBCxHjB7NSuDKUm5HPWN7qIa9T6utvsnTFl0ZyPZFK7oc7TV41VU2ZAzSZVJhS7cmBVyFgeMBmCCJgrzSc+6b5uIiYvKDnFdZmq3qev/bc5MVxchPJASQuddl5nRVYK2iDe0zSk+bGqbcwBF3Vd6MmR8eKUeB0ld5ouNkCpBwjUx9VHPnWgutu79EqE9RS9F/+RALMF+fuOC6pvni8VeF71IDXC2Fe6tPi1f3uBNoWrs9HNyOJlktY6jSwu0F/nTB6vFexv93Sq6rgVUZ9knovA79WxCCJkTh9jtgzfN01N+mSEpInrGddNa84hZ6323sS9Jpa5vyU7wfVq953DGWWeilZsULVZh1gMDNHxmAb30ow6Xb7HwVYsKCZYxX6wwBoakAHsIBa6TRLzHxykdX+GtMAiHn8ZqVaPmyKLTd+L8ac1VfAnIICN36Vf8Q/NIH21+nmlKbCI3QI/ZvCBLYsU1I6CDdUCSrsgjL5y8K5jvMJ0eVd94ymjZ2RHP8t</ds:SignatureValue>
                    <ds:KeyInfo>
                        <ds:X509Data>
                            <ds:X509Certificate>
                                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</ds:X509Certificate>
                        </ds:X509Data>
                    </ds:KeyInfo>
                </ds:Signature>
            </saml:Assertion>
        </wsse:Security>
        <medcom:Header>
            <medcom:SecurityLevel>3</medcom:SecurityLevel>
            <medcom:Linking>
                <medcom:FlowID>f586a245-5d50-4c59-bfc1-e95517d921d0</medcom:FlowID>
                <medcom:MessageID>8a8a9858-4945-4db5-a9a4-8cedde265f04</medcom:MessageID>
            </medcom:Linking>
            <medcom:RequireNonRepudiationReceipt>no</medcom:RequireNonRepudiationReceipt>
        </medcom:Header>
    </soapenv:Header>
    <soapenv:Body>
        <GetCurrentSaltRequest
            xmlns="http://sundhedsdatastyrelsen.dk/identitetssloering/2023/06/01/" />
    </soapenv:Body>
</soapenv:Envelope>
GetCurrentSalt response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <SaltResponse xmlns="http://sundhedsdatastyrelsen.dk/identitetssloering/2023/06/01/">5kZZLNQMNIkz1Y7tCDj3GQ==
        </SaltResponse>
    </soap:Body>
</soap:Envelope>

Understøttelse af brugerhistorier

BrugerhistorieUdførsel
Hente aktuelt saltUdføres ved at kalde GetCurrentSalt.

Fejlbeskeder

FejlbeskedNoter

Client persistent unique key '%s' er ikke whitelisted for type SALT

Hvis en given client persistent unique key ikke er whitelisted for GetCurrentSalt operationen, gives denne fejlbesked.

Brugertypen kan ikke bestemmes ud fra den medsendte sikkerhedsbillet

Denne fejl gives, hvis indholdet i sikkerhedsbilletten hverken matcher "sundhedsfaglig"- eller "system"-brugertypen.

Brugertypen kan ikke entydigt bestemmes ud fra den medsendte sikkerhedsbillet

Denne fejl gives, hvis man ikke ud fra sikkerhedsbilletten entydigt kan afgøre, om brugeren er en "sundhedsfaglig"- eller "system"-bruger.

Ingen salt var fundet.

Skal indsættes i databasen af driften.

Sikkerhedsbilletten er udløbet

 

Sikkerhedsbilletten er ikke gyldig endnu

 

Sikkerhedsbilletten er ikke valid

Generisk fejl hvis årsagen ikke kunne bestemmes nærmere

Sikkerhedsbilletten mangler


Algoritme for pseudoanonymisering

Se følgende guide (Trin 5): 3. (C) Pseudonymisering i datakilder til borgervendte brugergrænsefladesystemer

Kald af IDSAS

Mange programmeringssprog har understøttelse for at danne kode ud fra en snitfladebeskrivelse (WSDL). Det er op til anvenderen at finde en passende udviklingsstak og passende biblioteker, der kan hjælpe med denne proces.

Udover behovet for at kunne generere klientkode ud fra en WSDL, så vil succesfuld anvendelse af IDSAS kræve, at der medsendes gyldig identifikation (gyldigt SOSI Idkort) i kaldet.

Yderligere dokumentation:

Whitelisting

For at kunne benytte GetCurrentSalt operationen, skal klientens persistent unique key også være whitelistet til at anvende servicen.

Der er whitelistning til både Test og Produktion

  • No labels