15
Izvedba klicev WFS in WMS z uporabo parametra SSID REPUBLIKA SLOVENIJA MINISTRSTVO ZA OKOLJE IN PROSTOR GEODETSKA UPRAVA REPUBLIKE SLOVENIJE Zemljemerska 12 1000 LJUBLJANA Ljubljana, januar 2011

Izvedba klicev WFS in WMS z uporabo parametra SSID · 2018. 1. 18. · 5.6.2011 Mladenović Uroš 03.4 Dodano poglavje s kraticami 7.11.2011 Mladenović Uroš 03.5 Popravljeno ime

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Izvedba klicev WFS in WMS z uporabo parametra SSID · 2018. 1. 18. · 5.6.2011 Mladenović Uroš 03.4 Dodano poglavje s kraticami 7.11.2011 Mladenović Uroš 03.5 Popravljeno ime

Izvedba klicev WFS in WMS z uporabo parametra SSID

REPUBLIKA SLOVENIJA MINISTRSTVO ZA OKOLJE IN PROSTOR GEODETSKA UPRAVA REPUBLIKE SLOVENIJE Zemljemerska 12 1000 LJUBLJANA

Ljubljana, januar 2011

Page 2: Izvedba klicev WFS in WMS z uporabo parametra SSID · 2018. 1. 18. · 5.6.2011 Mladenović Uroš 03.4 Dodano poglavje s kraticami 7.11.2011 Mladenović Uroš 03.5 Popravljeno ime

Naloga: NPPI

Ljubljana, 1.6.2016

Izvajalec: IGEA d.o.o Naročnik: MOP – Geodetska uprava RS

GU_DO_SIST_TD_WFS_WMS_SSID_v0.4.2.docx Stran 2 od 15

NAROČNIK

REPUBLIKA SLOVENIJA

MINISTRSTVO ZA OKOLJE IN PROSTOR

GEODETSKA UPRAVA REPUBLIKE SLOVENIJE

Zemljemerska 12

1000 LJUBLJANA

PROJEKT / NALOGA

Dopolnitev replikacij in servisnih storitev Prenova OGC infrastrukture za spletne servise z namestitvijo na nove sisteme

IZVAJALEC

IGEA d.o.o.

Koprska 94

1000 Ljubljana VODJA PROJEKTA

Martin Puhar

STROKOVNI SODELAVCI

Dominik Bele

Miloš Pegan

Vinko Podobnik

KRAJ IN DATUM

Ljubljana, januar 2011

Page 3: Izvedba klicev WFS in WMS z uporabo parametra SSID · 2018. 1. 18. · 5.6.2011 Mladenović Uroš 03.4 Dodano poglavje s kraticami 7.11.2011 Mladenović Uroš 03.5 Popravljeno ime

Naloga: NPPI

Ljubljana, 1.6.2016

Izvajalec: IGEA d.o.o Naročnik: MOP – Geodetska uprava RS

GU_DO_SIST_TD_WFS_WMS_SSID_v0.4.2.docx Stran 3 od 15

Nadzor dokumenta Spremenili

Datum Avtor Verzija Opis spremembe

27.01.2011 Dominik Bele 03.2 Inicialen dokument

18.03.2011 Dominik Bele 03.3 Dodano poglavje 3

5.6.2011 Mladenović Uroš 03.4 Dodano poglavje s kraticami

7.11.2011 Mladenović Uroš 03.5 Popravljeno ime strežnika

20.3.2016 Mladenović Uroš 04.0 Popravljena domena (prostor4)

30.3.2016 Dominik Bele 04.1 Popravek SRS na 3912

30.05.2016 Dominik Bele 04.2 Ažuriranje poglavja 4

Page 4: Izvedba klicev WFS in WMS z uporabo parametra SSID · 2018. 1. 18. · 5.6.2011 Mladenović Uroš 03.4 Dodano poglavje s kraticami 7.11.2011 Mladenović Uroš 03.5 Popravljeno ime

Naloga: NPPI

Ljubljana, 1.6.2016

