Is a REVOKE response for the cert with a reason

$ openssl ocsp -resp_text -respin <([OCSP RESPONSE])
OCSP Response Data:
    OCSP Response Status: successful (0x0)
    Response Type: Basic OCSP Response
    Version: 1 (0x0)
    Responder Id: CN = Test Intermediate CA
    Produced At: Mar  2 00:00:00 2017 GMT
    Responses:
    Certificate ID:
      Hash Algorithm: sha1
      Issuer Name Hash: 449B1C5B31C6E9990966523E49C3F773C024190A
      Issuer Key Hash: FC6D3387CC3B39B049C755C46DF4395548930BCE
      Serial Number: 04
    Cert Status: revoked
    Revocation Time: Feb  1 00:00:00 2017 GMT
    Revocation Reason: keyCompromise (0x1)
    This Update: Mar  1 00:00:00 2017 GMT

    Signature Algorithm: sha1WithRSAEncryption
         31:a5:29:cb:33:73:d4:f3:ee:d5:ff:13:9c:a7:3b:1f:7d:bc:
         4e:08:34:e7:ca:39:94:a1:65:48:3f:73:da:06:a7:df:ff:23:
         b5:ce:af:c9:8d:61:d5:d1:e4:e9:3e:7f:9a:a5:09:f7:78:7b:
         4a:80:31:c8:02:44:0a:62:57:34:21:a6:7a:7a:73:8e:8c:c5:
         3e:98:58:29:4b:74:1d:30:40:c4:b1:ce:ab:b9:3f:1f:d2:e4:
         c3:81:9c:b3:ab:3e:e9:4a:36:4d:f3:ef:f8:9f:48:b1:58:2e:
         ff:47:f7:1a:de:12:8d:63:55:17:b3:e7:9c:1f:39:05:6c:f5:
         95:dd
-----BEGIN OCSP RESPONSE-----
MIIBTwoBAKCCAUgwggFEBgkrBgEFBQcwAQEEggE1MIIBMTCBm6EhMB8xHTAbBgNVBAMMFFRlc3Q
gSW50ZXJtZWRpYXRlIENBGA8yMDE3MDMwMjAwMDAwMFowZTBjMDgwBwYFKw4DAhoEFESbHFsxxu
mZCWZSPknD93PAJBkKBBT8bTOHzDs5sEnHVcRt9DlVSJMLzgIBBKEWGA8yMDE3MDIwMTAwMDAwM
FqgAwoBARgPMjAxNzAzMDEwMDAwMDBaMA0GCSqGSIb3DQEBBQUAA4GBADGlKcszc9Tz7tX/E5yn
Ox99vE4INOfKOZShZUg/c9oGp9//I7XOr8mNYdXR5Ok+f5qlCfd4e0qAMcgCRApiVzQhpnp6c46
MxT6YWClLdB0wQMSxzqu5Px/S5MOBnLOrPulKNk3z7/ifSLFYLv9H9xreEo1jVRez55wfOQVs9Z
Xd
-----END OCSP RESPONSE-----

$ openssl x509 -text < [CA CERTIFICATE]
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 1 (0x1)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: CN = Test CA
        Validity
            Not Before: Jan  1 00:00:00 2017 GMT
            Not After : Jan  1 00:00:00 2018 GMT
        Subject: CN = Test Intermediate CA
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (1024 bit)
                Modulus:
                    00:b9:32:09:de:33:4a:4f:e2:04:73:49:d5:2e:2b:
                    83:92:3a:94:e4:1b:0c:27:1b:f8:43:83:17:b8:75:
                    f5:a4:af:e3:4c:84:3e:6c:48:79:76:df:4d:f5:39:
                    af:92:4b:c5:a0:86:ab:35:cc:19:6b:93:82:c0:f8:
                    44:4d:1a:14:5d:48:87:65:02:0e:b0:a8:96:d9:06:
                    19:3f:aa:85:2d:84:c0:78:19:a6:96:ab:26:56:f7:
                    6f:5a:1a:97:a2:01:88:00:99:10:8a:97:39:c8:22:
                    6e:de:e5:56:f4:a6:23:cd:ea:48:0e:65:67:a4:73:
                    a0:50:91:de:ba:cf:54:08:8f
                Exponent: 65537 (0x10001)
    Signature Algorithm: sha1WithRSAEncryption
         48:d5:9f:8d:90:bc:4a:59:38:1d:2b:83:2d:71:1c:74:9d:01:
         73:a0:b6:98:e7:1c:c2:22:66:23:33:0a:8f:64:ff:9c:6b:37:
         09:12:1c:15:12:cb:c3:61:d9:ab:cd:96:dd:95:fa:a6:02:67:
         3c:4c:ec:98:38:5c:fc:48:cc:85:a9:5b:49:2c:2b:06:66:07:
         9e:31:0f:93:10:ab:3e:9f:97:60:64:01:61:7e:86:15:bb:5e:
         f1:90:31:a3:54:d0:86:0e:80:05:87:09:2e:65:b6:95:89:5c:
         c1:e5:80:d9:b8:81:b6:ed:1a:20:b8:9b:22:ce:ef:d0:26:47:
         9d:57
