Siden giver eksempler på hvordan du kan benytte certifikater på Datafordeleren.

Siden indeholder ældre eksempler, som ikke er opdateret til de nye OCES3 certifikater.



Sideinformation




.NET

Client auth SSL

Eksemplet er oprettet for at vise Direct SSL klient certifikat autorisation på Datafordeleren.

Fremgangsmåde

  • Kopier et FOCES eller VOCES service user keystore til /App_Data/ folder
  • Skab en reference til filen og din adgangskode, mens du kører DataDistributor.Switchboard.Authorization.CertTest.exe
  • Skift url'en til den tjeneste på Datafordeleren, som du ønsker at benytte

Status code: OK
Response Content-Type: application/json; charset=UTF8



 {
    "datafordelerOpdateringstid": "2016-10-07T19:27:59.802+02:00",
    "adgangsadressebetegnelse": "Spaden C 2, Høje Taastrup, 2630 Taastrup",
    "afstemningsområde": {
      "id": "1566156",
      "afstemningsområdenummer": "06",
      "navn": "Gadehaveskolen"
    },
    "forretningshændelse": "3",
    "forretningsområde": "54.15.10.07",
    "forretningsproces": "0",
    "geoDanmarkBygning": "1005307686",
    "husnummerretning": "POINT(0.946085358827545 -0.32391741819815)",
    "husnummertekst": "2",
    "id_lokalId": "0a3f507d-1a3d-32b8-e044-0003ba298018",
    "id_namespace": "http://data.gov.dk/dar/husnummer",
    "jordstykke": "402274",
    "kommuneinddeling": {
      "id": "389114",
      "kommunekode": "0169",
      "navn": "Høje Taastrup"
    },
    "menighedsrådsafstemningsområde": {
      "id": "1700977",
      "mrafstemningsområdenummer": "1",
      "navn": "Høje Taastrup"
    },
    "registreringFra": "2016-07-08T17:10:50+02:00",
    "registreringsaktør": "DAR",
    "sogneinddeling": {
      "id": "107659",
      "sognekode": "7152",
      "navn": "Høje Taastrup"
    },
    "status": "3",
    "vejmidte": "1006309113",
    "virkningFra": "2016-09-16T12:34:43+02:00",
    "virkningsaktør": "Konvertering2017",
    "navngivenVej": {
      "datafordelerOpdateringstid": "2016-10-07T20:23:50.386+02:00",
      "administreresAfKommune": "0169",
      "forretningshændelse": "0",
      "forretningsområde": "54.15.10.06",
      "forretningsproces": "0",
      "id_lokalId": "55595d06-fac1-4a07-b7e8-7365fe9428cc",
      "id_namespace": "http://data.gov.dk/dar/navngivenvej",
      "registreringFra": "2016-07-08T17:10:50+02:00",
      "registreringsaktør": "DAR",
      "status": "3",
      "udtaltVejnavn": "Spaden C",
      "vejadresseringsnavn": "Spaden C",
      "vejnavn": "Spaden C",
      "vejnavnebeliggenhed_oprindelse_kilde": "Ekstern",
      "vejnavnebeliggenhed_oprindelse_nøjagtighedsklasse": "B",
      "vejnavnebeliggenhed_oprindelse_registrering": "2016-09-01T18:20:58.068+02:00",
      "vejnavnebeliggenhed_oprindelse_tekniskStandard": "NO",
      "vejnavnebeliggenhed_vejnavneområde": "POLYGON((706160.12 6172245.95,706186.79 6172080.73,706152.796674 6172075.24276,706126.126674 6172240.46276,706160.12 6172245.95))",
      "virkningFra": "1900-01-01T13:00:00+01:00",
      "virkningsaktør": "Konvertering2017SDFE",
      "navngivenVejKommunedelList": [
        {
          "id_lokalId": "a07f8a98-6f7e-11e6-a528-063320a53a26",
          "navngivenVejKommunedel": {
            "datafordelerOpdateringstid": "2016-10-07T20:24:18.076+02:00",
            "forretningshændelse": "1",
            "forretningsområde": "54.15.10.06",
            "forretningsproces": "0",
            "id_lokalId": "a07f8a98-6f7e-11e6-a528-063320a53a26",
            "id_namespace": "http://data.gov.dk/dar/navngivenvejkommunedel",
            "kommune": "0169",
            "navngivenVej": "55595d06-fac1-4a07-b7e8-7365fe9428cc",
            "registreringFra": "2016-07-08T17:10:50+02:00",
            "registreringsaktør": "DAR",
            "status": "3",
            "vejkode": "7428",
            "virkningFra": "1900-01-01T13:00:00+01:00",
            "virkningsaktør": "Konvertering2017SDFE"
          }
        }
      ]
    },
    "adgangspunkt": {
      "datafordelerOpdateringstid": "2016-10-07T17:45:04.681+02:00",
      "oprindelse_kilde": "Ekstern",
      "oprindelse_nøjagtighedsklasse": "A",
      "oprindelse_registrering": "2014-11-28T13:14:48.957+01:00",
      "oprindelse_tekniskStandard": "TK",
      "position": "POINT(706176.77 6172114.13)"
    },
    "vejpunkt": {
      "datafordelerOpdateringstid": "2016-10-07T19:07:13.562+02:00",
      "oprindelse_kilde": "Ekstern",
      "oprindelse_nøjagtighedsklasse": "B",
      "oprindelse_registrering": "2016-09-01T18:22:45.177+02:00",
      "oprindelse_tekniskStandard": "V2",
      "position": "POINT(706163.08 6172175.47)"
    },
    "supplerendeBynavn": {
      "datafordelerOpdateringstid": "2016-10-07T20:28:02.261+02:00",
      "forretningshændelse": "5",
      "forretningsområde": "54.15.10.25",
      "forretningsproces": "0",
      "id_lokalId": "a684854a-3f14-438e-a763-9841ee1f12ad",
      "id_namespace": "http://data.gov.dk/dar/supplerendebynavn",
      "navn": "Høje Taastrup",
      "registreringFra": "2016-07-08T17:10:50+02:00",
      "registreringsaktør": "DAR",
      "status": "3",
      "supplerendeBynavn": "1647901",
      "virkningFra": "1753-01-01T01:00:00+01:00",
      "virkningsaktør": "Konvertering2017"
    }
  }




Zip-fil med eksempel

dotnet_client auth SSL.zip




SAML2 token auth

Eksemplet er oprettet for at vise SAML2 token autorisation på Datafordeleren.

Fremgangsmåde

  • Kopier et FOCES eller VOCES service user keystore til /App_Data/ folder
  • Skab en reference til filen og din adgangskode i Script.bat filen
  • Skift url'en til den tjeneste på Datafordeleren, som du ønsker at benytte, i Script.bat filen
  • Kør Script.bat filen og tjek resultatet i result.txt