Izvajalec: IGEA d.o.o Naročnik: MOP – Geodetska uprava RS

GU_DO_SIST_TD_WFS_WMS_SSID_v0.4.2.docx Stran 4 od 15

Kazalo vsebine 1 Uvod ............................................................................................................................... 5

1.1 Namen dokumenta ................................................................................................... 5 1.2 Komu je namenjen.................................................................................................... 5

2 Identifikacija odjemalca ................................................................................................... 5 3 Vzpostavitev komunikacije .............................................................................................. 5

3.1 Pridobitev žetona SESSIONID ................................................................................. 5 3.2 Klici servisov ki zahtevajo prijavo z žetonom ............................................................ 6

3.2.1 Pridobitev sessionID (žetona) : ........................................................................................ 6 3.2.2 Podaljšanje časovne veljavnosti sessionID ...................................................................... 6 3.2.3 Primer klicev servisov ....................................................................................................... 7

4 Ostale zahteve .............................................................................................................. 12 4.1 Izvoz strežniškega certifikata in namestitev v cacerts ............................................. 12

Page 5: Izvedba klicev WFS in WMS z uporabo parametra SSID · 2018. 1. 18. · 5.6.2011 Mladenović Uroš 03.4 Dodano poglavje s kraticami 7.11.2011 Mladenović Uroš 03.5 Popravljeno ime

Naloga: NPPI

Ljubljana, 1.6.2016

Izvajalec: IGEA d.o.o Naročnik: MOP – Geodetska uprava RS

GU_DO_SIST_TD_WFS_WMS_SSID_v0.4.2.docx Stran 5 od 15

1 Uvod

Geodetska uprava RS omogoča neposreden računalniški odstop do prostorskih podatkov z uporabo spletnih prostorskih servisov WMS, WMTS in WFS izdelanih na osnovi OGC specifikacij. Določeni spletni servisi so dostopni le s predhodno prijavo oz. identifikacijo uporabnika z digitalnim spletnim potrdilom. Ta dokument pojasnjuje uporabo digitalnega potrdila pri tovrstnih spletnih servisih.

1.1 Namen dokumenta

Namen dokumenta: Opis implementacije klicev spletnih servisov WFS in WMS/WMTS z uporabo digitalnega spletnega potrdila za potrebe identifikacije odjemalca.

1.2 Komu je namenjen

Dokument je namenjen:

Razvijalcem aplikacij

Administratorjem

2 Identifikacija odjemalca

Pred uporabo spletnih servisov, ki zahtevajo identifikacijo preko spletnega digitalnega potrdila, se mora uporabnik registrirati pri skrbniku spletnih servisov (Geodetski upravi). Po izvedeni registraciji in dodelitvi ustreznih pravic do storitev lahko uporabnik prične z uporabo storitev. Identifikacija odjemalca uporabnika poteka preko namenske varne spletne povezave, preko katere se uporabnik/odjemalec identificira s svojim spletnim digitalnim potrdilom in po uspešni identifikaciji pridobi žeton (sessionID).

3 Vzpostavitev komunikacije

Uporaba sistema žetonov poteka tako, da vsak odjemalec, ki želi dostopati do podatkov preko WFS ali WMS/WMTS storitve, najprej pridobi ustrezen žeton oz. unikatno številko sessionID. Pridobljeni žeton vstavi v klic posameznega. Na tak način se izognemo pošiljanju uporabniškega imena in gesla v samih klicih. Metoda, s funkcionalnostmi za pridobitve žetonov in kodiranje zahtevkov se imenuje ows2-s (povezava na bazo 1) oz. b-ows2-s (povezava na bazo 2). Pri klicih servisov je potrebno v sam klic dodati vhodni parameter z imenom sessionID in vrednostjo pridobjenega žetona ( &sessionID =«pridobljen žeton«).

3.1 Pridobitev žetona SESSIONID

Žeton se pridobi z izvedbo metode z uporabo GET klica preko varne povezave. V primeru uspešne identifikacije odjemalca se vrne vrednost za sessionID (žeton).

