OCSP

DigiWikistä
Versio hetkellä 2. maaliskuuta 2021 kello 09.32 – tehnyt TUOMALA JUHA 10000350X (keskustelu | muokkaukset) (→‎Katso myös)
Siirry navigaatioon Siirry hakuun
Tulostettavaa versiota ei enää tueta ja siinä voi olla renderöintivirheitä. Päivitä selaimesi kirjanmerkit ja käytä selaimen tavallista tulostustoimintoa sen sijaan.

Online Certificate Status Protocol (OCSP) on varmenteen tilan kyselyyn tarkoitettu yhteyskäytäntö.

OCSP:n käyttö openssl:llä

Openssl:llä voi hakea OCSP hakuja ja tarkistaa varmenteen oikeellisuuta.

Urli mistä OCSP haut tehdään löyty varmenteesta itsestään Authority Information Access nimisestä kentästä. Tuon saa haettua openssl:llä esim seuraavasti:

 OCSP=`openssl x509 -in cert.pem -text -noout | fgrep OCSP | sed 's/.*URI://g'`

Kun tuo urli on saatu niin voit tehdä ocsp haun käyttäen seuraavaa komentoa:

 openssl ocsp -CApath certs -issuer certs/vrkcqc3.pem -cert cert.pem -url $OCSP

missä certs hakemistossa on vrkcqc3.pem ja vrkroot2c.pem tiedostot ja niiden symlinkit. Tuon hakemiston saa tehtyä seuraavilla komennoilla.

 mkdir certs
 for i in vrkroot2c vrkcqc3
 do
   echo Fetching http://proxy.fineid.fi/ca/$i.crt
   wget --quiet http://proxy.fineid.fi/ca/$i.crt -O $i.crt
   echo Converting it to pem, and making CApath directory link
   openssl x509 -inform DER -in $i.crt -out certs/$i.pem
   ln -s $i.pem certs/`openssl x509 -noout -hash -in certs/$i.pem`.0
 done

VRK:n varmennehierarkiassa olevien varmenteiden oikeellisuuden tarkistaminen

Seuraavalla scriptillä voi hakea varmenteita VRK:n ldap hakemistosta ja tehdä niille OCSP tarkistukset:

#!/bin/sh

search="(&(givenname=Tero)(sn=Kivinen))"

rm -rf certs
mkdir certs
for i in vrkroot2c vrkcqc3
do
    echo Fetching http://proxy.fineid.fi/ca/$i.crt
    wget --quiet http://proxy.fineid.fi/ca/$i.crt -O $i.crt
    echo Converting it to pem, and making CApath directory link
    openssl x509 -inform DER -in $i.crt -out certs/$i.pem
    ln -s $i.pem certs/`openssl x509 -noout -hash -in certs/$i.pem`.0
done
num=0
ldapsearch -x -h ldap.fineid.fi -b dmdName=fineid,c=fi "$search" usercertificate | \
    sed -n '1x;1!H;${g;s/\n  *//g;p}' | \
    fgrep 'usercertificate;binary::' | \
    while read cert
    do
        num=`expr $num + 1`
        a=`echo $cert | sed 's/.*:: //g'`
        (echo '-----BEGIN X509 CERTIFICATE-----' ;
         echo $a;
         echo '-----END X509 CERTIFICATE-----') > cert$num.pem

        SUBJECT=`openssl x509 -in cert$num.pem -text -noout | fgrep Subject: | sed 's/.*Subject:://g'`
        OCSP=`openssl x509 -in cert$num.pem -text -noout | fgrep OCSP | sed 's/.*URI://g'`
        echo Subject: $SUBJECT
        echo OCPS link: $OCSP
        openssl ocsp -CApath certs -issuer certs/vrkcqc3.pem -cert cert$num.pem -url $OCSP
    done

Ja jos tuon ajaa tulee tuloksena seuraavaa:

Fetching http://proxy.fineid.fi/ca/vrkroot2c.crt
Converting it to pem, and making CApath directory link
Fetching http://proxy.fineid.fi/ca/vrkcqc3.crt
Converting it to pem, and making CApath directory link
Subject: Subject: C = FI, serialNumber = 14683812B, GN = TERO, SN = KIVINEN, CN = KIVINEN TERO 14683812B
OCPS link: http://ocsp.fineid.fi/vrkcqc2
Responder Error: unauthorized (6)
Subject: Subject: C = FI, serialNumber = 13991724X, GN = TERO, SN = KIVINEN, CN = KIVINEN TERO 13991724X
OCPS link: http://ocsp.fineid.fi/vrkcqc3
Response verify OK
cert2.pem: good
        This Update: Mar  2 08:24:21 2021 GMT
        Next Update: Mar  2 16:24:21 2021 GMT
Subject: Subject: C = FI, serialNumber = 133366417, GN = TERO, SN = KIVINEN, CN = KIVINEN TERO 133366417
OCPS link: http://ocsp.fineid.fi/vrkcqc3
Response verify OK
cert3.pem: good
        This Update: Mar  2 08:24:21 2021 GMT
        Next Update: Mar  2 16:24:21 2021 GMT


Katso myös

Aiheesta muualla