BEGIN
Aquire saml with certificate auth token attempt
Configured certificatepath: C:\somedir\App_Data\FOCES_gyldig.p12
Elapsed time in miliseconds: 769
SAML token:
PEFzc2VydGlvbiBJRD0iX2UzYzMxYTU2LTVkMzEtNDM1ZC05NTdkLTE1YzA5NTcyYzY2MyIgSXNzdWVJbnN0YW50PSIyMDE5LTExLTI5VDEyOjE2OjQxLjAyMVoiIFZlcnNpb249IjIuMCIgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDphc3NlcnRpb24iPjxJc3N1ZXI+aHR0cHM6Ly9zYW1sLnFhdWEta21kLmNsb3VkYXBwLm5ldC9hZGZzL3NlcnZpY2VzL3RydXN0PC9Jc3N1ZXI+PGRzOlNpZ25hdHVyZSB4bWxuczpkcz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyI+PGRzOlNpZ25lZEluZm8+PGRzOkNhbm9uaWNhbGl6YXRpb25NZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzEwL3htbC1leGMtYzE0biMiIC8+PGRzOlNpZ25hdHVyZU1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZHNpZy1tb3JlI3JzYS1zaGEyNTYiIC8+PGRzOlJlZmVyZW5jZSBVUkk9IiNfZTNjMzFhNTYtNWQzMS00MzVkLTk1N2QtMTVjMDk1NzJjNjYzIj48ZHM6VHJhbnNmb3Jtcz48ZHM6VHJhbnNmb3JtIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI2VudmVsb3BlZC1zaWduYXR1cmUiIC8+PGRzOlRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMTAveG1sLWV4Yy1jMTRuIyIgLz48L2RzOlRyYW5zZm9ybXM+PGRzOkRpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jI3NoYTI1NiIgLz48ZHM6RGlnZXN0VmFsdWU+Wnk2L2Q4b3ZkV0pGLytLbi8vOWM0a28wOUtUU0hzWUYrVGIvNnpycll3OD08L2RzOkRpZ2VzdFZhbHVlPjwvZHM6UmVmZXJlbmNlPjwvZHM6U2lnbmVkSW5mbz48ZHM6U2lnbmF0dXJlVmFsdWU+bDhZdHovakFMeS9zaDJvTitvRENPQWJ2dUVVR3UxR2JRR2x0clFTbVYzRjd1SlFmMC9NbEh5R1AyWFZJdjJOS2tXRVNBWHQyVXk4bzIxMnB3YjBVNlJmS2hRYmtZU1V1STI3eTd4cDNTQ3NGUkw0VGcvZEQ5dUwyeWJHNGJPdVV2WllGYTdVQ29ZV05PbGlFYWxDOHdlVTNoSkswMXJoQWlKNlducGxsdkZJQlZuTEJjc0JKWHZ1ZzYyZnk3aUY2aVRqUXpQbjcvTE9RWCs3cC9LaEllUGNHbk5UV29yNWtEL0RqUmtUQVlHWUY3ek9FL0hCRUtoL09LWHhVeWkycnV5d1dLWTk0VUtLTlAyenNxVGhCV1VCMHVXays5ZDcvZGxYWE9GWlNza0xOd0lzV0xYOC80ZUdxSXVtME5BWCswZEtiMGxVMU8wWDVvL3Z1Z09xeGVnPT08L2RzOlNpZ25hdHVyZVZhbHVlPjxLZXlJbmZvIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlHRXpDQ0JQdWdBd0lCQWdJRVdSdWJOVEFOQmdrcWhraUc5dzBCQVFzRkFEQklNUXN3Q1FZRFZRUUdFd0pFU3pFU01CQUdBMVVFQ2d3SlZGSlZVMVF5TkRBNE1TVXdJd1lEVlFRRERCeFVVbFZUVkRJME1EZ2dVM2x6ZEdWdGRHVnpkQ0JZV0VsSklFTkJNQjRYRFRFNE1ESXhOREExTWpNMU0xb1hEVEl4TURJeE5EQTFNak16TjFvd2Z6RUxNQWtHQTFVRUJoTUNSRXN4SURBZUJnTlZCQW9NRjB0TlJDQkJMMU1nTHk4Z1ExWlNPakkyT1RFeE56UTFNVTR3SUFZRFZRUUZFeGxEVmxJNk1qWTVNVEUzTkRVdFJrbEVPamN4T0RJMU5qVXdNQ29HQTFVRUF3d2pSRVF1UkdWMk1ERXVRV1JtY3lBb1puVnVhM1JwYjI1elkyVnlkR2xtYVd0aGRDa3dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDL2Zwa1E0ZHVCcTRwRTVCdFB2YkJ1RDZFNGltMFRZTklZRTREM2VSWXNWRnlkTmllYXBsL05SQ1N4MXlNMUpTck11YThmOU9CNkFjR0NrSkErWVUxMzYvclVJYisvamM3Qm45ZjNuU0NiZTNBRlQvZnhxK3FVVnQ4VkRRZHhJRFBqeU54MXBnM09kWU5vZGxrd1ZlZWZTNXBRZ2Uwc0k1UXVoNGEzaHlubTJGQkJpS0lOb2ZtR1Evb1lwdVp6YnQzRWk0SW51NHpPbjhTdkM5RVZnQnpZLzlSUHBvdlY5cG10Z2huV1lWMm5uS0NxYXBHWmszanNIZlVZVE9jN3JCYytDRlBHb1R6VXNlczN4Nis1TXlrMGdFVXplNVhoUEpMU2xRRmtqWmpsdy83dmM0c3hEaW95bXRKRklESnFWdWROdUtsOXQreXZ2Vm9qVUxYZEkvdDdBZ01CQUFHamdnTE1NSUlDeURBT0JnTlZIUThCQWY4RUJBTUNBN2d3Z1pjR0NDc0dBUVVGQndFQkJJR0tNSUdITUR3R0NDc0dBUVVGQnpBQmhqQm9kSFJ3T2k4dmIyTnpjQzV6ZVhOMFpXMTBaWE4wTWpJdWRISjFjM1F5TkRBNExtTnZiUzl5WlhOd2IyNWtaWEl3UndZSUt3WUJCUVVITUFLR08yaDBkSEE2THk5bUxtRnBZUzV6ZVhOMFpXMTBaWE4wTWpJdWRISjFjM1F5TkRBNExtTnZiUzl6ZVhOMFpXMTBaWE4wTWpJdFkyRXVZMlZ5TUlJQklBWURWUjBnQklJQkZ6Q0NBUk13Z2dFUEJnMHJCZ0VFQVlIMFVRSUVCZ1FDTUlIOU1DOEdDQ3NHQVFVRkJ3SUJGaU5vZEhSd09pOHZkM2QzTG5SeWRYTjBNalF3T0M1amIyMHZjbVZ3YjNOcGRHOXllVENCeVFZSUt3WUJCUVVIQWdJd2did3dEQllGUkdGdVNVUXdBd0lCQVJxQnEwUmhia2xFSUhSbGMzUWdZMlZ5ZEdsbWFXdGhkR1Z5SUdaeVlTQmtaVzV1WlNCRFFTQjFaSE4wWldSbGN5QjFibVJsY2lCUFNVUWdNUzR6TGpZdU1TNDBMakV1TXpFek1UTXVNaTQwTGpZdU5DNHlMaUJFWVc1SlJDQjBaWE4wSUdObGNuUnBabWxqWVhSbGN5Qm1jbTl0SUhSb2FYTWdRMEVnWVhKbElHbHpjM1ZsWkNCMWJtUmxjaUJQU1VRZ01TNHpMall1TVM0MExqRXVNekV6TVRNdU1pNDBMall1TkM0eUxqQ0JyQVlEVlIwZkJJR2tNSUdoTUQyZ082QTVoamRvZEhSd09pOHZZM0pzTG5ONWMzUmxiWFJsYzNReU1pNTBjblZ6ZERJME1EZ3VZMjl0TDNONWMzUmxiWFJsYzNReU1qRXVZM0pzTUdDZ1hxQmNwRm93V0RFTE1Ba0dBMVVFQmhNQ1JFc3hFakFRQmdOVkJBb01DVlJTVlZOVU1qUXdPREVsTUNNR0ExVUVBd3djVkZKVlUxUXlOREE0SUZONWMzUmxiWFJsYzNRZ1dGaEpTU0JEUVRFT01Bd0dBMVVFQXd3RlExSk1Nall3SHdZRFZSMGpCQmd3Rm9BVXE2Z0JSQm13czBPWjJ2cDh6TklBR0FQblBMOHdIUVlEVlIwT0JCWUVGT1B6dW0wYmxOTkRLQzRHYnFIdGoxRXVIUjdSTUFrR0ExVWRFd1FDTUFBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFKVWxtV3J6YmhVNVBIY2pWNW1jNUQzMW5zNHhqYjBWKzljejhZYlBRUWV3Wk9MVi9FeHhheEd0cndsY2x4UDVsM1R5MDFvZDU4bVV4ZjF3TndMc1ZjaXd6cTBlcDRFWkRGdmhlWWhDWDBSZlhPRlNPSVV5a1BhRWM1Zm9UMzVyN1g3NEdkMlg1NXNqTVVXRzdiTVFob1d1dDU2Q1h6bzJIQzBSUlRyRHoxdXI4Wm94ZEdZcUthUUNXL1YvYkdBd2V6ZUVsSFBnYzkySy91bFA0Mk1xM0NpRDA3ZWw2d3JUR2VMbUFWL3RMeklETURRaDJvTHp5anRUY2VCRjE1dHFCcDE4ODVKSjVLK091TmloOGtORWoyVU9jejFlUlRyNGhkUVNERk5VQU5sTTd2T25VUFpLcTIzcS80aVhNTCtmYU5zMnJ2QzBRQkE5NlNSZzMyWWVFSHc9PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L0tleUluZm8+PC9kczpTaWduYXR1cmU+PFN1YmplY3Q+PE5hbWVJRCBGb3JtYXQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpuYW1laWQtZm9ybWF0OnBlcnNpc3RlbnQiPlJYU0dZWFZFSkE8L05hbWVJRD48U3ViamVjdENvbmZpcm1hdGlvbiBNZXRob2Q9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpjbTpiZWFyZXIiPjxTdWJqZWN0Q29uZmlybWF0aW9uRGF0YSBOb3RPbk9yQWZ0ZXI9IjIwMTktMTEtMjlUMTI6MjE6NDEuMDIxWiIgLz48L1N1YmplY3RDb25maXJtYXRpb24+PC9TdWJqZWN0PjxDb25kaXRpb25zIE5vdEJlZm9yZT0iMjAxOS0xMS0yOVQxMjoxNjo0MC42OTFaIiBOb3RPbk9yQWZ0ZXI9IjIwMTktMTEtMjlUMTM6MTY6NDAuNjkxWiI+PEF1ZGllbmNlUmVzdHJpY3Rpb24+PEF1ZGllbmNlPnVybjpkazprbWQ6ZGQ6dmFsdWU6c3A6c3dpdGNoYm9hcmQ6a25vd251c2VyPC9BdWRpZW5jZT48L0F1ZGllbmNlUmVzdHJpY3Rpb24+PC9Db25kaXRpb25zPjxBdHRyaWJ1dGVTdGF0ZW1lbnQ+PEF0dHJpYnV0ZSBOYW1lPSJkazpnb3Y6c2FtbDphdHRyaWJ1dGU6QXNzdXJhbmNlTGV2ZWwiPjxBdHRyaWJ1dGVWYWx1ZT4yPC9BdHRyaWJ1dGVWYWx1ZT48L0F0dHJpYnV0ZT48QXR0cmlidXRlIE5hbWU9InVybjpkazprbWQ6ZGQ6YXR0cmlidXRlOnV0Ij48QXR0cmlidXRlVmFsdWU+dXJuOmRrOmttZDpkZDp2YWx1ZTp1dDpsb2NhbGZvY2Vzc2VydmljZXVzZXI8L0F0dHJpYnV0ZVZhbHVlPjwvQXR0cmlidXRlPjwvQXR0cmlidXRlU3RhdGVtZW50PjxBdXRoblN0YXRlbWVudCBBdXRobkluc3RhbnQ9IjIwMTktMTEtMjlUMTI6MTY6NDAuNTE5WiI+PEF1dGhuQ29udGV4dD48QXV0aG5Db250ZXh0Q2xhc3NSZWY+dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmFjOmNsYXNzZXM6WDUwOTwvQXV0aG5Db250ZXh0Q2xhc3NSZWY+PC9BdXRobkNvbnRleHQ+PC9BdXRoblN0YXRlbWVudD48L0Fzc2VydGlvbj4=
Performing Switchboard Call with SAML2 authentication
Calling switchboard 1 times...
Calling switchboard 1
Request:
Method: GET, RequestUri: 'https://dev01-services.datafordeler.dk/DAR/DAR/1/rest/husnummer?format=json&id=0a3f507d-1a3d-32b8-e044-0003ba298018', Version: 1.1, Content: <null>, Headers:
{
  Authorization: Bearer PEFzc2VydGlvbiBJRD0iX2UzYzMxYTU2LTVkMzEtNDM1ZC05NTdkLTE1YzA5NTcyYzY2MyIgSXNzdWVJbnN0YW50PSIyMDE5LTExLTI5VDEyOjE2OjQxLjAyMVoiIFZlcnNpb249IjIuMCIgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDphc3NlcnRpb24iPjxJc3N1ZXI+aHR0cHM6Ly9zYW1sLnFhdWEta21kLmNsb3VkYXBwLm5ldC9hZGZzL3NlcnZpY2VzL3RydXN0PC9Jc3N1ZXI+PGRzOlNpZ25hdHVyZSB4bWxuczpkcz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyI+PGRzOlNpZ25lZEluZm8+PGRzOkNhbm9uaWNhbGl6YXRpb25NZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzEwL3htbC1leGMtYzE0biMiIC8+PGRzOlNpZ25hdHVyZU1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZHNpZy1tb3JlI3JzYS1zaGEyNTYiIC8+PGRzOlJlZmVyZW5jZSBVUkk9IiNfZTNjMzFhNTYtNWQzMS00MzVkLTk1N2QtMTVjMDk1NzJjNjYzIj48ZHM6VHJhbnNmb3Jtcz48ZHM6VHJhbnNmb3JtIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI2VudmVsb3BlZC1zaWduYXR1cmUiIC8+PGRzOlRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMTAveG1sLWV4Yy1jMTRuIyIgLz48L2RzOlRyYW5zZm9ybXM+PGRzOkRpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jI3NoYTI1NiIgLz48ZHM6RGlnZXN0VmFsdWU+Wnk2L2Q4b3ZkV0pGLytLbi8vOWM0a28wOUtUU0hzWUYrVGIvNnpycll3OD08L2RzOkRpZ2VzdFZhbHVlPjwvZHM6UmVmZXJlbmNlPjwvZHM6U2lnbmVkSW5mbz48ZHM6U2lnbmF0dXJlVmFsdWU+bDhZdHovakFMeS9zaDJvTitvRENPQWJ2dUVVR3UxR2JRR2x0clFTbVYzRjd1SlFmMC9NbEh5R1AyWFZJdjJOS2tXRVNBWHQyVXk4bzIxMnB3YjBVNlJmS2hRYmtZU1V1STI3eTd4cDNTQ3NGUkw0VGcvZEQ5dUwyeWJHNGJPdVV2WllGYTdVQ29ZV05PbGlFYWxDOHdlVTNoSkswMXJoQWlKNlducGxsdkZJQlZuTEJjc0JKWHZ1ZzYyZnk3aUY2aVRqUXpQbjcvTE9RWCs3cC9LaEllUGNHbk5UV29yNWtEL0RqUmtUQVlHWUY3ek9FL0hCRUtoL09LWHhVeWkycnV5d1dLWTk0VUtLTlAyenNxVGhCV1VCMHVXays5ZDcvZGxYWE9GWlNza0xOd0lzV0xYOC80ZUdxSXVtME5BWCswZEtiMGxVMU8wWDVvL3Z1Z09xeGVnPT08L2RzOlNpZ25hdHVyZVZhbHVlPjxLZXlJbmZvIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlHRXpDQ0JQdWdBd0lCQWdJRVdSdWJOVEFOQmdrcWhraUc5dzBCQVFzRkFEQklNUXN3Q1FZRFZRUUdFd0pFU3pFU01CQUdBMVVFQ2d3SlZGSlZVMVF5TkRBNE1TVXdJd1lEVlFRRERCeFVVbFZUVkRJME1EZ2dVM2x6ZEdWdGRHVnpkQ0JZV0VsSklFTkJNQjRYRFRFNE1ESXhOREExTWpNMU0xb1hEVEl4TURJeE5EQTFNak16TjFvd2Z6RUxNQWtHQTFVRUJoTUNSRXN4SURBZUJnTlZCQW9NRjB0TlJDQkJMMU1nTHk4Z1ExWlNPakkyT1RFeE56UTFNVTR3SUFZRFZRUUZFeGxEVmxJNk1qWTVNVEUzTkRVdFJrbEVPamN4T0RJMU5qVXdNQ29HQTFVRUF3d2pSRVF1UkdWMk1ERXVRV1JtY3lBb1puVnVhM1JwYjI1elkyVnlkR2xtYVd0aGRDa3dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDL2Zwa1E0ZHVCcTRwRTVCdFB2YkJ1RDZFNGltMFRZTklZRTREM2VSWXNWRnlkTmllYXBsL05SQ1N4MXlNMUpTck11YThmOU9CNkFjR0NrSkErWVUxMzYvclVJYisvamM3Qm45ZjNuU0NiZTNBRlQvZnhxK3FVVnQ4VkRRZHhJRFBqeU54MXBnM09kWU5vZGxrd1ZlZWZTNXBRZ2Uwc0k1UXVoNGEzaHlubTJGQkJpS0lOb2ZtR1Evb1lwdVp6YnQzRWk0SW51NHpPbjhTdkM5RVZnQnpZLzlSUHBvdlY5cG10Z2huV1lWMm5uS0NxYXBHWmszanNIZlVZVE9jN3JCYytDRlBHb1R6VXNlczN4Nis1TXlrMGdFVXplNVhoUEpMU2xRRmtqWmpsdy83dmM0c3hEaW95bXRKRklESnFWdWROdUtsOXQreXZ2Vm9qVUxYZEkvdDdBZ01CQUFHamdnTE1NSUlDeURBT0JnTlZIUThCQWY4RUJBTUNBN2d3Z1pjR0NDc0dBUVVGQndFQkJJR0tNSUdITUR3R0NDc0dBUVVGQnpBQmhqQm9kSFJ3T2k4dmIyTnpjQzV6ZVhOMFpXMTBaWE4wTWpJdWRISjFjM1F5TkRBNExtTnZiUzl5WlhOd2IyNWtaWEl3UndZSUt3WUJCUVVITUFLR08yaDBkSEE2THk5bUxtRnBZUzV6ZVhOMFpXMTBaWE4wTWpJdWRISjFjM1F5TkRBNExtTnZiUzl6ZVhOMFpXMTBaWE4wTWpJdFkyRXVZMlZ5TUlJQklBWURWUjBnQklJQkZ6Q0NBUk13Z2dFUEJnMHJCZ0VFQVlIMFVRSUVCZ1FDTUlIOU1DOEdDQ3NHQVFVRkJ3SUJGaU5vZEhSd09pOHZkM2QzTG5SeWRYTjBNalF3T0M1amIyMHZjbVZ3YjNOcGRHOXllVENCeVFZSUt3WUJCUVVIQWdJd2did3dEQllGUkdGdVNVUXdBd0lCQVJxQnEwUmhia2xFSUhSbGMzUWdZMlZ5ZEdsbWFXdGhkR1Z5SUdaeVlTQmtaVzV1WlNCRFFTQjFaSE4wWldSbGN5QjFibVJsY2lCUFNVUWdNUzR6TGpZdU1TNDBMakV1TXpFek1UTXVNaTQwTGpZdU5DNHlMaUJFWVc1SlJDQjBaWE4wSUdObGNuUnBabWxqWVhSbGN5Qm1jbTl0SUhSb2FYTWdRMEVnWVhKbElHbHpjM1ZsWkNCMWJtUmxjaUJQU1VRZ01TNHpMall1TVM0MExqRXVNekV6TVRNdU1pNDBMall1TkM0eUxqQ0JyQVlEVlIwZkJJR2tNSUdoTUQyZ082QTVoamRvZEhSd09pOHZZM0pzTG5ONWMzUmxiWFJsYzNReU1pNTBjblZ6ZERJME1EZ3VZMjl0TDNONWMzUmxiWFJsYzNReU1qRXVZM0pzTUdDZ1hxQmNwRm93V0RFTE1Ba0dBMVVFQmhNQ1JFc3hFakFRQmdOVkJBb01DVlJTVlZOVU1qUXdPREVsTUNNR0ExVUVBd3djVkZKVlUxUXlOREE0SUZONWMzUmxiWFJsYzNRZ1dGaEpTU0JEUVRFT01Bd0dBMVVFQXd3RlExSk1Nall3SHdZRFZSMGpCQmd3Rm9BVXE2Z0JSQm13czBPWjJ2cDh6TklBR0FQblBMOHdIUVlEVlIwT0JCWUVGT1B6dW0wYmxOTkRLQzRHYnFIdGoxRXVIUjdSTUFrR0ExVWRFd1FDTUFBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFKVWxtV3J6YmhVNVBIY2pWNW1jNUQzMW5zNHhqYjBWKzljejhZYlBRUWV3Wk9MVi9FeHhheEd0cndsY2x4UDVsM1R5MDFvZDU4bVV4ZjF3TndMc1ZjaXd6cTBlcDRFWkRGdmhlWWhDWDBSZlhPRlNPSVV5a1BhRWM1Zm9UMzVyN1g3NEdkMlg1NXNqTVVXRzdiTVFob1d1dDU2Q1h6bzJIQzBSUlRyRHoxdXI4Wm94ZEdZcUthUUNXL1YvYkdBd2V6ZUVsSFBnYzkySy91bFA0Mk1xM0NpRDA3ZWw2d3JUR2VMbUFWL3RMeklETURRaDJvTHp5anRUY2VCRjE1dHFCcDE4ODVKSjVLK091TmloOGtORWoyVU9jejFlUlRyNGhkUVNERk5VQU5sTTd2T25VUFpLcTIzcS80aVhNTCtmYU5zMnJ2QzBRQkE5NlNSZzMyWWVFSHc9PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L0tleUluZm8+PC9kczpTaWduYXR1cmU+PFN1YmplY3Q+PE5hbWVJRCBGb3JtYXQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpuYW1laWQtZm9ybWF0OnBlcnNpc3RlbnQiPlJYU0dZWFZFSkE8L05hbWVJRD48U3ViamVjdENvbmZpcm1hdGlvbiBNZXRob2Q9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpjbTpiZWFyZXIiPjxTdWJqZWN0Q29uZmlybWF0aW9uRGF0YSBOb3RPbk9yQWZ0ZXI9IjIwMTktMTEtMjlUMTI6MjE6NDEuMDIxWiIgLz48L1N1YmplY3RDb25maXJtYXRpb24+PC9TdWJqZWN0PjxDb25kaXRpb25zIE5vdEJlZm9yZT0iMjAxOS0xMS0yOVQxMjoxNjo0MC42OTFaIiBOb3RPbk9yQWZ0ZXI9IjIwMTktMTEtMjlUMTM6MTY6NDAuNjkxWiI+PEF1ZGllbmNlUmVzdHJpY3Rpb24+PEF1ZGllbmNlPnVybjpkazprbWQ6ZGQ6dmFsdWU6c3A6c3dpdGNoYm9hcmQ6a25vd251c2VyPC9BdWRpZW5jZT48L0F1ZGllbmNlUmVzdHJpY3Rpb24+PC9Db25kaXRpb25zPjxBdHRyaWJ1dGVTdGF0ZW1lbnQ+PEF0dHJpYnV0ZSBOYW1lPSJkazpnb3Y6c2FtbDphdHRyaWJ1dGU6QXNzdXJhbmNlTGV2ZWwiPjxBdHRyaWJ1dGVWYWx1ZT4yPC9BdHRyaWJ1dGVWYWx1ZT48L0F0dHJpYnV0ZT48QXR0cmlidXRlIE5hbWU9InVybjpkazprbWQ6ZGQ6YXR0cmlidXRlOnV0Ij48QXR0cmlidXRlVmFsdWU+dXJuOmRrOmttZDpkZDp2YWx1ZTp1dDpsb2NhbGZvY2Vzc2VydmljZXVzZXI8L0F0dHJpYnV0ZVZhbHVlPjwvQXR0cmlidXRlPjwvQXR0cmlidXRlU3RhdGVtZW50PjxBdXRoblN0YXRlbWVudCBBdXRobkluc3RhbnQ9IjIwMTktMTEtMjlUMTI6MTY6NDAuNTE5WiI+PEF1dGhuQ29udGV4dD48QXV0aG5Db250ZXh0Q2xhc3NSZWY+dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmFjOmNsYXNzZXM6WDUwOTwvQXV0aG5Db250ZXh0Q2xhc3NSZWY+PC9BdXRobkNvbnRleHQ+PC9BdXRoblN0YXRlbWVudD48L0Fzc2VydGlvbj4=
}