Page 6: Izvedba klicev WFS in WMS z uporabo parametra SSID · 2018. 1. 18. · 5.6.2011 Mladenović Uroš 03.4 Dodano poglavje s kraticami 7.11.2011 Mladenović Uroš 03.5 Popravljeno ime

Naloga: NPPI

Ljubljana, 1.6.2016

Izvajalec: IGEA d.o.o Naročnik: MOP – Geodetska uprava RS

GU_DO_SIST_TD_WFS_WMS_SSID_v0.4.2.docx Stran 6 od 15

Delovanje metode vsebuje naslednje korake:

Branje serijske številke iz certifikata odjemalca, ki pokliče metodo.

Preverba odjemalca v varnostni shemi in kreiranje sessionID če je odjemalec ustrezno vpisan v varnostni shemi.

Vračanje vrednosti za sessionid oz. obvestila o napaki. Primer klica, možen je samo GET klic : https://prostor4.sigov.si/b-ows2-s/getSessionId https://prostor4.gov.si/b-ows2-s/getSessionId

3.2 Klici servisov ki zahtevajo prijavo z žetonom

V nadaljevanju je podan način pridobitve ter podaljšanje veljavnosti sessionID ter izvedba samih klicev.

3.2.1 Pridobitev sessionID (žetona) :

1. Odjemalect preko https, pokliče ows2-s metodo »pridobi sesisonid« ,npr: https://prostor4.sigov.si/b-ows2-s/getSessionId

2. Metoda ows2-s prebere serijsko številko digitalnega potrdila odjemalca (v nadaljevanju SN),

3. Preveri se identifikacija odjemalca v varnostni shemi in če je v redu se generira sessionID (žeton),

4. sessionID se vrne odjemalcu. V primeru napake se vrne obvestilo o napaki.

POMEMEBNO !

sessionID (žeton) je potrebno pridobiti iz istoimenskega strežnika (naslova), ki se povezuje na isto bazo kot servis (WFS, WMS/WMTS), ki ga želimo uporabiti. Določitev sessionID ni odvisen od zunanje ali notranje domene temveč od baze do katere se dostopa. Uporabljata se dve fizično ločeni bazi: ows2 -> baza 1; b-ows2 -> baza 2 . Primer: Za dostop do podatkov na ULR http://prostor4.sigov.si/ows2/ …) je potrebno sessionID pridobiti z naslova ( https://prostor4.sigov.si/ows2-s/getSessionId ) in ne iz ULR naslova https://prostor4.sigov.si/b-ows2-s/getSessionId.

3.2.2 Podaljšanje časovne veljavnosti sessionID

Metoda resetSessionId (podaljšaj veljavnost žetona) tako, da nastavi trajanje za podani veljavni žeton na začetno vrednost. S tem je žeton ponovno veljaven 0,5 ure.

POMEMEBNO !

Veljavnost pridobljenega žetona (Sessionid ) je časovno omejena. Na 0,5 ure, za veljavni žeton se lahko podaljša veljavnost za 0,5 ure z naslednjo metodo: https://prostor4.sigov.si/ows2-s/resetSessionId?sessionId=<sessionID>

Page 7: Izvedba klicev WFS in WMS z uporabo parametra SSID · 2018. 1. 18. · 5.6.2011 Mladenović Uroš 03.4 Dodano poglavje s kraticami 7.11.2011 Mladenović Uroš 03.5 Popravljeno ime

Naloga: NPPI

Ljubljana, 1.6.2016

Izvajalec: IGEA d.o.o Naročnik: MOP – Geodetska uprava RS

GU_DO_SIST_TD_WFS_WMS_SSID_v0.4.2.docx Stran 7 od 15

3.2.3 Primer klicev servisov

3.2.3.1 Potek pridobitve podatkov preko WFS :

Standardni postopek:

1. Aplikacija/odjemalec pridobi žeton (sessionID) s klicem :

o https://prostor4.sigov.si/ows2-s/getSessionId

