This chapter describes the format and publication of the Dienstencatalogus (DC) (service catalog).The Service catalog holds the information of services offered by Dienstverleners (service providers). A DV can own one or more Service Definitions and one or more Service Instances:
- A Service Definition has the elements to describe the functionality of the Service.
- A Service Instance has the technical details for an implementation of the Service as operated by the Dienstverlener (DV).
In case of Dienstbemiddeling (Service Intermediation): The Service Instance of the Dienstbemiddelaar (DB) (Service Intermediary) references the Service Instance of the Dienstaanbieder (DA) (service supplier) by ServiceUUID, using the IntermediatedService.
The service catalog MUST have the following format:
- IssueInstant (time at which the service catalog was created)
- Version (version of the service catalog in the urn:etoegang:<scheme version>:service-catalogue:<omgeving>:<sequence number>.
Example: urn:etoegang::service-catalogue:T:1 - Signature (signature from the Beheerorganisatie (BO), Herkenningsmakelaar (HM) or Dienstverlener (DV) for authenticity, integrity and non-repudiation).
- :
- OrganizationDisplayName (the name of the service provider as it MUST be displayed by participants, max 64 characters).
- :
- Per ServiceInstance:
- IsPublic (attribute that indicates whether the service provider is in public)
ServiceID (an identifier of a service instance that is unique in the context of the service provider)
BsnkStructureVersion - Optional: This element is required when the ECTA or ASTA has a BSN or PseudoID, otherwise it MUST NOT be used. Value must be a valid BsnkStructureVersion (see BSNk confluence "1" or "2"). If no version is used, or if the BsnkStructureVersion is invalid, version 1 MUST be used.
BsnkRecipientKeySetVersion - Optional: This element is required when the ECTA set or ASTA set contains a BSN or PseudoID, otherwise it MUST NOT be used. Value must be identical to the RKSV as noted on the BSNk keys the ServiceProvider is using voor decrypting the BSN or PseudoID.
ServiceUUID (a universally unique identifier to allow identifying and referencing this instance)
- InstanceOfService (a reference to a ServiceUUID of a Service definition being implemented. An InstanceOfService MUST be present).
- IntermediatedService (a reference to a ServiceUUID of a Service instance in case Dienstbemiddeling (Note: Service Intermediation only available for eIDAS outbound) applies. An intermediating service MUST NOT reference a service instance that applies Dienstbemiddeling. The intermediated Service MAY have the same InstanceOfService and therefore only require one mandate).
-
- PrivacyPolicyURL (a URL of max 512 characters where the privacy policy for this service can be found). Optional for Dienstbemiddeling services.
- HerkenningsmakelaarId (the OIN of the Herkenningsmakelaar (HM) that provides the service catalog entry for this service instance)
- AdditionalHerkenningsmakelaarId (multivalue entry with the OINs for the other HMs that provide this service)
- ServiceCertificate (Service provider's PKI certificate with a public key that can be used to encrypt requested attributes and IDs). This certificate MUST be a valid PKIoverheid certificate. Note that multiple certificates may be provided for cases like changing certificates. (Additonally: Signing certificates must NOT be used here but should be placed in the DV metadata for HM).
- ServiceIntermediation (indication if intermediation of the service (Dienstbemiddeling) requires approval of the Service Provider, see AUC7 Proces verlenen toestemming dienstbemiddeling)
- @intermediationAllowed (attribute indicating approval is required; possible values "noIntermediation" (default), "generalAvailable", "serviceProviderOnly", "requiresApproval")
- ServiceIntermediationAllowed
- )
The elements OrganizationDisplayName, ServiceName, ServiceDescription, ServiceDescriptionURL, PurposeStatement, ServiceURL and PrivacyPolicyURL MAY be included for different languages.
Rules for processing Service Catalog
<?xml version="1.0" encoding="UTF-8"?>
<!-- Schema for AS_1.14 Release
$Date: 2020-09-07
$Author:rahulkumar.gupta@kpn.com
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:esc="urn:etoegang:1.13:service-catalog"
targetNamespace="urn:etoegang:1.13:service-catalog"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
<xs:import namespace="urn:oasis:names:tc:SAML:2.0:assertion" schemaLocation="http://docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.xsd"/>
<xs:import namespace="urn:oasis:names:tc:SAML:2.0:metadata" schemaLocation="http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"/>
<!--Elements-->
<xs:element name="ServiceDefinition" type="esc:ServiceDefinitionType" />
<xs:complexType name="ServiceDefinitionType">
<xs:sequence>
<xs:element ref="esc:ServiceUUID" />
<xs:element ref="esc:ServiceName" maxOccurs="unbounded"/>
<xs:element ref="esc:ServiceDescription" maxOccurs="unbounded"/>
<xs:element ref="esc:ServiceDescriptionURL" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="saml2:AuthnContextClassRef"/>
<xs:element ref="esc:HerkenningsmakelaarId"/>
<xs:element ref="esc:EntityConcernedTypesAllowed" minOccurs="1" maxOccurs="unbounded"/>
<xs:element ref="esc:ActingSubjectTypesAllowed" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="esc:ServiceRestrictionsAllowed" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="esc:RequestedAttribute" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="esc:IsPublic" use="required"/>
</xs:complexType>
<xs:element name="ServiceInstance" type="esc:ServiceInstanceType" />
<xs:complexType name="ServiceInstanceType">
<xs:sequence>
<xs:element ref="esc:ServiceID" minOccurs="1"/>
<xs:element ref="esc:ServiceUUID" />
<xs:element ref="esc:InstanceOfService" minOccurs="0" maxOccurs="1"/>
<xs:element ref="esc:IntermediatedService" minOccurs="0" maxOccurs="1"/>
<xs:element ref="esc:ServiceURL" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="esc:PrivacyPolicyURL" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="esc:HerkenningsmakelaarId"/>
<xs:element ref="esc:AdditionalHerkenningsmakelaarId" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SSOSupport" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
<xs:element ref="esc:EntityConcernedTypesAllowed" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="esc:ServiceCertificate" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="esc:ServiceIntermediation" minOccurs="0" />
<xs:element ref="esc:Classifiers" minOccurs="0" />
<xs:element ref="esc:BsnkStructureVersion" minOccurs="0"/>
<xs:element ref="esc:BsnkRecipientKeySetVersion" minOccurs="0"/>
</xs:sequence>
<xs:attribute ref="esc:IsPublic" use="required"/>
</xs:complexType>
<xs:element name="ServiceCatalogue">
<xs:complexType>
<xs:sequence>
<xs:element ref="ds:Signature"/>
<xs:element ref="esc:ServiceProvider" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="esc:IssueInstant" use="required"/>
<xs:attribute ref="esc:Version" use="required"/>
<xs:attribute name="ID" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="EntityConcernedTypesAllowed">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attribute name="setNumber" type="xs:nonNegativeInteger" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ActingSubjectTypesAllowed">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attribute name="setNumber" type="xs:nonNegativeInteger" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ServiceRestrictionsAllowed">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anyURI"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ServiceDescription">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="md:localizedNameType">
<xs:maxLength value="1024"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ServiceDescriptionURL">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="md:localizedURIType">
<xs:maxLength value="512"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ServiceURL">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="md:localizedURIType">
<xs:maxLength value="512"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="PrivacyPolicyURL">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="md:localizedURIType">
<xs:maxLength value="512"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ServiceID" type="xs:anyURI"/>
<xs:element name="ServiceUUID" type="xs:string"/>
<xs:element name="BsnkStructureVersion" type="xs:string"/>
<xs:element name="BsnkRecipientKeySetVersion" type="xs:string"/>
<xs:element name="ServiceName">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="md:localizedNameType">
<xs:maxLength value="64"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ServiceProvider">
<xs:complexType>
<xs:sequence>
<xs:element ref="esc:ServiceProviderID"/>
<xs:element ref="esc:OrganizationDisplayName" maxOccurs="unbounded"/>
<xs:element ref="esc:ServiceDefinition" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="esc:ServiceInstance" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="esc:IsPublic" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="ServiceProviderID" type="esc:OINType"/>
<xs:element name="RequestedAttribute" type="esc:RequestedAttributeType" />
<xs:complexType name="RequestedAttributeType">
<xs:complexContent>
<xs:extension base="md:RequestedAttributeType">
<xs:sequence>
<xs:element ref="esc:PurposeStatement" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="PurposeStatement" type="esc:PurposeStatementType"/>
<xs:complexType name="PurposeStatementType">
<xs:simpleContent>
<xs:restriction base="md:localizedNameType">
<xs:maxLength value="1024" />
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
<xs:element name="ServiceCertificate">
<xs:complexType>
<xs:sequence>
<xs:element ref="md:KeyDescriptor"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="HerkenningsmakelaarId" type="esc:OINType"/>
<xs:element name="AdditionalHerkenningsmakelaarId" type="esc:OINType"/>
<xs:element name="OrganizationDisplayName">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="md:localizedNameType">
<xs:maxLength value="64"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="InstanceOfService" type="xs:string"/>
<xs:element name="IntermediatedService" type="xs:string"/>
<xs:element name="ServiceIntermediation">
<xs:complexType>
<xs:sequence>
<xs:element ref="esc:ServiceIntermediationAllowed" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="intermediationAllowed" type="esc:IntermediationAllowedType" default="noIntermediation"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="IntermediationAllowedType">
<xs:restriction base="xs:string">
<xs:enumeration value="noIntermediation"/>
<xs:enumeration value="generalAvailable"/>
<xs:enumeration value="serviceProviderOnly"/>
<xs:enumeration value="requiresApproval"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="ServiceIntermediationAllowed" type="esc:OINType"/>
<xs:simpleType name="OINType">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{20}"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="Classifiers" type="esc:ClassifiersType" />
<xs:complexType name="ClassifiersType">
<xs:sequence>
<xs:element name="Classifier" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!--Attributes-->
<xs:attribute name="IssueInstant" type="xs:dateTime"/>
<xs:attribute name="IsPublic" type="xs:boolean"/>
<xs:attribute name="Version" type="xs:anyURI"/>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<esc:ServiceCatalogue xmlns:esc="urn:etoegang:1.11:service-catalog" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" esc:IssueInstant="2015-12-28T10:19:57Z" esc:Version="urn:etoegang:1.11:service-catalogue:P:506" ID="_dc">
<ds:Signature>...</ds:Signature>
<esc:ServiceProvider esc:IsPublic="true">
<esc:ServiceProviderID>99999999000000000099</esc:ServiceProviderID>
<esc:OrganizationDisplayName xml:lang="nl">Voorbeeld DV</esc:OrganizationDisplayName>
<esc:OrganizationDisplayName xml:lang="en">Example SP</esc:OrganizationDisplayName>
<esc:ServiceDefinition esc:IsPublic="true">
<esc:ServiceUUID>6bae98e3-5ef9-4576-98c8-5aba4b8e672d</esc:ServiceUUID>
<esc:ServiceName xml:lang="nl">Voorbeelddienst</esc:ServiceName>
<esc:ServiceName xml:lang="en">Example Service</esc:ServiceName>
<esc:ServiceDescription xml:lang="nl">Voorbeelddienst (attributen LoA3)</esc:ServiceDescription>
<esc:ServiceDescription xml:lang="en">Example Service (attributes LoA3)</esc:ServiceDescription>
<esc:ServiceDescriptionURL xml:lang="nl">http://example.etoegang.nl</esc:ServiceDescriptionURL>
<saml:AuthnContextClassRef>urn:etoegang:core:assurance-class:loa3</saml:AuthnContextClassRef>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:EntityConcernedTypesAllowed>urn:etoegang:1.9:EntityConcernedID:Pseudo</esc:EntityConcernedTypesAllowed>
<esc:RequestedAttribute Name="urn:etoegang:1.9:attribute:FirstName" isRequired="false">
<esc:PurposeStatement xml:lang="nl">Om voornaam te kunnen testen...</esc:PurposeStatement>
<esc:PurposeStatement xml:lang="en">For testing Firstname...</esc:PurposeStatement>
</esc:RequestedAttribute>
<esc:RequestedAttribute Name="urn:etoegang:1.9:attribute:Initials" isRequired="false">
<esc:PurposeStatement xml:lang="nl">Om initialen te kunnen testen...</esc:PurposeStatement>
<esc:PurposeStatement xml:lang="en">For testing initials</esc:PurposeStatement>
</esc:RequestedAttribute>
<esc:RequestedAttribute Name="urn:etoegang:1.9:attribute:FamilyName" isRequired="true">
<esc:PurposeStatement xml:lang="nl">Om achternaam te kunnen testen...</esc:PurposeStatement>
<esc:PurposeStatement xml:lang="en">For testing family name...</esc:PurposeStatement>
</esc:RequestedAttribute>
<esc:RequestedAttribute Name="urn:etoegang:1.9:attribute:DateOfBirth" isRequired="true">
<esc:PurposeStatement xml:lang="nl">Om geboortedatum te kunnen testen...</esc:PurposeStatement>
<esc:PurposeStatement xml:lang="en">For testing birthdate...</esc:PurposeStatement>
</esc:RequestedAttribute>
</esc:ServiceDefinition>
<esc:ServiceInstance esc:IsPublic="true">
<esc:ServiceID>urn:etoegang:DV:99999999000000000099:services:9999</esc:ServiceID>
<esc:ServiceUUID>9adfede3-eda5-4385-b938-9ccb954b2ad5</esc:ServiceUUID>
<esc:InstanceOfService>6bae98e3-5ef9-4576-98c8-5aba4b8e672d</esc:InstanceOfService>
<esc:ServiceURL xml:lang="nl">http://example.nl</esc:ServiceURL>
<esc:ServiceURL xml:lang="en">http://example.com</esc:ServiceURL>
<esc:PrivacyPolicyURL xml:lang="nl">http://example.etoegang.nl/privacy.html</esc:PrivacyPolicyURL>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:SSOSupport>false</esc:SSOSupport>
<esc:ServiceCertificate>
<md:KeyDescriptor use="encryption">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
</esc:ServiceCertificate>
</esc:ServiceInstance>
</esc:ServiceProvider>
</esc:ServiceCatalogue>
...
<esc:ServiceProvider esc:IsPublic="true">
<esc:ServiceProviderID>99999999000000000098</esc:ServiceProviderID>
<esc:OrganizationDisplayName xml:lang="nl">Voorbeeld DV</esc:OrganizationDisplayName>
<esc:OrganizationDisplayName xml:lang="en">Example SP</esc:OrganizationDisplayName>
<esc:ServiceDefinition esc:IsPublic="true">
<esc:ServiceUUID>cf48b0d3-ea45-4436-a6c4-fde50e19ef70</esc:ServiceUUID>
<esc:ServiceName xml:lang="nl">Voorbeelddienst</esc:ServiceName>
<esc:ServiceName xml:lang="en">Example Service</esc:ServiceName>
<esc:ServiceDescription xml:lang="nl">Voorbeelddienst (BSN LoA3)</esc:ServiceDescription>
<esc:ServiceDescription xml:lang="en">Example Service (BSN LoA3)</esc:ServiceDescription>
<esc:ServiceDescriptionURL xml:lang="nl">http://example.etoegang.nl</esc:ServiceDescriptionURL>
<saml:AuthnContextClassRef>urn:etoegang:core:assurance-class:loa3</saml:AuthnContextClassRef>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:EntityConcernedTypesAllowed>urn:etoegang:1.12:EntityConcernedID:BSN</esc:EntityConcernedTypesAllowed>
</esc:ServiceDefinition>
<esc:ServiceInstance esc:IsPublic="true">
<esc:ServiceID>urn:etoegang:DV:99999999000000000098:services:9998</esc:ServiceID>
<esc:ServiceUUID>94148585-90e3-467e-be43-5f5270326215</esc:ServiceUUID>
<esc:InstanceOfService>cf48b0d3-ea45-4436-a6c4-fde50e19ef70</esc:InstanceOfService>
<esc:ServiceURL xml:lang="nl">http://example.nl</esc:ServiceURL>
<esc:PrivacyPolicyURL xml:lang="nl">http://example.etoegang.nl/privacy.html</esc:PrivacyPolicyURL>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:SSOSupport>false</esc:SSOSupport>
<esc:ServiceCertificate>
<md:KeyDescriptor use="encryption">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
</esc:ServiceCertificate>
<esc:ServiceIntermediation intermediationAllowed="requiresApproval">
<esc:ServiceIntermediationAllowed>99999999000000000098</esc:ServiceIntermediationAllowed>
<esc:ServiceIntermediationAllowed>99999999000000000097</esc:ServiceIntermediationAllowed>
</esc:ServiceIntermediation>
</esc:ServiceInstance>
</esc:ServiceProvider>
<esc:ServiceProvider esc:IsPublic="true">
<esc:ServiceProviderID>99999999000000000097</esc:ServiceProviderID>
<esc:OrganizationDisplayName xml:lang="nl">Voorbeeld Dienstbemiddelaar</esc:OrganizationDisplayName>
<esc:OrganizationDisplayName xml:lang="en">Example Service Intemediary</esc:OrganizationDisplayName>
<esc:ServiceInstance esc:IsPublic="true">
<esc:ServiceID>urn:etoegang:DV:99999999000000000097:services:9997</esc:ServiceID>
<esc:ServiceUUID>71dccfdd-2d4f-44e5-b03d-01c6580fad80</esc:ServiceUUID>
<esc:IntermediatedService>94148585-90e3-467e-be43-5f5270326215</esc:IntermediatedService>
<esc:ServiceURL xml:lang="en">http://example.com</esc:ServiceURL>
<esc:PrivacyPolicyURL xml:lang="en">http://example.etoegang.nl/privacy_en.html</esc:PrivacyPolicyURL>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:SSOSupport>false</esc:SSOSupport>
<esc:ServiceCertificate>
<md:KeyDescriptor use="encryption">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
</esc:ServiceCertificate>
</esc:ServiceInstance>
</esc:ServiceProvider>
...
...
<esc:ServiceDefinition esc:IsPublic="true">
<esc:ServiceUUID>cf48b0d3-ea45-4436-a6c4-fde50e19ef70</esc:ServiceUUID>
<esc:ServiceName xml:lang="nl">Voorbeelddienst</esc:ServiceName>
<esc:ServiceName xml:lang="en">Example Service</esc:ServiceName>
<esc:ServiceDescription xml:lang="nl">Voorbeelddienst (BSN LoA3)</esc:ServiceDescription>
<esc:ServiceDescription xml:lang="en">Example Service (BSN LoA3)</esc:ServiceDescription>
<esc:ServiceDescriptionURL xml:lang="nl">http://example.etoegang.nl</esc:ServiceDescriptionURL>
<saml:AuthnContextClassRef>urn:etoegang:core:assurance-class:loa3</saml:AuthnContextClassRef>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:EntityConcernedTypesAllowed setNumber="1">urn:etoegang:1.12:EntityConcernedID:PseudoID</esc:EntityConcernedTypesAllowed>
</esc:ServiceDefinition>
...
...
<esc:ServiceDefinition esc:IsPublic="true">
<esc:ServiceUUID>cf48b0d3-ea45-4436-a6c4-fde50e19ef70</esc:ServiceUUID>
<esc:ServiceName xml:lang="nl">Voorbeelddienst</esc:ServiceName>
<esc:ServiceName xml:lang="en">Example Service</esc:ServiceName>
<esc:ServiceDescription xml:lang="nl">Voorbeelddienst (BSN LoA3)</esc:ServiceDescription>
<esc:ServiceDescription xml:lang="en">Example Service (BSN LoA3)</esc:ServiceDescription>
<esc:ServiceDescriptionURL xml:lang="nl">http://example.etoegang.nl</esc:ServiceDescriptionURL>
<saml:AuthnContextClassRef>urn:etoegang:core:assurance-class:loa3</saml:AuthnContextClassRef>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:EntityConcernedTypesAllowed setNumber="1">urn:etoegang:1.9:EntityConcernedID:RSIN</esc:EntityConcernedTypesAllowed>
<esc:EntityConcernedTypesAllowed setNumber="1">urn:etoegang:1.9:EntityConcernedID:KvKnr</esc:EntityConcernedTypesAllowed>
</esc:ServiceDefinition>
...
...
<esc:ServiceDefinition esc:IsPublic="true">
<esc:ServiceUUID>cf48b0d3-ea45-4436-a6c4-fde50e19ef70</esc:ServiceUUID>
<esc:ServiceName xml:lang="nl">Voorbeelddienst</esc:ServiceName>
<esc:ServiceName xml:lang="en">Example Service</esc:ServiceName>
<esc:ServiceDescription xml:lang="nl">Voorbeelddienst (BSN LoA3)</esc:ServiceDescription>
<esc:ServiceDescription xml:lang="en">Example Service (BSN LoA3)</esc:ServiceDescription>
<esc:ServiceDescriptionURL xml:lang="nl">http://example.etoegang.nl</esc:ServiceDescriptionURL>
<saml:AuthnContextClassRef>urn:etoegang:core:assurance-class:loa3</saml:AuthnContextClassRef>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:EntityConcernedTypesAllowed setNumber="1">urn:etoegang:1.9:EntityConcernedID:RSIN</esc:EntityConcernedTypesAllowed>
<esc:EntityConcernedTypesAllowed setNumber="2">urn:etoegang:1.9:EntityConcernedID:KvKnr</esc:EntityConcernedTypesAllowed>
</esc:ServiceDefinition>
...
...
<esc:ServiceDefinition esc:IsPublic="true">
<esc:ServiceUUID>cf48b0d3-ea45-4436-a6c4-fde50e19ef70</esc:ServiceUUID>
<esc:ServiceName xml:lang="nl">Voorbeelddienst</esc:ServiceName>
<esc:ServiceName xml:lang="en">Example Service</esc:ServiceName>
<esc:ServiceDescription xml:lang="nl">Voorbeelddienst (BSN LoA3)</esc:ServiceDescription>
<esc:ServiceDescription xml:lang="en">Example Service (BSN LoA3)</esc:ServiceDescription>
<esc:ServiceDescriptionURL xml:lang="nl">http://example.etoegang.nl</esc:ServiceDescriptionURL>
<saml:AuthnContextClassRef>urn:etoegang:core:assurance-class:loa3</saml:AuthnContextClassRef>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:EntityConcernedTypesAllowed setNumber="1">urn:etoegang:1.9:EntityConcernedID:RSIN</esc:EntityConcernedTypesAllowed>
<esc:EntityConcernedTypesAllowed setNumber="1">urn:etoegang:1.9:EntityConcernedID:KvKnr</esc:EntityConcernedTypesAllowed>
<esc:EntityConcernedTypesAllowed setNumber="2">urn:etoegang:1.12:EntityConcernedID:BSN</esc:EntityConcernedTypesAllowed>
<esc:EntityConcernedTypesAllowed setNumber="2">urn:etoegang:1.9:EntityConcernedID:KvKnr</esc:EntityConcernedTypesAllowed>
</esc:ServiceDefinition>
...
...
<esc:ServiceProvider esc:IsPublic="true">
<esc:ServiceProviderID>99999999000000000099</esc:ServiceProviderID>
<esc:OrganizationDisplayName xml:lang="nl">Voorbeeld DV</esc:OrganizationDisplayName>
<esc:OrganizationDisplayName xml:lang="en">Example SP</esc:OrganizationDisplayName>
<esc:ServiceDefinition esc:IsPublic="true">
<esc:ServiceUUID>c230649d-647d-4289-80c7-b0297e3e6a29</esc:ServiceUUID>
<esc:ServiceName xml:lang="nl">Voorbeelddienst EU-ready</esc:ServiceName>
<esc:ServiceName xml:lang="en">Example Service EU-ready</esc:ServiceName>
<esc:ServiceDescription xml:lang="nl">Voorbeelddienst (BSN LoA3) die open staat voor EU-burgers via eIDAS</esc:ServiceDescription>
<esc:ServiceDescription xml:lang="en">Example Service (BSN LoA3) available for EU-citizens eIDAS</esc:ServiceDescription>
<esc:ServiceDescriptionURL xml:lang="nl">http://example.etoegang.nl</esc:ServiceDescriptionURL>
<saml:AuthnContextClassRef>urn:etoegang:core:assurance-class:loa3</saml:AuthnContextClassRef>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:EntityConcernedTypesAllowed>urn:etoegang:1.12:EntityConcernedID:BSN</esc:EntityConcernedTypesAllowed>
</esc:ServiceDefinition>
<esc:ServiceInstance esc:IsPublic="true">
<esc:ServiceID>urn:etoegang:DV:99999999000000000099:services:9994</esc:ServiceID>
<esc:ServiceUUID>fabce53f-7ba6-44d7-aa75-789ec56431ad</esc:ServiceUUID>
<esc:InstanceOfService>c230649d-647d-4289-80c7-b0297e3e6a29</esc:InstanceOfService>
<esc:ServiceURL xml:lang="nl">http://example.nl</esc:ServiceURL>
<esc:ServiceURL xml:lang="en">http://example.com</esc:ServiceURL>
<esc:PrivacyPolicyURL xml:lang="nl">http://example.etoegang.nl/privacy.html</esc:PrivacyPolicyURL>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:SSOSupport>false</esc:SSOSupport>
<esc:ServiceCertificate>
<md:KeyDescriptor use="encryption">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
</esc:ServiceCertificate>
<esc:Classifiers>
<esc:Classifier>PublicDomain</esc:Classifier>
<esc:Classifier>eIDAS-inbound</esc:Classifier>
</esc:Classifiers>
<esc:BsnkStructureVersion>2</esc:BsnkStructureVersion>
<esc:BsnkRecipientKeySetVersion>20201231</esc:BsnkRecipientKeySetVersion>
</esc:ServiceInstance>
<esc:ServiceInstance esc:IsPublic="true">
<esc:ServiceID>urn:etoegang:DV:99999999000000000099:services:9993</esc:ServiceID>
<esc:ServiceUUID>128d0878-2bc7-4400-9068-8427c5abeb47</esc:ServiceUUID>
<esc:InstanceOfService>c230649d-647d-4289-80c7-b0297e3e6a29</esc:InstanceOfService>
<esc:ServiceURL xml:lang="nl">http://app.example.nl</esc:ServiceURL>
<esc:ServiceURL xml:lang="en">http://app.example.com</esc:ServiceURL>
<esc:PrivacyPolicyURL xml:lang="nl">http://example.etoegang.nl/app/privacy.html</esc:PrivacyPolicyURL>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:SSOSupport>false</esc:SSOSupport>
<esc:ServiceCertificate>
<md:KeyDescriptor use="encryption">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
</esc:ServiceCertificate>
<esc:Classifiers>
<esc:Classifier>PublicDomain</esc:Classifier>
<esc:Classifier>eIDAS-inbound</esc:Classifier>
</esc:Classifiers>
<esc:BsnkStructureVersion>2</esc:BsnkStructureVersion>
<esc:BsnkRecipientKeySetVersion>20201231</esc:BsnkRecipientKeySetVersion>
</esc:ServiceInstance>
</esc:ServiceProvider>
...
...
<esc:ServiceProvider>
<esc:ServiceProviderID>99999999000000000098</esc:ServiceProviderID>
<esc:OrganizationDisplayName xml:lang="nl">BRP</esc:OrganizationDisplayName>
<esc:OrganizationDisplayName xml:lang="en">BRP</esc:OrganizationDisplayName>
<esc:ServiceDefinition>
<esc:ServiceUUID>cf48b0d3-ea45-4436-a6c4-fde50e19ef70</esc:ServiceUUID>
<esc:ServiceName xml:lang="nl">Verstrekken BRP-attributen</esc:ServiceName>
<esc:ServiceName xml:lang="en">Verstrekken BRP-attributen</esc:ServiceName>
<esc:ServiceDescription xml:lang="nl">Verstrekken BRP-attributen tbv EU inlog </esc:ServiceDescription>
<esc:ServiceDescription xml:lang="en">Verstrekken BRP-attributen tbv EU inlog </esc:ServiceDescription>
<esc:ServiceDescriptionURL xml:lang="nl">http://eb-toelichting.rvo.nl</esc:ServiceDescriptionURL>
<saml:AuthnContextClassRef>urn:etoegang:core:assurance-class:loa3</saml:AuthnContextClassRef>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:EntityConcernedTypesAllowed setNumber="1">urn:etoegang:1.9:EntityConcernedID:KvKnr</esc:EntityConcernedTypesAllowed>
<esc:ActingSubjectTypesAllowed setNumber="1">urn:etoegang:1.12:EntityConcernedID:BSN</esc:ActingSubjectTypesAllowed>
</esc:ServiceDefinition>
<esc:ServiceInstance>
<esc:ServiceID>urn:etoegang:DV:99999999000000000098:services:9998</esc:ServiceID>
<esc:ServiceUUID>94148585-90e3-467e-be43-5f5270326215</esc:ServiceUUID>
<esc:InstanceOfService>cf48b0d3-ea45-4436-a6c4-fde50e19ef70</esc:InstanceOfService>
<esc:ServiceURL xml:lang="nl">http://attrdienst.brp.nl</esc:ServiceURL>
<esc:PrivacyPolicyURL xml:lang="nl">http://statement.brp.nl/privacy.html</esc:PrivacyPolicyURL>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:SSOSupport>false</esc:SSOSupport>
<esc:ServiceCertificate>
<md:KeyDescriptor use="encryption">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
</esc:ServiceCertificate>
<esc:ServiceIntermediation intermediationAllowed="requiresApproval">
<esc:ServiceIntermediationAllowed>99999999000000000097</esc:ServiceIntermediationAllowed>
</esc:ServiceIntermediation>
<esc:Classifiers>
<esc:Classifier>eIDAS-outbound</esc:Classifier>
</esc:Classifiers>
<esc:BsnkStructureVersion>2</esc:BsnkStructureVersion>
<esc:BsnkRecipientKeySetVersion>20201231</esc:BsnkRecipientKeySetVersion>
</esc:ServiceInstance>
</esc:ServiceProvider>
<esc:ServiceProvider>
<esc:ServiceProviderID>99999999000000000097</esc:ServiceProviderID>
<esc:OrganizationDisplayName xml:lang="nl">NL EU-knooppunt</esc:OrganizationDisplayName>
<esc:OrganizationDisplayName xml:lang="en">NL EU-knooppunt</esc:OrganizationDisplayName>
<esc:ServiceDefinition>
<esc:ServiceUUID>hj67b0d3-eb48-4836-a9a4-fde50e32ac89</esc:ServiceUUID>
<esc:ServiceName xml:lang="nl">Duitsland-overheid</esc:ServiceName>
<esc:ServiceName xml:lang="en">Germany Public service</esc:ServiceName>
<esc:ServiceDescription xml:lang="nl">Duitsland-overheid (BSN LoA3)</esc:ServiceDescription>
<esc:ServiceDescription xml:lang="en">Germany Public service(BSN LoA3)</esc:ServiceDescription>
<esc:ServiceDescriptionURL xml:lang="nl">http://eb-toelichting.rvo.nl</esc:ServiceDescriptionURL>
<saml:AuthnContextClassRef>urn:etoegang:core:assurance-class:loa3</saml:AuthnContextClassRef>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:EntityConcernedTypesAllowed setNumber="1">urn:etoegang:1.9:EntityConcernedID:KvK</esc:EntityConcernedTypesAllowed>
<esc:ActingSubjectTypesAllowed setNumber="1">urn:etoegang:1.12:EntityConcernedID:PseudoID</esc:ActingSubjectTypesAllowed>
</esc:ServiceDefinition>
<esc:ServiceInstance>
<esc:ServiceID>urn:etoegang:DV:99999999000000000097:services:9997</esc:ServiceID>
<esc:ServiceUUID>71dccfdd-2d4f-44e5-b03d-01c6580fad80</esc:ServiceUUID>
<esc:InstanceOfService>hj67b0d3-eb48-4836-a9a4-fde50e32ac89</esc:InstanceOfService>
<esc:IntermediatedService>94148585-90e3-467e-be43-5f5270326215</esc:IntermediatedService>
<esc:ServiceURL xml:lang="en">http://example.com</esc:ServiceURL>
<esc:PrivacyPolicyURL xml:lang="en">http://example.etoegang.nl/privacy_en.html</esc:PrivacyPolicyURL>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:SSOSupport>false</esc:SSOSupport>
<esc:ServiceCertificate>
<md:KeyDescriptor use="encryption">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
</esc:ServiceCertificate>
<esc:Classifiers>
<esc:Classifier>eIDAS-outbound</esc:Classifier>
</esc:Classifiers>
<esc:BsnkStructureVersion>2</esc:BsnkStructureVersion>
<esc:BsnkRecipientKeySetVersion>20201231</esc:BsnkRecipientKeySetVersion>
</esc:ServiceInstance>
</esc:ServiceProvider>
...
...
<esc:ServiceProvider>
<esc:ServiceProviderID>99999999000000000098</esc:ServiceProviderID>
<esc:OrganizationDisplayName xml:lang="nl">Naam DienstAanbieder</esc:OrganizationDisplayName>
<esc:OrganizationDisplayName xml:lang="en">Name Intermediated ServiceProvider</esc:OrganizationDisplayName>
<esc:ServiceDefinition>
<esc:ServiceUUID>cf48b0d3-ea45-4436-a6c4-fde50e19ef70</esc:ServiceUUID>
<esc:ServiceName xml:lang="nl">Naam Bemiddelde Dienst</esc:ServiceName>
<esc:ServiceName xml:lang="en">Name Intermediated Service</esc:ServiceName>
<esc:ServiceDescription xml:lang="nl">Beschrijving Bemiddelde Dienst</esc:ServiceDescription>
<esc:ServiceDescription xml:lang="en">Description Intermedated Service</esc:ServiceDescription>
<esc:ServiceDescriptionURL xml:lang="nl">http://example.etoegang.nl/</esc:ServiceDescriptionURL>
<saml:AuthnContextClassRef>urn:etoegang:core:assurance-class:loa3</saml:AuthnContextClassRef>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:EntityConcernedTypesAllowed setNumber="1">urn:etoegang:1.9:EntityConcernedID:KvKnr</esc:EntityConcernedTypesAllowed>
</esc:ServiceDefinition>
<esc:ServiceInstance>
<esc:ServiceID>urn:etoegang:DV:99999999000000000098:services:9998</esc:ServiceID>
<esc:ServiceUUID>94148585-90e3-467e-be43-5f5270326215</esc:ServiceUUID>
<esc:InstanceOfService>cf48b0d3-ea45-4436-a6c4-fde50e19ef70</esc:InstanceOfService>
<esc:ServiceURL xml:lang="nl">http://example.nl/</esc:ServiceURL>
<esc:PrivacyPolicyURL xml:lang="nl">http://example.etoegang.nl/privacy.html</esc:PrivacyPolicyURL>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:SSOSupport>false</esc:SSOSupport>
<esc:ServiceCertificate>
<md:KeyDescriptor use="encryption">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
</esc:ServiceCertificate>
<esc:ServiceIntermediation intermediationAllowed="requiresApproval">
<esc:ServiceIntermediationAllowed>99999999000000000097</esc:ServiceIntermediationAllowed>
</esc:ServiceIntermediation>
</esc:ServiceInstance>
</esc:ServiceProvider>
<esc:ServiceProvider>
<esc:ServiceProviderID>99999999000000000097</esc:ServiceProviderID>
<esc:OrganizationDisplayName xml:lang="nl">DV Naam</esc:OrganizationDisplayName>
<esc:OrganizationDisplayName xml:lang="en">SP Name</esc:OrganizationDisplayName>
<esc:ServiceInstance>
<esc:ServiceID>urn:etoegang:DV:99999999000000000097:services:9997</esc:ServiceID>
<esc:ServiceUUID>71dccfdd-2d4f-44e5-b03d-01c6580fad80</esc:ServiceUUID>
<esc:InstanceOfService>cf48b0d3-ea45-4436-a6c4-fde50e19ef70</esc:InstanceOfService>
<esc:IntermediatedService>94148585-90e3-467e-be43-5f5270326215</esc:IntermediatedService>
<esc:ServiceURL xml:lang="en">http://example.com</esc:ServiceURL>
<esc:PrivacyPolicyURL xml:lang="en">http://example.etoegang.nl/privacy_en.html</esc:PrivacyPolicyURL>
<esc:HerkenningsmakelaarId>99999999000000000010</esc:HerkenningsmakelaarId>
<esc:SSOSupport>false</esc:SSOSupport>
<esc:ServiceCertificate>
<md:KeyDescriptor use="encryption">
<ds:KeyInfo>
<ds:KeyName>...</ds:KeyName>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
</esc:ServiceCertificate>
</esc:ServiceInstance>
</esc:ServiceProvider>
...
The use of BsnkRecipientKeySetVersion for BSNk-tranformation service is added tot AUC10.2 (see AUC10.2 MachtigingsRegister of Authenticatiedienst gebruikt BSNk transformatie functie)
The use of BsnkStructureVersion to select the appropriate BSNk-tranformation service is added tot AUC10.2 (see AUC10.2 MachtigingsRegister of Authenticatiedienst gebruikt BSNk transformatie functie)
Publication
The Beheerorganisatie publishes the service catalog at a predetermined location. Before it is published, the service catalog is sorted by HerkenningsmakelaarId and then by the ServiceID.
A participant MUST process the service catalog according to Proces doorvoeren nieuwe dienstencatalogus.