Response:
StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
  Transfer-Encoding: chunked
  SwitchboardPerformanceInMs: 474.0738
  Access-Control-Allow-Origin: *
  Cache-Control: private
  Date: Fri, 29 Nov 2019 12:16:41 GMT
  Server: datafordeler.dk
  X-Powered-By: datafordeler.dk
  Content-Type: application/json; charset=UTF-8
}
[{"datafordelerOpdateringstid":"2016-10-07T19:27:59.802000+02:00","adgangsadressebetegnelse":"Spaden C 2, H›je Taastrup, 2630 Taastrup","afstemningsomr†de":{"id":"1566156","afstemningsomr†denummer":"06","navn":"Gadehaveskolen"},"forretningsh‘ndelse":"3","forretningsomr†de":"54.15.10.07","forretningsproces":"0","geoDanmarkBygning":"1005307686","husnummerretning":"POINT(0.946085358827545 -0.32391741819815)","husnummertekst":"2","id_lokalId":"0a3f507d-1a3d-32b8-e044-0003ba298018","id_namespace":"http://data.gov.dk/dar/husnummer","jordstykke":"402274","kommuneinddeling":{"id":"389114","kommunekode":"0169","navn":"H›je Taastrup"},"menighedsr†dsafstemningsomr†de":{"id":"1700977","mrafstemningsomr†denummer":"1","navn":"H›je Taastrup"},"registreringFra":"2016-07-08T17:10:50.000000+02:00","registreringsakt›r":"DAR","sogneinddeling":{"id":"107659","sognekode":"7152","navn":"H›je Taastrup"},"status":"3","vejmidte":"1006309113","virkningFra":"2016-09-16T12:34:43.000000+02:00","virkningsakt›r":"Konvertering2017","navngivenVej":{"datafordelerOpdateringstid":"2016-10-07T20:23:50.386000+02:00","administreresAfKommune":"0169","forretningsh‘ndelse":"0","forretningsomr†de":"54.15.10.06","forretningsproces":"0","id_lokalId":"55595d06-fac1-4a07-b7e8-7365fe9428cc","id_namespace":"http://data.gov.dk/dar/navngivenvej","registreringFra":"2016-07-08T17:10:50.000000+02:00","registreringsakt›r":"DAR","status":"3","udtaltVejnavn":"Spaden C","vejadresseringsnavn":"Spaden C","vejnavn":"Spaden C","vejnavnebeliggenhed_oprindelse_kilde":"Ekstern","vejnavnebeliggenhed_oprindelse_n›jagtighedsklasse":"B","vejnavnebeliggenhed_oprindelse_registrering":"2016-09-01T18:20:58.068000+02:00","vejnavnebeliggenhed_oprindelse_tekniskStandard":"NO","vejnavnebeliggenhed_vejnavneomr†de":"POLYGON((706160.12 6172245.95,706186.79 6172080.73,706152.796674 6172075.24276,706126.126674 6172240.46276,706160.12 6172245.95))","virkningFra":"1900-01-01T13:00:00.000000+01:00","virkningsakt›r":"Konvertering2017SDFE","navngivenVejKommunedelList":[{"id_lokalId":"a07f8a98-6f7e-11e6-a528-063320a53a26","navngivenVejKommunedel":{"datafordelerOpdateringstid":"2016-10-07T20:24:18.076000+02:00","forretningsh‘ndelse":"1","forretningsomr†de":"54.15.10.06","forretningsproces":"0","id_lokalId":"a07f8a98-6f7e-11e6-a528-063320a53a26","id_namespace":"http://data.gov.dk/dar/navngivenvejkommunedel","kommune":"0169","navngivenVej":"55595d06-fac1-4a07-b7e8-7365fe9428cc","registreringFra":"2016-07-08T17:10:50.000000+02:00","registreringsakt›r":"DAR","status":"3","vejkode":"7428","virkningFra":"1900-01-01T13:00:00.000000+01:00","virkningsakt›r":"Konvertering2017SDFE"}}]},"adgangspunkt":{"datafordelerOpdateringstid":"2016-10-07T17:45:04.681000+02:00","oprindelse_kilde":"Ekstern","oprindelse_n›jagtighedsklasse":"A","oprindelse_registrering":"2014-11-28T13:14:48.957000+01:00","oprindelse_tekniskStandard":"TK","position":"POINT(706176.77 6172114.13)"},"vejpunkt":{"datafordelerOpdateringstid":"2016-10-07T19:07:13.562000+02:00","oprindelse_kilde":"Ekstern","oprindelse_n›jagtighedsklasse":"B","oprindelse_registrering":"2016-09-01T18:22:45.177000+02:00","oprindelse_tekniskStandard":"V2","position":"POINT(706163.08 6172175.47)"},"supplerendeBynavn":{"datafordelerOpdateringstid":"2016-10-07T20:28:02.261000+02:00","forretningsh‘ndelse":"5","forretningsomr†de":"54.15.10.25","forretningsproces":"0","id_lokalId":"a684854a-3f14-438e-a763-9841ee1f12ad","id_namespace":"http://data.gov.dk/dar/supplerendebynavn","navn":"H›je Taastrup","registreringFra":"2016-07-08T17:10:50.000000+02:00","registreringsakt›r":"DAR","status":"3","supplerendeBynavn":"1647901","virkningFra":"1753-01-01T00:50:00.000000+00:50","virkningsakt›r":"Konvertering2017"}}]