2. Aplikacija/odjemalec doda v klic servisa, poleg ostalih vhodnih parametrov, pridobljen sessionID kot vhodni parameter v vsak klic servisa.

primer GET klica:

https://prostor4.sigov.si/ows2/wfs?request=getfeature&service=wfs&version=1.1.0&typeName=gurs:GU_REPRPE.API_RPE_KOMPLEKS_WFS.NASLOVI&filter=<Filter><And><PropertyIsEqualTo><PropertyName>APPLICATION_ID</PropertyName><Literal>OWS</Literal></PropertyIsEqualTo><PropertyIsEqualTo><PropertyName>SESSIONID</PropertyName><Literal>MG1TS7E244F0CLAGTPJBMRT99N6SY2 </Literal></PropertyIsEqualTo><PropertyIsEqualTo><PropertyName>ISKALNI_NIZ</PropertyName><Literal>Ulica Bratov 5 </Literal></PropertyIsEqualTo></And></Filter>

primer POST klica:

<wfs:GetFeature service="WFS" version="1.1.0" outputFormat="GML2"

xmlns:topp="http://www.openplans.org/topp"

xmlns:wfs="http://www.opengis.net/wfs"

xmlns:ogc="http://www.opengis.net/ogc"

xmlns:gml="http://www.opengis.net/gml"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.opengis.net/wfs

http://schemas.opengis.net/wfs/1.1.0/WFS-basic.xsd">

<Query typeName="gurs:GU_REPSTAVBE.API_KOMPLEKS_WFS.NASLOV_DELI_STAVBE">

<Filter>

<And>

<PropertyIsEqualTo>

<PropertyName>APPLICATION_ID</PropertyName>

<Literal>OWS</Literal>

</PropertyIsEqualTo>

<PropertyIsEqualTo>

<PropertyName>SESSIONID</PropertyName>

<Literal> XTXSPCU1BM0169KZR6G9YKRKWPLTCP</Literal> </PropertyIsEqualTo>

<PropertyIsEqualTo>

<PropertyName>HS_MID</PropertyName>

<Literal>19244903</Literal>

</PropertyIsEqualTo>

</And>

</Filter>

</Query>

</wfs:GetFeature>

Posebni postopek (pri t.i. kompleksnih servletih):

1. Aplikacija/odjemalec pridobi žeton (sessionID) :

o https://prostor4.sigov.si/ows2-s/getSessionId

Page 8: Izvedba klicev WFS in WMS z uporabo parametra SSID · 2018. 1. 18. · 5.6.2011 Mladenović Uroš 03.4 Dodano poglavje s kraticami 7.11.2011 Mladenović Uroš 03.5 Popravljeno ime

Naloga: NPPI

Ljubljana, 1.6.2016

Izvajalec: IGEA d.o.o Naročnik: MOP – Geodetska uprava RS

GU_DO_SIST_TD_WFS_WMS_SSID_v0.4.2.docx Stran 8 od 15

2. Aplikacija/odjemalec vloži žeton in vhodni parameter (npr. šifro KO) v klic za kodiranje zahtevka ter ga preko https pošlje na ows2-s metodo kodiraj klic (..ows2-s/codeRequest..) :

o https://prostor4.sigov.si/ows2-s/codeRequest?request=sessionId=CJHYTX8W51QCCILX7QAWUWFZH0EMGG&ko=2035

3. V ozadju se preveri veljavnost sessionid, Ows2-s z ključem zakodira celoten zahtevek za WFS, ter vrne aplikaciji zakodiran string.

4. Aplikacija prejeti zakodiran string vstavi v nov zahtevek in ga posreduje metodi ows2-c v obliki : https://prostor4.sigov.si/ows2-c/vk?RQ=55bed6ae98eda39bae9343ba84719428cd3ce8c59c0623caadb7914f824667b2c98e201fb02791692172009b3bb7ed2a9949a93f811ddca0

5. Sistem preveri pravice uporabnika do podatkov in če so ustrezne vrne podatke preko varne povezave.

3.2.3.2 Primer poteka pridobitve podatkov preko WMS/WMTS

