Skip to content

Instantly share code, notes, and snippets.

@btoews
Created September 27, 2018 22:36
Show Gist options
  • Save btoews/815e150fedecbcfa76dca6bfde1ce923 to your computer and use it in GitHub Desktop.
Save btoews/815e150fedecbcfa76dca6bfde1ce923 to your computer and use it in GitHub Desktop.
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