Tekniikka/Digivirasto

Kohteesta DigiWiki
Siirry navigaatioon Siirry hakuun

Digiviraston tietoja voi hyödyntää palveluita rakentaessa. Julkisesti avoimena ovat:

  • varmennehakemisto josta voi tehdä kyselyitä LDAP-protokollalla
  • varmenteiden sulkulista jonka voi ladata HTTP-protokollalla


Sisällysluettelo

LDAP varmennehakemisto

LDAP-hakemiston kyselyitä voi tehdä Digiviraston järjestelmästä anonyymisti ja osa (väestötietojärjestelmä,) vaatii sopimuksen ja pääsyoikeudet. Kyselyitä voi tehdä käyttäen SATU-tunnusta tai nimistä ja SATU:sta johdettua Common Name -attribuuttia. Jos henkilöllä ei ole henkilökorttia ja sen aktiivista varmennetta, kyselyt eivät palauta mitään.

Hakemistohierarkian ja kyselyiden kanssa avusti LDAP-asiantuntija Timo Kirves <timo@omit.fi>.


Hakemiston hierarkia:

ldapsearch  -LLL -x -h ldap.fineid.fi -b "" -s base objectclass=\*  namingcontexts
dn:
namingcontexts: c=FI
namingcontexts: dc=vp4,dc=x
namingcontexts: o=netscaperoot
  • c=FI: väestön palvelutuotantoon tarkoitettu asioijatieto.
  • dc=vp4,dc=x: sisäisessä käytössä¹.
  • o=netscaperoot: fedora 389-hakemiston konfiguraatiot¹.

¹ - kyselyt vaativat tunnukset ja tunnistautumisen.

Hierarkiassa esiintyvä dmdName (directory management domain, DMD) on ?.

Henkilön tiedot

Haut kannattaa tehdä SATU-tunnuksella jos mahdollista sillä se on täysin yksilöivä ja pysyy aina samana vaikka henkilön kortti vaihtuisikin uudempaan. Hauissa on hyvä huomioida, että jokaisella on SATU olemassa, mutta kyselyt eivät palauta mitään jos ei ole aktiivista varmennetta, tämä pätee vanhentuneisiin varmenteisiin sekä henkilöihin jotka eivät ole ikinä hankkineet henkilökorttia tai Mobiilivarmennetta.


Common Name (CN) haku SATU-tunnuksella:

$ ldapsearch -x -h ldap.fineid.fi -b dmdName=fineid,c=fi serialNumber=10000350X cn
cn: TUOMALA JUHA 10000350X

SATU-tunnuksen haku etu- ja sukunimen perusteella, poiskytketyllä määrärajoitteella:

$ ldapsearch -x -h ldap.fineid.fi -LLL -b dmdName=fineid,c=fi -z 0 "(&(givenname=Juha)(sn=Tuomala))" serialnumber |grep serial|sort -n

serialnumber: 10000350X
serialnumber: 11921353S
serialnumber: 12346428V
serialnumber: 12668514R
serialnumber: 130409648
serialnumber: 13321775N
$

Käyttäjän varmenteen haku SATU-tunnuksella:

$ ldapsearch -x -h ldap.fineid.fi  -b dmdName=fineid,c=fi   serialnumber=10000350X usercertificate                     
# extended LDIF
#
# LDAPv3
# base <dmdName=fineid,c=fi> with scope subtree
# filter: serialnumber=10000350X
# requesting: usercertificate 
#

# 1002703297, VRK Gov. CA for Citizen Qualified Certificates - G2, Valtion kans
 alaisvarmenteet, Vaestorekisterikeskus CA, FINEID, FI
dn: certificateSerialNumber=1002703297,cn=VRK Gov. CA for Citizen Qualified Ce
 rtificates - G2,ou=Valtion kansalaisvarmenteet,o=Vaestorekisterikeskus CA,dmd
 Name=FINEID,c=FI