Primer upošteva scenarij, da namensko razvita aplikacija kliče spletni servis WMS, kateri streže kartografsko vsebino.

1. Aplikacija pridobi žeton (sessionID), 2. Aplikacija doda sessionID v vsak klic spletnega servisa WMS, pri čemer je

možno vzporedno in sočasno izvesti več klicev 3. Poseben tread oz. modul skrbi, da se obstoječemu sessionID podaljšuje

veljavnost. To se izvaja z občasnim klicem metode na ustrezni ULR naslov npr . https://prostor4.sigov.si/ows2-s/resetSessionId?sessionId=<veljavni_sessionID>

V klicu WMS/WMTS je potrebno nastaviti vrednost SRS na 3912 (ali drug ustrezni SRS ki ga servis podpira) ter dodati niz &SESSIONID=$sessionid$ npr. &SESSIONID=XTXSPCU1BM0169KZR6G9YKRKWPLTCP

Primer GET klica:

http://prostor4.sigov.si/ows2-m/wms? SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&LAYERS=raster:BDOF5&TRANSPARENT=TRUE&STYLES=&EXCEPTIONS=application/vnd.ogc.se_inimage&FORMAT=image/jpeg&CRS=EPSG:3912&SRS=EPSG:3912&BBOX=466977.99,99702.99,470561.99,103286.99&WIDTH=256&HEIGHT=256&SESSIONID=XTXSPCU1BM0169KZR6G9YKRKWPLTCP

Page 9: Izvedba klicev WFS in WMS z uporabo parametra SSID · 2018. 1. 18. · 5.6.2011 Mladenović Uroš 03.4 Dodano poglavje s kraticami 7.11.2011 Mladenović Uroš 03.5 Popravljeno ime

Naloga: NPPI

Ljubljana, 1.6.2016

Izvajalec: IGEA d.o.o Naročnik: MOP – Geodetska uprava RS

GU_DO_SIST_TD_WFS_WMS_SSID_v0.4.2.docx Stran 9 od 15

V primeru neveljavnega sessionID je odgovor:

V primeru veljavnega sessionID servis vrne kartografski prikaz za podani sloj:

Slika 1: Vrnjeni prikaz

Page 10: Izvedba klicev WFS in WMS z uporabo parametra SSID · 2018. 1. 18. · 5.6.2011 Mladenović Uroš 03.4 Dodano poglavje s kraticami 7.11.2011 Mladenović Uroš 03.5 Popravljeno ime

Naloga: NPPI

Ljubljana, 1.6.2016

Izvajalec: IGEA d.o.o Naročnik: MOP – Geodetska uprava RS

GU_DO_SIST_TD_WFS_WMS_SSID_v0.4.2.docx Stran 10 od 15

Generalen potek komunikacije je predstavljen na naslednjem diagramu (SSID = sessionID):

Slika 2: Enostaven diagram postopka

Page 11: Izvedba klicev WFS in WMS z uporabo parametra SSID · 2018. 1. 18. · 5.6.2011 Mladenović Uroš 03.4 Dodano poglavje s kraticami 7.11.2011 Mladenović Uroš 03.5 Popravljeno ime

Diagram namestitve in primerov interakcije med komponentami sistema je predstavljen na sledeči sliki :

Vedno se preveri tudi SN v RPAS

1. Kreiraj Sessionid – getSessionId

WFS

Kriptiraj WFS zahtevek – codeRequest

WMS

Po potrebi podaljšaj sessionid – resetSessionId

OWS-S Deploy aplikacije

npr. JV

Geoserver

OWS-M

OWS

OWS-C

Klient

Strežnik 1

Https – ssl

+ zaklep na IP

Http

SessionId ali ključ

SN -> RPAS

Http

Https – podatki WFS, WFS-C,

Http – podatki WMS

Https – kriptiran WFS, WFS-C zahtevek ali

Http - WMS zahtevek

1. od-kriptiraj WFS zahtevek

2. Če ne uspe – pridobi nov ključ – getKey

3. od-kriptiraj WFS zahtevek