Statuscode: OK
Statuscode: StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
  Transfer-Encoding: chunked
  SwitchboardPerformanceInMs: 474.0738
  Access-Control-Allow-Origin: *
  Cache-Control: private
  Date: Fri, 29 Nov 2019 12:16:41 GMT
  Server: datafordeler.dk
  X-Powered-By: datafordeler.dk
  Content-Type: application/json; charset=UTF-8
}
Elapsed time in miliseconds: 550




Zip-fil med eksempel

dotnet_SAML2 token auth.zip




Java

Client auth SSL

Eksemplet er oprettet for at vise Direct SSL klient certifikat autorisation på Datafordeleren.

Den originale SSL autorisationskode er uarbejdet af Pavan Solapure: https://github.com/pavansolapure/opencodez-samples/tree/master/2-way-ssl-authentication/ssl-client/src/main/java/com/opencodez

Dette eksempel er skabt ved at benytte Spring tool suite 4.3.2

Fremgangsmåde

  • Kopier et FOCES eller VOCES service user keystore til /etc/ folder
  • Skab en reference til filen og din adgangskode i SslClientApplication.java filen
  • Skift url'en til den tjeneste på Datafordeleren, som du ønsker at benytte i HttpClient.java
  • Kør ClientSSLTest.java class, som en Spring Boot app eller Java application




   .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.8.RELEASE)