usercertificate;binary:: MIIHMjCCBRqgAwIBAgIEO8QJwTANBgkqhkiG9w0BAQsFADCBlDELM
AkGA1UEBhMCRkkxITAfBgNVBAoTGFZhZXN0b3Jla2lzdGVyaWtlc2t1cyBDQTEkMCIGA1UECxMbVm
FsdGlvbiBrYW5zYWxhaXN2YXJtZW50ZWV0MTwwOgYDVQQDEzNWUksgR292LiBDQSBmb3IgQ2l0aXp
lbiBRdWFsaWZpZWQgQ2VydGlmaWNhdGVzIC0gRzIwHhcNMTYwNjE0MDkxMzAxWhcNMjEwNjEzMjA1
OTU5WjBjMQswCQYDVQQGEwJGSTESMBAGA1UEBRMJMTAwMDAzNTBYMQ0wCwYDVQQqEwRKVUhBMRAwD
gYDVQQEEwdUVU9NQUxBMR8wHQYDVQQDExZUVU9NQUxBIEpVSEEgMTAwMDAzNTBYMIIBIjANBgkqhk
iG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs46ymqJIS49++jTDWAqhqpvOTsGPfuM6fkNS4qio1y2r6fb
kLnMd/+tSPyER3r81mDmOUO0+N5ytAJYQW73ZyMmbhDD3wgU8JJ0L4HdNlaDrlDk1+SegvfkpTiG/
J1IKr1FcozB3L3mbz3REArJf+gNqPjl72n1htQuyJmP5P9GQnQEovy9C5Fs0Q5EyMRx6lloLyZ55B
rnBSRAa1FNSKFTaD0lLSSdsXkh/xyj5/mxDOce/HtM7JOCZs1odf7PVvZ69dOWz8avsUZFRia+B+U
ItSBZTfX5ZxN2ntcVh8Dr7uoSbu/GA3SNnO4wpagAu5kWI0u42sT8fYc7FewRFCQIDAQABo4ICujC
CArYwHwYDVR0jBBgwFoAUwa8dil8dmocNghD8nd31sB5w07UwHQYDVR0OBBYEFNukvpTRN+niaUxl
j5w8lHmmrJRDMA4GA1UdDwEB/wQEAwIEsDCBzQYDVR0gBIHFMIHCMIG/BgkqgXaEBQEKFgEwgbEwJ
wYIKwYBBQUHAgEWG2h0dHA6Ly93d3cuZmluZWlkLmZpL2NwczIxLzCBhQYIKwYBBQUHAgIweRp3Vm
FybWVubmVwb2xpdGlpa2thIG9uIHNhYXRhdmlsbGEgLSBDZXJ0aWZpa2F0IHBvbGljeSBmaW5ucyA
tIENlcnRpZmljYXRlIHBvbGljeSBpcyBhdmFpbGFibGUgaHR0cDovL3d3dy5maW5laWQuZmkvY3Bz
MjEwHgYDVR0RBBcwFYETanVoYS50dW9tYWxhQGlraS5maTAPBgNVHRMBAf8EBTADAQEAMIIBHgYDV
R0fBIIBFTCCAREwLaAroCmGJ2h0dHA6Ly9wcm94eS5maW5laWQuZmkvY3JsL3Zya2NxYzJjLmNybD
CB36CB3KCB2YaB1mxkYXA6Ly9sZGFwLmZpbmVpZC5maTozODkvY24lM2RWUkslMjBHb3YuJTIwQ0E
lMjBmb3IlMjBDaXRpemVuJTIwUXVhbGlmaWVkJTIwQ2VydGlmaWNhdGVzJTIwLSUyMEcyLG91JTNk
VmFsdGlvbiUyMGthbnNhbGFpc3Zhcm1lbnRlZXQsbyUzZFZhZXN0b3Jla2lzdGVyaWtlc2t1cyUyM
ENBLGRtZE5hbWUlM2RGSU5FSUQsYyUzZEZJP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3QwQQYIKw
YBBQUHAQEENTAzMDEGCCsGAQUFBzAChiVodHRwOi8vcHJveHkuZmluZWlkLmZpL2NhL3Zya2NxYzI
uY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQBbZIjniOVftnKZ0/hvIdVRH9iM2FMVlcAMEja7nN3ji8zv
CgMPD++TFmIsnR4HhapBsgIKbDBaGqhTuIqZdezYcVImE32wGY+YkQqEKrCI+uB8+p7SsvMnl/eGk
C8q+lDCm5JzqX+ifR8G4Pgoznj5io+loarR2uR+pqm4BybP2bTNPMYwLPyKc36MnBZ9aQxtzfgjsH
gjsA/L3vI93Dn4DlOrfE5VN8+jJOINXh31xm8W/WJVBHTHA3FW2tgSLJtw7SIpofMNBoU6f/u/xdo
0fSKvA5p30oooAPFAQa3Fb9oAOdWVTbX/dT4sQ3HPvmxjsGeX36QYwkbb/FfEn4So3OH5D1zRmWw/
Q0vWYCS2YcWJY8sQvLhNcwI3ztu5/h7GAGvSuwsPtBgczHM6Db+MUogDmmTQrdKMlYWvCsVEd2Ugf
FNcPfM/FJ22pAaTPGhQEI5kVKrx7Zy88mVZnG8+5+TXHwKZK9zCTder4TrS6moOWt74vSoxrbUhw4
EBMlOeLRsd1jbPTxs18hJGu0iKub6X2IgDVtmIiQClOj5VKv+0Pcz6Jc5DLNhTgYwMVbXOHwge7tj
3ja89p7Sa/nfud29CF9OJBSi2KxyvbBJ42ckAdcNDoe/zis/v6aDHqaP/hqSRGLTmrEpaFVeuakkB
GUKqVbkcaEiw8YkWh9S1qQ==

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1