4. Če uspe – posodobi ključ v HSql

Ključ se generira preko Oracle JOB-a

Slika 3: Diagram namestitve

Page 12: Izvedba klicev WFS in WMS z uporabo parametra SSID · 2018. 1. 18. · 5.6.2011 Mladenović Uroš 03.4 Dodano poglavje s kraticami 7.11.2011 Mladenović Uroš 03.5 Popravljeno ime

4 Ostale zahteve

Za lokalno programsko delovanje zgoraj naštetih korakov, je potrebno zagotoviti tudi namestitve ustreznih certifikatov.

4.1 Izvoz strežniškega certifikata in namestitev v cacerts

Spodaj je opisan primer načina pridobitve strežniškega certifikata in namestitev v cacerts (datoteka certifikatov, ki jim zaupamo). Primer je napisan za certifikat za »prostor4«.

izvoz certifikata iz IE (ki ga namestimo, ko vzpostavimo SSL povezavo):

Slika 4 : Izbira certifikata v Firefox, izvoz 1/2

Page 13: Izvedba klicev WFS in WMS z uporabo parametra SSID · 2018. 1. 18. · 5.6.2011 Mladenović Uroš 03.4 Dodano poglavje s kraticami 7.11.2011 Mladenović Uroš 03.5 Popravljeno ime

Naloga: NPPI

Ljubljana, 1.6.2016

Izvajalec: IGEA d.o.o Naročnik: MOP – Geodetska uprava RS

GU_DO_SIST_TD_WFS_WMS_SSID_v0.4.2.docx Stran 13 od 15

Slika 5 : Izbira formata in zapis certifikata na datotečni sistem, 2/2

namestitev certifikata v cacerts datoteko, kjer so vsi certifikati, ki jim zaupamo:

DOS>C:

DOS>cd "C:\Program Files (x86)\Java\jdk1.6.0_45\jre\lib\security"

DOS>keytool -import -alias prostor4.sigov.si -keystore "C:\Program Files

(x86)\Java\jdk1.6.0_45\jre\lib\security\cacerts" -file "C:\Program Files

(x86)\Java\jdk1.6.0_45\jre\lib\security\prostor4.sigov.si.crt"

Page 14: Izvedba klicev WFS in WMS z uporabo parametra SSID · 2018. 1. 18. · 5.6.2011 Mladenović Uroš 03.4 Dodano poglavje s kraticami 7.11.2011 Mladenović Uroš 03.5 Popravljeno ime

Naloga: NPPI

Ljubljana, 1.6.2016

Izvajalec: IGEA d.o.o Naročnik: MOP – Geodetska uprava RS

GU_DO_SIST_TD_WFS_WMS_SSID_v0.4.2.docx Stran 14 od 15

Slika 6 : Uvoz strežniškega certifikata v cacerts

Page 15: Izvedba klicev WFS in WMS z uporabo parametra SSID · 2018. 1. 18. · 5.6.2011 Mladenović Uroš 03.4 Dodano poglavje s kraticami 7.11.2011 Mladenović Uroš 03.5 Popravljeno ime

Naloga: NPPI

Ljubljana, 1.6.2016

Izvajalec: IGEA d.o.o Naročnik: MOP – Geodetska uprava RS

GU_DO_SIST_TD_WFS_WMS_SSID_v0.4.2.docx Stran 15 od 15

Opomba! Potrebno je namestiti certifikate za vse strežnike, do katerih dostopamo preko SSL povezave! (prostor4.gov.si, prostor4.sigov.si, ...)

izpis certifikata iz cacerts:

DOS>keytool -list -keystore .\cacerts -alias prostor4.sigov.si

izpis vsebine certifikata (iz datoteke s certifikatom):

DOS>keytool -printcert -file .\prostor4.sigov.si.cer

Seznam uporabljenih kratic:

Kratica Pomen

WFS Web Feature Service Spletni servis za prostorske objekte

WMS Web Map Service Spletni servis za kartografske prikaze

RPAS Varnostna shema GU

Konec navodila.