Digitalna potrdila SIGOV-CA in SIGEN-CA ne vsebujejo ključnih identifikacijskih podatkov (EMŠO, davčna številka, ...). 

Samo na osnovi imena oziroma naziva lastnika digitalnega potrdila ni mogoča zanesljiva overitev, zato lahko to storite s spodnjim zahtevkom. Z njim lahko preverite, ali nek identifikacijski podatek (EMŠO, davčna številka, davčna številka organizacije in matična številka organizacije) določa imetnika potrdila z določeno serijsko številko potrdila.

Preverjanje identifikacijskih podatkov

Uporaba storitve

1. Vaša aplikacija tvori z digitalnim potrdilom SIGOV-CA ali SIGEN-CA podpisan XML dokument, ki ustreza shemi PodpisaniDokument.xsd.

Podatke, ki jih želite preveriti, vnesete v Predstavitve -> Predstavitev -> Podatki. Obvezen je podatek za 13-mestno serijsko številko potrdila (<serial>) in izdajatelja (<ca>) ter najmanj eden od podatkov, ki jih želite preveriti:

  • EMŠO (<emso>)
  • davčna številka uporabnika (<dsUporabnika>)
  • davčna številka organizacije (<dsPodjetja>)
  • matična številka organizacije (<maticna>)

Zahtevek v obliki WSDL pošljete v ovojnici SOAP po protokolu HTTP POST na naslov https://storitve-ca.gov.si/CcWeb/services/Avtentikacija.

2. Če je preverjanje podatkov uspešno (sistem najde podane podatke), strežnik doda dokumentu časovni žig in na koncu še svoj dig. podpis v skladu s shemo.

3. Če preverjanje ni uspešno, strežnik namesto časovnega žiga in podpisa doda element <neuspeh>, ki označuje napako.

4. Spletna storitev kot odgovor vrne dopolnjeni dokument.

5. Če pride do težav, storitev vrne napako (<SOAP exception>).

Testna spletna storitev

Omogoča isto funkcionalnost kot produkcijski sistem, le da se izvaja v testnem okolju, kar za uporabnika pomeni naslednje:

  • za avtentikacijo in digitalni podpis podatkov je potrebno uporabiti testno digitalno potrdilo izdajatelja SITEST-CA,
  • sistem omogoča preverjanje testnih podatkov o imetnikih digitalnih potrdil, zato je potreben predhodni dogovor glede primernih podatkov za povpraševanje.

Navodilo za izdelavo zahtevka 

Primer postopka za izdelavo zahtevka za testno spletno storitev za preverjanje identifikacijskih podatkov. Podatki za ta primer so že vpisani, zato zahtevek takoj deluje in poseben dogovor glede podatkov ni potreben.

1. Za začetni dokument uporabimo dokument v formatu .xml - Vzorec1.xml. V tem dokumentu vpišemo serijsko številko potrdila ter EMŠO in davčno številko osebe.

2. Izračunamo DigestValue elementa Predstavitev, ki ga je potrebno preoblikovati v kanonsko obliko.

3. Vrednost digest-a v obliki base64 je "6FJDChZd7yPuixFpKHLdLLsVOTc=". To vrednost (brez narekovajev) vpišemo v element DigestValue.

4. Element SignedInfo preoblikujemo v kanonsko obliko in ga podpišemo. Podpis v obliki base64 je:

uUuXPrIOGuTzluIPGB9KLnaz+r0qM3S98EuJWysGS2Rn3GXT259MFFvUerZAHpdb
xyNGVV5si3hU0wOXkoJpTfPjllG237oW98V+bLIpuOBh8jc/v2W5E9RPK4dpFC1Y
x3hBlODtpp2yE95VW5khDqqzUIdBlppjUqAIH9tbkNGO1k/PVBCYSmAujCHT7aky
Y6K61iSo1k2GnUTcj1/swBsWEUvOOoHilfOPDdS/ZDAu4MBnM1zmCZAoySgr1gpI
jWj0Sv4ItBnRzoQwYRAJF+0AgL9XoGsHaqFRtMaQtzlYtAub07jBHXiC8Amsi6kw
5uxsa/4EFja7tYK0U6/OWw==

Zgornji niz (brez prelomov vrstic) shranimo v element SignatureValue. Za podpis potrebujemo privatni ključ. V našem primeru smo uporabili privatni ključ, ki pripada dig. potrdilu iz pripete datoteke tomaz-test.p12. Geslo za dostop je tomaz-test.

5. V element X509Certificate vpišemo dig. potrdilo, v formatu base64, ki pripada ključu, s katerim smo naredili podpis v prejšnji točki.

6. Do sedaj narejen dokument vložimo v ovojnico za SOAP. Tako dobimo dokument, ki ga lahko vidimo v priponki Soap.xml

Pomembno je, da:

  • je struktura dokumenta PodpisaniDokument čimbolj takšna kot v našem primeru (nekateri Id-ji so lahko drugačni ali drugje, vrstni red večinoma ni pomemben itd.)
  • ima element Predstavitev točen Id="MyVisualisation2"
  • je ta element podpisan tako, da je znotraj SignedInfo <Reference URI="#MyVisualisation2">
  • je metoda kanonikalizacije <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
  • pred značko <Podatki.../> in za njo znotraj elementa <Predstavitev...></Predstavitev> ni presledkov, tabov ali prelomov vrstic
  • ima element Signature točen Id="ClientSignature"

7. Zahtevek za HTTPS začnemo z naslednjimi vrsticami:

SOAPAction: [""]
Accept: [text/xml, multipart/related]
Content-Type: [text/xml; charset=utf-8]
Content-Length: 3030

Dolžina v Content-Length mora biti enaka številu znakov, ki sledijo. Zatem dodamo prazno vrstico, prilepimo vsebino iz dokumenta iz prejšnje točke in še eno prazno vrstico. Tako sestavljen zahtevek pošljemo preko vrat 443 na strežnik storitve-ca.gov.si.

8. Čez nekaj trenutkov dobimo odgovor. Primer se nahaja v priponki Odgovor.dat.