izvedba klicev wfs in wms z uporabo parametra ssid · 2018. 1. 18. · 5.6.2011 mladenović uroš...
Post on 07-Oct-2020
3 Views
Preview:
TRANSCRIPT
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
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
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
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
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).
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>
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
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
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
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
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
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
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"
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
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.
top related