2019-11-29 13:39:16.508  INFO 1276 --- [           main] d.k.c.datafordeler.tests.ClientSSLTest   : Starting ClientSSLTest on yyyyy with PID 1276 (C:\repos\java\Workspace1\DatafordelerClientCertExample\target\test-classes started by xxxxx in C:\repos\java\Workspace1\DatafordelerClientCertExample)
2019-11-29 13:39:16.510  INFO 1276 --- [           main] d.k.c.datafordeler.tests.ClientSSLTest   : No active profile set, falling back to default profiles: default
2019-11-29 13:39:17.240  INFO 1276 --- [           main] d.k.c.datafordeler.tests.ClientSSLTest   : Started ClientSSLTest in 1.212 seconds (JVM running for 1.682)
[{"datafordelerOpdateringstid":"2016-10-07T19:27:59.802000+02:00","adgangsadressebetegnelse":"Spaden C 2, Høje Taastrup, 2630 Taastrup","afstemningsområde":{"id":"1566156","afstemningsområdenummer":"06","navn":"Gadehaveskolen"},"forretningshændelse":"3","forretningsområde":"54.15.10.07","forretningsproces":"0","geoDanmarkBygning":"1005307686","husnummerretning":"POINT(0.946085358827545 -0.32391741819815)","husnummertekst":"2","id_lokalId":"0a3f507d-1a3d-32b8-e044-0003ba298018","id_namespace":"http://data.gov.dk/dar/husnummer","jordstykke":"402274","kommuneinddeling":{"id":"389114","kommunekode":"0169","navn":"Høje Taastrup"},"menighedsrådsafstemningsområde":{"id":"1700977","mrafstemningsområdenummer":"1","navn":"Høje Taastrup"},"registreringFra":"2016-07-08T17:10:50.000000+02:00","registreringsaktør":"DAR","sogneinddeling":{"id":"107659","sognekode":"7152","navn":"Høje Taastrup"},"status":"3","vejmidte":"1006309113","virkningFra":"2016-09-16T12:34:43.000000+02:00","virkningsaktør":"Konvertering2017","navngivenVej":{"datafordelerOpdateringstid":"2016-10-07T20:23:50.386000+02:00","administreresAfKommune":"0169","forretningshændelse":"0","forretningsområde":"54.15.10.06","forretningsproces":"0","id_lokalId":"55595d06-fac1-4a07-b7e8-7365fe9428cc","id_namespace":"http://data.gov.dk/dar/navngivenvej","registreringFra":"2016-07-08T17:10:50.000000+02:00","registreringsaktør":"DAR","status":"3","udtaltVejnavn":"Spaden C","vejadresseringsnavn":"Spaden C","vejnavn":"Spaden C","vejnavnebeliggenhed_oprindelse_kilde":"Ekstern","vejnavnebeliggenhed_oprindelse_nøjagtighedsklasse":"B","vejnavnebeliggenhed_oprindelse_registrering":"2016-09-01T18:20:58.068000+02:00","vejnavnebeliggenhed_oprindelse_tekniskStandard":"NO","vejnavnebeliggenhed_vejnavneområde":"POLYGON((706160.12 6172245.95,706186.79 6172080.73,706152.796674 6172075.24276,706126.126674 6172240.46276,706160.12 6172245.95))","virkningFra":"1900-01-01T13:00:00.000000+01:00","virkningsaktør":"Konvertering2017SDFE","navngivenVejKommunedelList":[{"id_lokalId":"a07f8a98-6f7e-11e6-a528-063320a53a26","navngivenVejKommunedel":{"datafordelerOpdateringstid":"2016-10-07T20:24:18.076000+02:00","forretningshændelse":"1","forretningsområde":"54.15.10.06","forretningsproces":"0","id_lokalId":"a07f8a98-6f7e-11e6-a528-063320a53a26","id_namespace":"http://data.gov.dk/dar/navngivenvejkommunedel","kommune":"0169","navngivenVej":"55595d06-fac1-4a07-b7e8-7365fe9428cc","registreringFra":"2016-07-08T17:10:50.000000+02:00","registreringsaktør":"DAR","status":"3","vejkode":"7428","virkningFra":"1900-01-01T13:00:00.000000+01:00","virkningsaktør":"Konvertering2017SDFE"}}]},"adgangspunkt":{"datafordelerOpdateringstid":"2016-10-07T17:45:04.681000+02:00","oprindelse_kilde":"Ekstern","oprindelse_nøjagtighedsklasse":"A","oprindelse_registrering":"2014-11-28T13:14:48.957000+01:00","oprindelse_tekniskStandard":"TK","position":"POINT(706176.77 6172114.13)"},"vejpunkt":{"datafordelerOpdateringstid":"2016-10-07T19:07:13.562000+02:00","oprindelse_kilde":"Ekstern","oprindelse_nøjagtighedsklasse":"B","oprindelse_registrering":"2016-09-01T18:22:45.177000+02:00","oprindelse_tekniskStandard":"V2","position":"POINT(706163.08 6172175.47)"},"supplerendeBynavn":{"datafordelerOpdateringstid":"2016-10-07T20:28:02.261000+02:00","forretningshændelse":"5","forretningsområde":"54.15.10.25","forretningsproces":"0","id_lokalId":"a684854a-3f14-438e-a763-9841ee1f12ad","id_namespace":"http://data.gov.dk/dar/supplerendebynavn","navn":"Høje Taastrup","registreringFra":"2016-07-08T17:10:50.000000+02:00","registreringsaktør":"DAR","status":"3","supplerendeBynavn":"1647901","virkningFra":"1753-01-01T00:50:00.000000+00:50","virkningsaktør":"Konvertering2017"}}]





