Ero sivun ”OCSP” versioiden välillä
Siirry navigaatioon
Siirry hakuun
Ei muokkausyhteenvetoa |
Ei muokkausyhteenvetoa |
||
Rivi 24: | Rivi 24: | ||
ln -s $i.pem certs/`openssl x509 -noout -hash -in certs/$i.pem`.0 | ln -s $i.pem certs/`openssl x509 -noout -hash -in certs/$i.pem`.0 | ||
done | done | ||
== VRK:n varmennehierarkiassa olevien varmenteiden oikeellisuuden tarkistaminen == | |||
Seuraavalla scriptillä voi hakea varmenteita VRK:n ldap hakemistosta ja tehdä niille OCSP tarkistukset: | |||
<pre> | |||
#!/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 | |||
</pre> | |||
Ja jos tuon ajaa tulee tuloksena seuraavaa: | |||
<pre> | |||
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 | |||
</pre> | |||
== Katso myös == | == Katso myös == |
Versio 2. maaliskuuta 2021 kello 09.11
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