OCSP PHP kontroll
Sisukord
OCSP päringu tegemine käsurealt
Aluseks on võetud PHP näidisrakendus lehelt https://www.id.ee/index.php?id=30338
Veebiserver peaks olema juba seadistatud, et see saaks ID-kaardilt sertifikaati lugeda.
Lae sertifikaat üles SK demokeskkonda
Teenuse testimiseks tuleb ID-kaardi sertifikaat üles laadida lehel https://demo.sk.ee/upload_cert/index.php Seal saad ka valida oma sertifikaadile sobiva oleku (GOOD, REVOKED, ...).
PHP muutuja
See, kuidas PHP rakendus sertifikaadi kätte saab erineb sellest, kuidas näidatakse sertifikaati ID-kaardi haldusvahendis, mistõttu on üleslaadimiseks vaja võtta sertifikaat PHP muutujast
$_SERVER["SSL_CLIENT_CERT"]
Sama sertifikaat tuleb käsitsi testimiseks salvestada ajutiselt faili, nt. nimega
idcert
Lae alla CA sertifikaadid ja OCSP responderi sertifikaat
Tuleb alla laadida ID-kaardi CA sertifikaadid ja responder sertifikaadid lehelt https://www.skidsolutions.eu/repositoorium/sk-sertifikaadid/
Eraldusnime veerus on sertifikaadi väljastaja, samuti nagu on ID-kaardi haldusvahendis näha sertikaadil väljastaja.
OCSP test teenuse kasutamiseks on vaja alla laadida ka TEST responder sertifikaat/sertifikaadid vastavalt väljastajale.
Edasi läheb see juhend näidisrakendusest natuke kõrvale selle poolest, et seal OCSP_SERVER_CERT_FILE (responder cert) iga väljastaja jaoks eraldi, aga siin juhendis paneme kõik responder sertifikaadid ühte faili
Responder sertifikaatide ühte faili tõstmiseks saab kasutada näiteks `cat` tööriista. Oletame, et kõik responder sertifikaadid on kataloogis responder-certs ja kõik CA sertifikaadid on kataloogis certs
cat responder-certs/* > certs/responders.id
Veendu, et reavahetused oleks õiged ja et kõik -----BEGIN CERTIFICATE----- ja -----END CERTIFICATE----- kirjed algaks uuel real.
OCSP kontroll
Nüüd saab proovida, kas konsoolis OCSP töötab. Oletame, et sertifikaadi väljastaja on ESTEID-SK 2015
/usr/bin/openssl ocsp -issuer certs/ESTEID-SK_2015.pem.crt -cert idcert -url http://demo.sk.ee/ocsp -VAfile certs/responders.id
Kui see annab vastuseks näiteks
Response verify OK idcert: good
Siis järelikult sertifikaat on valideeritud. Kui vastuses tuleb näiteks idcert: unknown', siis tõenäoliselt on `-issuer` seatud vale CA sertifikaat.
Kui kõik läks hästi, tuleb ülevaltoodud päring PHP rakendusse ümber kirjutada. Siin tuleb jälle abiks näidisrakendus.