Asioijan tunnistusvarmenteen sormenjäljen tulostus SATU-tunnuksella:

$ ldapsearch -x -h ldap.fineid.fi -LLL -b dmdName=fineid,c=fi serialnumber=10000350X  usercertificate |grep -A40  usercertificate | sed -e 's#usercertificate;binary::##g' | head -n -1  | python -c "import sys; sys.stdout.write('-----BEGIN CERTIFICATE-----\n%s-----END CERTIFICATE-----\n' % (.join(sys.stdin.readlines()) ) )" | openssl x509 -noout  -fingerprint|cut -d\= -f2

B8:82:51:F3:2A:50:D0:50:E2:C6:92:9B:4F:D9:F9:A4:E3:13:78:D1
$

Sulkulista

$ ldapsearch -x -h ldap.fineid.fi -b dmdName=fineid,c=fi certificaterevocationlist


HTTP-kyselyt

Sulkulista


Varmennehierarkia

https://dvv.fineid.fi/api/v1/cas/100/people?serialNumber=10000350X
https://dvv.fineid.fi/api/v1/cas/100/people?mail=juha.tuomala%40iki.fi
[{
   "dn":
     "certificateSerialNumber=1002703297,
     cn=VRK Gov. CA for Citizen Qualified Certificates - G2,
     ou=Valtion kansalaisvarmenteet,o=Vaestorekisterikeskus CA,dmdName=FINEID,c=FI",
   "givenName":"JUHA",
   "sn":"TUOMALA",
   "mail":"juha.tuomala@iki.fi",
   "serialNumber":"10000350X",
   "certificateSerialNumber":"1002703297",
   "certificateSerialNumberHex":"3bc409c1"
 }]

Varmenteen lataus palauttaa DER-muotoisen binäärisen varmenteen.

https://dvv.fineid.fi/api/v1/people/certificateSerialNumber%3D1002703297%2Ccn%3DVRK%20Gov.%20CA%20for%20Citizen%20Qualified%20Certificates%20-%20G2%2Cou%3DValtion%20kansalaisvarmenteet%2Co%3DVaestorekisterikeskus%20CA%2CdmdName%3DFINEID%2Cc%3DFI/certificate

Katso myös

Aiheesta muualla