Zip-fil med eksempel

java_client auth SSL.zip




Ubuntu 19

Client auth SSL

Eksemplet er oprettet for at vise Direct SSL klient certifikat autorisation på Datafordeleren.

Bemærk, at hvis dit FOCES eller VOCES certifikat er udstedt af en anden OCES certifikatkæde skal du importere disse certifikater i PEM format og have dem installeret, som beskrevet i nedenstående.

Tjek om du har de korrekte certifikater på /etc/ssl/certs/  

Fremgangsmåde

  • Placer de følgende PEM certifikater i /etc/ssl/certs/

DigiCert_SHA2_Secure_Server_CA.pem
TRUST2408_OCES_Primary_CA.pem
TRUST2408_OCES_CA_III.pem
TRUST2408_OCES_CA_IV.pem
TRUST2408_OCES_CA_V.pem

  • Kør sudo c_rehash for at tilføje certifikaterne til systemet.
  • Kør openssl s_client -connect datafordeler.dk:443 -cert pub.pem -key priv.key

Tjek følgende

Er pub.pem (FOCES certifikatet i PEM-format) placeret i den korrekte folder?
Er priv.key (den private nøgle for FOCES certifikatet i PEM-fomat) placeret i den korrekte folder?
Er output er uden fejl og stemmer det overens med nedenstående eksempel?


