Skip to content

Instantly share code, notes, and snippets.

@btoews
Created September 27, 2018 22:36
Comodo OCSP Test
require "openssl"
begin
require "faraday"
rescue LoadError
puts "You need the 'faraday' gem for making HTTP requests. Run 'gem install faraday'"
exit 1
end
DIGEST = OpenSSL::Digest::SHA256
subject = OpenSSL::X509::Certificate.new(File.read("subject.pem"))
issuer = OpenSSL::X509::Certificate.new(File.read("issuer.pem"))
# parsed from AIA extension of subject. hard coded here for brevity
ocsp_uri = "http://ocsp.comodoca.com"
certificate_id = OpenSSL::OCSP::CertificateId.new(subject, issuer, DIGEST.new)
ocsp_request = OpenSSL::OCSP::Request.new
ocsp_request.add_certid(certificate_id)
ocsp_request.add_nonce
http_response = Faraday.post(ocsp_uri) do |http_request|
http_request.options.timeout = 5
http_request.body = ocsp_request.to_der
http_request.headers["Content-Type"] = "application/ocsp-request"
end
ocsp_response = OpenSSL::OCSP::Response.new(http_response.body)
puts ocsp_response.status_string
-----BEGIN CERTIFICATE-----
MIIF5jCCA86gAwIBAgIQapvhODv/K2ufAdXZuKdSVjANBgkqhkiG9w0BAQwFADCB
hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTMwMTEw
MDAwMDAwWhcNMjgwMTA5MjM1OTU5WjCBlzELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
Q09NT0RPIENBIExpbWl0ZWQxPTA7BgNVBAMTNENPTU9ETyBSU0EgQ2xpZW50IEF1
dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1haWwgQ0EwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQC+s55XrCh2dUAWxzgDmNPGGHYhUPMleQtMtaDRfTpY
PpynMS6n9jR22YRq2tA9NEjk6vW7rN/5sYFLIP1of3l0NKZ6fLWfF2VgJ5cijKYy
/qlAckY1wgOkUMgzKlWlVJGyK+UlNEQ1/5ErCsHq9x9aU/x1KwTdF/LCrT03Rl/F
wFrf1XTCwa2QZYL55AqLPikFlgqOtzk06kb2qvGlnHJvijjI03BOrNpo+kZGpcHs
gyO1/u1OZTaOo8wvEU17VVeP1cHWse9tGKTDyUGg2hJZjrqck39UIm/nKbpDSZ0J
sMoIw/JtOOg0JC56VzQgBo7ictReTQE5LFLG3yQK+xS1AgMBAAGjggE8MIIBODAf
BgNVHSMEGDAWgBS7r34CPfqm8TyEjq3uOJjs2TIy1DAdBgNVHQ4EFgQUgq9sjPjF
/pZhfOgfPStxSF7Ei8AwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8C
AQAwEQYDVR0gBAowCDAGBgRVHSAAMEwGA1UdHwRFMEMwQaA/oD2GO2h0dHA6Ly9j
cmwuY29tb2RvY2EuY29tL0NPTU9ET1JTQUNlcnRpZmljYXRpb25BdXRob3JpdHku
Y3JsMHEGCCsGAQUFBwEBBGUwYzA7BggrBgEFBQcwAoYvaHR0cDovL2NydC5jb21v
ZG9jYS5jb20vQ09NT0RPUlNBQWRkVHJ1c3RDQS5jcnQwJAYIKwYBBQUHMAGGGGh0
dHA6Ly9vY3NwLmNvbW9kb2NhLmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAeFyygSg0
TzzuX1bOn5dW7I+iaxf28/ZJCAbU2C81zd9A/tNx4+jsQgwRGiHjZrAYayZrrm78
hOx7aEpkfNPQIHGG6Fvq3EzWf/Lvx7/hk6zSPwIal9v5IkDcZoFD7f3iT7PdkHJY
9B51csvU50rxpEg1OyOT8fk2zvvPBuM4qQNqbGWlnhMpIMwpWZT89RY0wpJO+2V6
eXEGGHsROs3njeP9DqqqAJaBa4wBeKOdGCWn1/Jp2oY6dyNmNppI4ZNMUH4Tam85
S1j6E95u4+1Nuru84OrMIzqvISE2HN/56ebTOWlcrurffade2022O/tUU1gb4jfW
CcyvB8czm12FgX/y/lRjmDbEA08QJNB2729Y+io1IYO3ztveBdvUCIYZojTq/OCR
6MvnzS6X72HP0PRLRTiOSEmIDsS5N5w/8IW1Hva5hEFy6fDAfd9yI+O+IMMAj1Kc
L/Zo9jzJ16HO5m60ttl1Enk8MQkz/W3JlHaeI5iKFn4UJu1/cP2YHXYPiWf2JyBz
sLBrGk1II+3yL8aorYew6CQvdVifC3HtwlSam9V1niiCfOBe2C12TdKGu05LWIA3
ZkFcWJGaNXOZ6Ggyh/TqvXG5v7zmEVDNXFnHn9tFpMpOUvxhcsjycBtH0dZ0WrNw
6gH+HF8TIhCnH3+zzWuDN0Rk6h9KVkfKehI=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFMzCCBBugAwIBAgIQKOqD6V0HOM2JrSJy2Ji4NTANBgkqhkiG9w0BAQsFADCB
lzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxPTA7BgNV
BAMTNENPTU9ETyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUg
RW1haWwgQ0EwHhcNMTgwOTI3MDAwMDAwWhcNMTkwOTI3MjM1OTU5WjAlMSMwIQYJ
KoZIhvcNAQkBFhRtYXN0YWh5ZXRpQGdtYWlsLmNvbTCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBALU9KxRXz+LsuS+PBCe3X6cjXIMyCGcrnACNdTxktb0S
ONDuDRbJ5EtqpbHSV0MNRfmpZi00Ojvt/F1wQ3B6meI4zASH3l8o1cCbwE/6mu/f
qSVLy70wQL7An1xgUbqNAW9+uAVLhO13CtE/OgnaqKoHOg4SxrUXDWXMSOIyltcl
ICYSFT43RRNjipGEWMpZJQMwwlqkVWJwSFlgUAeRzf0sTlc7axQk5I9JW7GPRMjL
hKddkZn8F9c4nFtPwhttJlKey0CX4q3uyLVIhZZmakduB6R4ksg9GQuR32/jcBMK
EEgwvKFBriewNEMLwL6HsGl84IcoIzzvaqkljUQqsnsCAwEAAaOCAeowggHmMB8G
A1UdIwQYMBaAFIKvbIz4xf6WYXzoHz0rcUhexIvAMB0GA1UdDgQWBBRry8CFSv98
urGGPHMnF+UGK0LaGjAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAgBgNV
HSUEGTAXBggrBgEFBQcDBAYLKwYBBAGyMQEDBQIwEQYJYIZIAYb4QgEBBAQDAgUg
MEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQEBMCswKQYIKwYBBQUHAgEWHWh0dHBz
Oi8vc2VjdXJlLmNvbW9kby5uZXQvQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6
Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET1JTQUNsaWVudEF1dGhlbnRpY2F0aW9u
YW5kU2VjdXJlRW1haWxDQS5jcmwwgYsGCCsGAQUFBwEBBH8wfTBVBggrBgEFBQcw
AoZJaHR0cDovL2NydC5jb21vZG9jYS5jb20vQ09NT0RPUlNBQ2xpZW50QXV0aGVu
dGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAkBggrBgEFBQcwAYYYaHR0cDov
L29jc3AuY29tb2RvY2EuY29tMB8GA1UdEQQYMBaBFG1hc3RhaHlldGlAZ21haWwu
Y29tMA0GCSqGSIb3DQEBCwUAA4IBAQAGifZPmjyiBEYmCOL+pVNqBLRLryftGi/m
UL4NrVjnsALmDogP0xOxyIU67LR2pTn0wansqaaFw0XXfr/oXhW3ukS4dG5tjVaC
bZ2IcBdeO3fWU4lYjJoi2JBSFCUCe6QfLc7N/VKwD1s0x6t3kckAr9h3bhPOribH
ikSdNgiweIc7Z5JXn7GsjiLf613pbGt3N/IQw0dpPE2Qq/X961DtWq0i53AzCAkb
ZpDagl1rSY8xqot3Lu1poQbVfZ00pzmzggKmh10Rt9Hy/lBCF3yJOmBvjs6ICwU4
FcauQDxfP3ACESYW5lYpvQL4yE1p+8iOJ824oVkk+7FC+9i4nnrd
-----END CERTIFICATE-----
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment