OCSP PHP kontroll

Allikas: Kuutõrvaja

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.