Tjek følgende

Er pub.pem (FOCES certifikatet i PEM-format) placeret i den korrekte folder?
Er priv.key (den private nøgle for FOCES certifikatet i PEM-fomat) placeret i den korrekte folder?
Er output i xml uden fejl og stemmer det overens med nedenstående eksempel?





<?xml version="1.0" encoding="UTF-8"?>

-<Capabilities version="1.0.0" xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0/wmtsGetCapabilities_response.xsd" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns="http://www.opengis.net/wmts/1.0">


-<ows:ServiceIdentification>

<ows:ServiceType>OGC WMTS</ows:ServiceType>

<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>

</ows:ServiceIdentification>


-<ows:ServiceProvider>


-<ows:ServiceContact>

<ows:ContactInfo/>

</ows:ServiceContact>

</ows:ServiceProvider>


-<ows:OperationsMetadata>


-<ows:Operation name="GetCapabilities">


-<ows:DCP>


-<ows:HTTP>


-<ows:Get xlink:href="https://services.datafordeler.dk/DKskaermkort/topo_skaermkort_graa/1.0.0/Wmts?">


-<ows:Constraint name="GetEncoding">


-<ows:AllowedValues>

<ows:Value>KVP</ows:Value>

</ows:AllowedValues>

</ows:Constraint>

</ows:Get>

</ows:HTTP>

</ows:DCP>

</ows:Operation>


-<ows:Operation name="GetTile">


-<ows:DCP>


-<ows:HTTP>


-<ows:Get xlink:href="https://services.datafordeler.dk/DKskaermkort/topo_skaermkort_graa/1.0.0/Wmts?">


-<ows:Constraint name="GetEncoding">


-<ows:AllowedValues>

<ows:Value>KVP</ows:Value>

</ows:AllowedValues>

</ows:Constraint>

</ows:Get>

</ows:HTTP>

</ows:DCP>

</ows:Operation>

</ows:OperationsMetadata>


-<Contents>


-<Layer>

<ows:Title>topo_skaermkort_graa</ows:Title>


-<ows:WGS84BoundingBox>

<ows:LowerCorner>2.478420 53.015000</ows:LowerCorner>

<ows:UpperCorner>17.557800 58.640300</ows:UpperCorner>

</ows:WGS84BoundingBox>

<ows:Identifier>topo_skaermkort_graa</ows:Identifier>


-<Style isDefault="true">

<ows:Identifier>default</ows:Identifier>

</Style>

<Format>image/png</Format>


-<TileMatrixSetLink>

<TileMatrixSet>View1</TileMatrixSet>


-<TileMatrixSetLimits>


-<TileMatrixLimits>

<TileMatrix>View1:0</TileMatrix>

<MinTileRow>0</MinTileRow>

<MaxTileRow>1</MaxTileRow>

<MinTileCol>0</MinTileCol>

<MaxTileCol>2</MaxTileCol>

</TileMatrixLimits>


-<TileMatrixLimits>

<TileMatrix>View1:1</TileMatrix>

<MinTileRow>0</MinTileRow>

<MaxTileRow>2</MaxTileRow>

<MinTileCol>0</MinTileCol>

<MaxTileCol>4</MaxTileCol>

</TileMatrixLimits>


-<TileMatrixLimits>

<TileMatrix>View1:2</TileMatrix>

<MinTileRow>0</MinTileRow>

<MaxTileRow>5</MaxTileRow>

<MinTileCol>0</MinTileCol>

<MaxTileCol>8</MaxTileCol>

</TileMatrixLimits>


-<TileMatrixLimits>

<TileMatrix>View1:3</TileMatrix>

<MinTileRow>0</MinTileRow>

<MaxTileRow>11</MaxTileRow>

<MinTileCol>0</MinTileCol>

<MaxTileCol>16</MaxTileCol>

</TileMatrixLimits>


-<TileMatrixLimits>

<TileMatrix>View1:4</TileMatrix>

<MinTileRow>0</MinTileRow>

<MaxTileRow>22</MaxTileRow>

<MinTileCol>0</MinTileCol>

<MaxTileCol>33</MaxTileCol>

</TileMatrixLimits>


-<TileMatrixLimits>

<TileMatrix>View1:5</TileMatrix>

<MinTileRow>0</MinTileRow>

<MaxTileRow>45</MaxTileRow>

<MinTileCol>0</MinTileCol>

<MaxTileCol>67</MaxTileCol>

</TileMatrixLimits>


-<TileMatrixLimits>

<TileMatrix>View1:6</TileMatrix>

<MinTileRow>0</MinTileRow>

<MaxTileRow>91</MaxTileRow>

<MinTileCol>0</MinTileCol>

<MaxTileCol>134</MaxTileCol>

</TileMatrixLimits>


-<TileMatrixLimits>

<TileMatrix>View1:7</TileMatrix>

<MinTileRow>0</MinTileRow>

<MaxTileRow>183</MaxTileRow>

<MinTileCol>0</MinTileCol>

<MaxTileCol>268</MaxTileCol>

</TileMatrixLimits>


-<TileMatrixLimits>

<TileMatrix>View1:8</TileMatrix>

<MinTileRow>0</MinTileRow>

<MaxTileRow>366</MaxTileRow>

<MinTileCol>0</MinTileCol>

<MaxTileCol>537</MaxTileCol>

</TileMatrixLimits>


-<TileMatrixLimits>

<TileMatrix>View1:9</TileMatrix>

<MinTileRow>0</MinTileRow>

<MaxTileRow>732</MaxTileRow>

<MinTileCol>0</MinTileCol>

<MaxTileCol>1074</MaxTileCol>

</TileMatrixLimits>


-<TileMatrixLimits>

<TileMatrix>View1:10</TileMatrix>

<MinTileRow>0</MinTileRow>

<MaxTileRow>1464</MaxTileRow>

<MinTileCol>0</MinTileCol>

<MaxTileCol>2148</MaxTileCol>

</TileMatrixLimits>


-<TileMatrixLimits>

<TileMatrix>View1:11</TileMatrix>

<MinTileRow>0</MinTileRow>

<MaxTileRow>2929</MaxTileRow>

<MinTileCol>0</MinTileCol>

<MaxTileCol>4296</MaxTileCol>

</TileMatrixLimits>


-<TileMatrixLimits>

<TileMatrix>View1:12</TileMatrix>

<MinTileRow>0</MinTileRow>

<MaxTileRow>5859</MaxTileRow>

<MinTileCol>0</MinTileCol>

<MaxTileCol>8593</MaxTileCol>

</TileMatrixLimits>


-<TileMatrixLimits>

<TileMatrix>View1:13</TileMatrix>

<MinTileRow>0</MinTileRow>

<MaxTileRow>11718</MaxTileRow>

<MinTileCol>0</MinTileCol>