-----BEGIN CA CERTIFICATE-----
MIIBqTCCARKgAwIBAgIBATANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdUZXN0IENBMCIYDzI
wMTcwMTAxMDAwMDAwWhgPMjAxODAxMDEwMDAwMDBaMB8xHTAbBgNVBAMMFFRlc3QgSW50ZXJtZW
RpYXRlIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5MgneM0pP4gRzSdUuK4OSOpTkG
wwnG/hDgxe4dfWkr+NMhD5sSHl23031Oa+SS8Wghqs1zBlrk4LA+ERNGhRdSIdlAg6wqJbZBhk/
qoUthMB4GaaWqyZW929aGpeiAYgAmRCKlznIIm7e5Vb0piPN6kgOZWekc6BQkd66z1QIjwIDAQA
BMA0GCSqGSIb3DQEBBQUAA4GBAEjVn42QvEpZOB0rgy1xHHSdAXOgtpjnHMIiZiMzCo9k/5xrNw
kSHBUSy8Nh2avNlt2V+qYCZzxM7Jg4XPxIzIWpW0ksKwZmB54xD5MQqz6fl2BkAWF+hhW7XvGQM
aNU0IYOgAWHCS5ltpWJXMHlgNm4gbbtGiC4myLO79AmR51X
-----END CA CERTIFICATE-----

$ openssl x509 -text < [CERTIFICATE]
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 4 (0x4)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: CN = Test Intermediate CA
        Validity
            Not Before: Jan  1 00:00:00 2017 GMT
            Not After : Jan  1 00:00:00 2018 GMT
        Subject: CN = Test Cert
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (1024 bit)
                Modulus:
                    00:bc:4c:d5:b3:8d:92:fa:66:ac:32:43:1a:9e:eb:
                    17:e0:aa:76:35:1b:1d:10:48:4e:3e:22:8b:75:2e:
                    e8:6f:a4:55:1e:0a:5e:60:c0:61:f1:7d:29:58:7e:
                    0b:ef:29:be:ad:f8:f7:43:c8:58:95:14:5b:1d:af:
                    4a:b8:90:9e:4e:ec:4e:b3:86:7a:b9:96:c1:34:d3:
                    b9:a6:57:df:9b:bd:d9:dd:67:15:54:d4:9f:65:b8:
                    33:29:59:ba:9a:c6:75:ea:a5:76:3d:a4:57:0f:e2:
                    e4:c3:91:35:1d:6e:ff:61:7d:c2:53:23:66:b2:a8:
                    0b:e1:c7:55:48:c5:2b:4d:7d
                Exponent: 65537 (0x10001)
    Signature Algorithm: sha1WithRSAEncryption
         18:bb:93:d9:2a:e0:34:69:2f:96:57:ac:55:ac:a7:83:04:b4:
         bc:22:7f:5f:f7:c0:dc:ac:af:13:9b:86:7e:ac:02:8c:44:83:
         2e:c0:fa:a1:77:1d:dd:86:31:7e:98:93:c0:4f:b2:3d:be:30:
         6f:a5:fc:c7:2e:b1:b8:08:d2:17:cb:60:55:bf:5a:e0:94:f3:
         1d:44:fa:b1:2f:1a:24:c5:33:e1:d4:f0:ac:d5:2c:67:da:a7:
         5d:ee:eb:d6:7a:a7:41:e8:94:7a:34:43:b2:1f:ab:e9:cf:5d:
         25:49:56:18:d2:a9:49:1a:37:34:43:c7:06:96:4a:29:38:cc:
         f2:1c
-----BEGIN CERTIFICATE-----
MIIBqzCCARSgAwIBAgIBBDANBgkqhkiG9w0BAQUFADAfMR0wGwYDVQQDDBRUZXN0IEludGVybWV
kaWF0ZSBDQTAiGA8yMDE3MDEwMTAwMDAwMFoYDzIwMTgwMTAxMDAwMDAwWjAUMRIwEAYDVQQDDA
lUZXN0IENlcnQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALxM1bONkvpmrDJDGp7rF+Cqd
jUbHRBITj4ii3Uu6G+kVR4KXmDAYfF9KVh+C+8pvq3490PIWJUUWx2vSriQnk7sTrOGermWwTTT
uaZX35u92d1nFVTUn2W4MylZuprGdeqldj2kVw/i5MORNR1u/2F9wlMjZrKoC+HHVUjFK019AgM
BAAEwDQYJKoZIhvcNAQEFBQADgYEAGLuT2SrgNGkvllesVayngwS0vCJ/X/fA3KyvE5uGfqwCjE
SDLsD6oXcd3YYxfpiTwE+yPb4wb6X8xy6xuAjSF8tgVb9a4JTzHUT6sS8aJMUz4dTwrNUsZ9qnX
e7r1nqnQeiUejRDsh+r6c9dJUlWGNKpSRo3NEPHBpZKKTjM8hw=
-----END CERTIFICATE-----

$ openssl asn1parse -i < [OCSP REQUEST]
    0:d=0  hl=2 l=  66 cons: SEQUENCE          
    2:d=1  hl=2 l=  64 cons:  SEQUENCE          
    4:d=2  hl=2 l=  62 cons:   SEQUENCE          
    6:d=3  hl=2 l=  60 cons:    SEQUENCE          
    8:d=4  hl=2 l=  58 cons:     SEQUENCE          
   10:d=5  hl=2 l=   9 cons:      SEQUENCE          
   12:d=6  hl=2 l=   5 prim:       OBJECT            :sha1
   19:d=6  hl=2 l=   0 prim:       NULL              
   21:d=5  hl=2 l=  20 prim:      OCTET STRING      [HEX DUMP]:449B1C5B31C6E9990966523E49C3F773C024190A
   43:d=5  hl=2 l=  20 prim:      OCTET STRING      [HEX DUMP]:FC6D3387CC3B39B049C755C46DF4395548930BCE
   65:d=5  hl=2 l=   1 prim:      INTEGER           :04
-----BEGIN OCSP REQUEST-----
MEIwQDA+MDwwOjAJBgUrDgMCGgUABBREmxxbMcbpmQlmUj5Jw/dzwCQZCgQU/G0zh8w7ObBJx1X
EbfQ5VUiTC84CAQQ=
-----END OCSP REQUEST-----