<MaxTileCol>17187</MaxTileCol>

</TileMatrixLimits>


-<TileMatrixLimits>

<TileMatrix>View1:14</TileMatrix>

<MinTileRow>0</MinTileRow>

<MaxTileRow>23437</MaxTileRow>

<MinTileCol>0</MinTileCol>

<MaxTileCol>34374</MaxTileCol>

</TileMatrixLimits>


-<TileMatrixLimits>

<TileMatrix>View1:15</TileMatrix>

<MinTileRow>0</MinTileRow>

<MaxTileRow>46874</MaxTileRow>

<MinTileCol>0</MinTileCol>

<MaxTileCol>68749</MaxTileCol>

</TileMatrixLimits>

</TileMatrixSetLimits>

</TileMatrixSetLink>

<ResourceURL template="https://services.datafordeler.dk/DKskaermkort/topo_skaermkort_graa/1.0.0/Wmts/topo_skaermkort_graa/default/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile" format="image/png"/>

</Layer>


-<TileMatrixSet>

<ows:Identifier>View1</ows:Identifier>


-<ows:BoundingBox crs="urn:ogc:def:crs:EPSG:6.3:25832">

<ows:LowerCorner>120000.000000 5900000.000000</ows:LowerCorner>

<ows:UpperCorner>1000000.000000 6500000.000000</ows:UpperCorner>

</ows:BoundingBox>

<ows:SupportedCRS>urn:ogc:def:crs:EPSG:6.3:25832</ows:SupportedCRS>


-<TileMatrix>

<ows:Identifier>0</ows:Identifier>

<ScaleDenominator>5851428.57142857182770967484</ScaleDenominator>

<TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner>

<TileWidth>256</TileWidth>

<TileHeight>256</TileHeight>

<MatrixWidth>3</MatrixWidth>

<MatrixHeight>2</MatrixHeight>

</TileMatrix>


-<TileMatrix>

<ows:Identifier>1</ows:Identifier>

<ScaleDenominator>2925714.28571428591385483742</ScaleDenominator>

<TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner>

<TileWidth>256</TileWidth>

<TileHeight>256</TileHeight>

<MatrixWidth>5</MatrixWidth>

<MatrixHeight>3</MatrixHeight>

</TileMatrix>


-<TileMatrix>

<ows:Identifier>2</ows:Identifier>

<ScaleDenominator>1462857.14285714295692741871</ScaleDenominator>

<TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner>

<TileWidth>256</TileWidth>

<TileHeight>256</TileHeight>

<MatrixWidth>9</MatrixWidth>

<MatrixHeight>6</MatrixHeight>

</TileMatrix>


-<TileMatrix>

<ows:Identifier>3</ows:Identifier>

<ScaleDenominator>731428.57142857147846370935</ScaleDenominator>

<TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner>

<TileWidth>256</TileWidth>

<TileHeight>256</TileHeight>

<MatrixWidth>17</MatrixWidth>

<MatrixHeight>12</MatrixHeight>

</TileMatrix>


-<TileMatrix>

<ows:Identifier>4</ows:Identifier>

<ScaleDenominator>365714.28571428573923185468</ScaleDenominator>

<TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner>

<TileWidth>256</TileWidth>

<TileHeight>256</TileHeight>

<MatrixWidth>34</MatrixWidth>

<MatrixHeight>23</MatrixHeight>

</TileMatrix>


-<TileMatrix>

<ows:Identifier>5</ows:Identifier>

<ScaleDenominator>182857.14285714286961592734</ScaleDenominator>

<TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner>

<TileWidth>256</TileWidth>

<TileHeight>256</TileHeight>

<MatrixWidth>68</MatrixWidth>

<MatrixHeight>46</MatrixHeight>

</TileMatrix>


-<TileMatrix>

<ows:Identifier>6</ows:Identifier>

<ScaleDenominator>91428.57142857143480796367</ScaleDenominator>

<TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner>

<TileWidth>256</TileWidth>

<TileHeight>256</TileHeight>

<MatrixWidth>135</MatrixWidth>

<MatrixHeight>92</MatrixHeight>

</TileMatrix>


-<TileMatrix>

<ows:Identifier>7</ows:Identifier>

<ScaleDenominator>45714.28571428571740398183</ScaleDenominator>

<TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner>

<TileWidth>256</TileWidth>

<TileHeight>256</TileHeight>

<MatrixWidth>269</MatrixWidth>

<MatrixHeight>184</MatrixHeight>

</TileMatrix>


-<TileMatrix>

<ows:Identifier>8</ows:Identifier>

<ScaleDenominator>22857.14285714285870199092</ScaleDenominator>

<TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner>

<TileWidth>256</TileWidth>

<TileHeight>256</TileHeight>

<MatrixWidth>538</MatrixWidth>

<MatrixHeight>367</MatrixHeight>

</TileMatrix>


-<TileMatrix>

<ows:Identifier>9</ows:Identifier>

<ScaleDenominator>11428.57142857142935099546</ScaleDenominator>

<TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner>

<TileWidth>256</TileWidth>

<TileHeight>256</TileHeight>

<MatrixWidth>1075</MatrixWidth>

<MatrixHeight>733</MatrixHeight>

</TileMatrix>


-<TileMatrix>

<ows:Identifier>10</ows:Identifier>

<ScaleDenominator>5714.28571428571467549773</ScaleDenominator>

<TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner>

<TileWidth>256</TileWidth>

<TileHeight>256</TileHeight>

<MatrixWidth>2149</MatrixWidth>

<MatrixHeight>1465</MatrixHeight>

</TileMatrix>


-<TileMatrix>

<ows:Identifier>11</ows:Identifier>

<ScaleDenominator>2857.14285714285733774886</ScaleDenominator>

<TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner>

<TileWidth>256</TileWidth>

<TileHeight>256</TileHeight>

<MatrixWidth>4297</MatrixWidth>

<MatrixHeight>2930</MatrixHeight>

</TileMatrix>


-<TileMatrix>

<ows:Identifier>12</ows:Identifier>

<ScaleDenominator>1428.57142857142866887443</ScaleDenominator>

<TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner>

<TileWidth>256</TileWidth>

<TileHeight>256</TileHeight>

<MatrixWidth>8594</MatrixWidth>

<MatrixHeight>5860</MatrixHeight>

</TileMatrix>


-<TileMatrix>

<ows:Identifier>13</ows:Identifier>

<ScaleDenominator>714.28571428571433443722</ScaleDenominator>

<TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner>

<TileWidth>256</TileWidth>

<TileHeight>256</TileHeight>

<MatrixWidth>17188</MatrixWidth>

<MatrixHeight>11719</MatrixHeight>

</TileMatrix>


-<TileMatrix>

<ows:Identifier>14</ows:Identifier>

<ScaleDenominator>357.14285714285716721861</ScaleDenominator>

<TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner>

<TileWidth>256</TileWidth>

<TileHeight>256</TileHeight>

<MatrixWidth>34375</MatrixWidth>

<MatrixHeight>23438</MatrixHeight>

</TileMatrix>


-<TileMatrix>

<ows:Identifier>15</ows:Identifier>

<ScaleDenominator>178.57142857142858360930</ScaleDenominator>

<TopLeftCorner>120000.000000 6500000.000000</TopLeftCorner>

<TileWidth>256</TileWidth>

<TileHeight>256</TileHeight>

<MatrixWidth>68750</MatrixWidth>

<MatrixHeight>46875</MatrixHeight>

</TileMatrix>

</TileMatrixSet>

</Contents>

</Capabilities>