Has a critical CT extension in the SingleResponse

$ 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: 7F765910653BB5704124C41E94AEFCF940431A66
      Serial Number: 04
    Cert Status: good
    This Update: Mar  1 00:00:00 2017 GMT
        Response Single Extensions:
            CT Certificate SCTs: critical
                DEADBEEF

    Signature Algorithm: sha1WithRSAEncryption
         3f:34:0c:f8:fc:b6:07:21:92:44:93:03:c9:a4:61:01:ba:eb:
         c9:82:1e:75:e5:60:12:18:70:ac:51:c6:a8:94:a1:6e:25:18:
         2a:e1:7d:1f:93:4a:04:b0:60:d1:14:2c:85:04:e3:7f:2b:d8:
         eb:10:24:bd:c1:60:3a:fc:b3:4b:40:e8:46:6e:65:09:0f:d7:
         d0:30:85:d1:58:c5:a1:56:57:2b:a6:a2:2d:f1:a5:78:27:1f:
         cf:b5:4f:46:90:50:62:24:c3:9f:8a:30:42:9e:ea:12:70:51:
         32:86:be:69:34:3b:d9:4b:2c:be:81:70:e3:0a:99:ae:ec:82:
         53:0f
-----BEGIN OCSP RESPONSE-----
MIIBVgoBAKCCAU8wggFLBgkrBgEFBQcwAQEEggE8MIIBODCBpKEhMB8xHTAbBgNVBAMMFFRlc3Q
gSW50ZXJtZWRpYXRlIENBGA8yMDE3MDMwMjAwMDAwMFowbjBsMDgwBwYFKw4DAhoEFESbHFsxxu
mZCWZSPknD93PAJBkKBBR/dlkQZTu1cEEkxB6Urvz5QEMaZgIBBIAAGA8yMDE3MDMwMTAwMDAwM
FqhHTAbMBkGCisGAQQB1nkCBAUBAf8ECERFQURCRUVGMAsGCSqGSIb3DQEBBQOBgQA/NAz4/LYH
IZJEkwPJpGEBuuvJgh515WASGHCsUcaolKFuJRgq4X0fk0oEsGDRFCyFBON/K9jrECS9wWA6/LN
LQOhGbmUJD9fQMIXRWMWhVlcrpqIt8aV4Jx/PtU9GkFBiJMOfijBCnuoScFEyhr5pNDvZSyy+gX
DjCpmu7IJTDw==
-----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
                RSA Public-Key: (1024 bit)
                Modulus:
                    00:c5:fb:81:a7:1b:6a:61:38:1c:6a:de:dd:db:22:
                    61:64:7a:22:a3:3b:1d:e5:92:54:17:ad:39:2e:fe:
                    81:ff:46:0a:70:d6:84:a5:d5:bd:05:d3:f2:a5:98:
                    90:fd:e4:ff:d8:d2:cf:7c:d1:f2:78:0d:4a:a1:80:
                    c8:6a:70:75:84:04:c1:c2:4b:af:17:9b:a2:29:2b:
                    a7:be:f1:f9:19:80:f3:6a:d4:10:28:51:38:26:97:
                    ed:ad:06:96:85:a7:b7:7c:78:38:90:44:df:d7:10:
                    e4:52:a2:49:22:6c:98:71:51:f5:b2:13:6a:7f:08:
                    34:7c:d0:c6:99:6f:79:98:f9
                Exponent: 65537 (0x10001)
    Signature Algorithm: sha1WithRSAEncryption
         7d:67:0f:39:4e:7c:e3:ba:f2:63:b9:ed:6e:ec:61:f2:8a:4f:
         1e:82:e2:4b:44:04:f8:a5:a1:5a:bc:8c:72:91:6d:bf:03:27:
         21:10:9e:5c:8a:cf:4b:87:83:e0:c2:d7:72:55:d5:42:d3:d1:
         2b:76:b3:42:84:e0:e8:3b:80:b2:5f:55:e7:e0:f6:b6:21:c6:
         fd:91:b5:c9:ba:fa:d8:ba:5c:8b:e1:f6:de:5d:cf:39:e6:92:
         22:85:31:1f:c3:ed:19:db:0a:0b:f9:ef:a7:36:4d:e1:54:af:
         8e:c0:59:25:43:e5:69:47:c4:e0:00:1e:21:eb:e6:b4:13:8f:
         30:01
-----BEGIN CA CERTIFICATE-----
MIIBqTCCARKgAwIBAgIBATANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdUZXN0IENBMCIYDzI
wMTcwMTAxMDAwMDAwWhgPMjAxODAxMDEwMDAwMDBaMB8xHTAbBgNVBAMMFFRlc3QgSW50ZXJtZW
RpYXRlIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDF+4GnG2phOBxq3t3bImFkeiKjO
x3lklQXrTku/oH/Rgpw1oSl1b0F0/KlmJD95P/Y0s980fJ4DUqhgMhqcHWEBMHCS68Xm6IpK6e+
8fkZgPNq1BAoUTgml+2tBpaFp7d8eDiQRN/XEORSokkibJhxUfWyE2p/CDR80MaZb3mY+QIDAQA
BMA0GCSqGSIb3DQEBBQUAA4GBAH1nDzlOfOO68mO57W7sYfKKTx6C4ktEBPiloVq8jHKRbb8DJy
EQnlyKz0uHg+DC13JV1ULT0St2s0KE4Og7gLJfVefg9rYhxv2Rtcm6+ti6XIvh9t5dzznmkiKFM
R/D7RnbCgv576c2TeFUr47AWSVD5WlHxOAAHiHr5rQTjzAB
-----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
                RSA Public-Key: (1024 bit)
                Modulus:
                    00:d1:d2:a7:fd:5f:56:b8:4a:4a:00:c4:f0:36:48:
                    0d:99:1e:ba:ca:8d:8c:0e:e9:5a:f4:31:94:26:f4:
                    24:77:0c:2d:76:39:fe:1e:51:9c:b1:3a:b2:61:ae:
                    f6:2b:41:46:92:81:b4:1e:35:73:bb:df:53:d6:63:
                    a4:07:58:e9:0a:40:7a:b7:71:a3:fd:7d:6a:3f:23:
                    ee:5e:76:90:3f:60:ea:85:6b:74:1b:1f:6a:40:27:
                    37:7f:ac:6e:97:ee:13:f7:cb:81:44:26:f3:25:48:
                    56:40:ef:33:84:c8:d7:52:66:8a:40:35:ed:ec:67:
                    95:c1:35:46:9e:db:9b:ce:9b
                Exponent: 65537 (0x10001)
    Signature Algorithm: sha1WithRSAEncryption
         8e:94:5a:91:44:aa:ab:e4:bf:c4:ca:a3:ee:10:67:2d:3e:d5:
         ac:b8:90:8b:4e:7f:3e:bc:83:bb:b2:c9:0c:a2:ae:fb:6c:b3:
         5d:b7:40:20:9f:9b:7c:3d:5f:67:bc:0e:f9:20:bc:24:67:27:
         a9:2e:81:08:e5:3f:ad:e9:b7:eb:a9:c5:58:55:55:f3:26:17:
         26:46:5f:ef:20:38:c9:f2:81:ba:39:d9:28:4b:e8:83:ff:d7:
         2e:87:72:36:77:0f:46:9b:a1:fe:d8:d8:20:50:68:c1:7b:66:
         82:5d:62:94:90:98:71:8b:b9:83:69:a8:65:a4:58:5d:ce:90:
         0a:53
-----BEGIN CERTIFICATE-----
MIIBqzCCARSgAwIBAgIBBDANBgkqhkiG9w0BAQUFADAfMR0wGwYDVQQDDBRUZXN0IEludGVybWV
kaWF0ZSBDQTAiGA8yMDE3MDEwMTAwMDAwMFoYDzIwMTgwMTAxMDAwMDAwWjAUMRIwEAYDVQQDDA
lUZXN0IENlcnQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANHSp/1fVrhKSgDE8DZIDZkeu
sqNjA7pWvQxlCb0JHcMLXY5/h5RnLE6smGu9itBRpKBtB41c7vfU9ZjpAdY6QpAerdxo/19aj8j
7l52kD9g6oVrdBsfakAnN3+sbpfuE/fLgUQm8yVIVkDvM4TI11JmikA17exnlcE1Rp7bm86bAgM
BAAEwDQYJKoZIhvcNAQEFBQADgYEAjpRakUSqq+S/xMqj7hBnLT7VrLiQi05/PryDu7LJDKKu+2
yzXbdAIJ+bfD1fZ7wO+SC8JGcnqS6BCOU/rem366nFWFVV8yYXJkZf7yA4yfKBujnZKEvog//XL
odyNncPRpuh/tjYIFBowXtmgl1ilJCYcYu5g2moZaRYXc6QClM=
-----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]:7F765910653BB5704124C41E94AEFCF940431A66
   65:d=5  hl=2 l=   1 prim:      INTEGER           :04
-----BEGIN OCSP REQUEST-----
MEIwQDA+MDwwOjAJBgUrDgMCGgUABBREmxxbMcbpmQlmUj5Jw/dzwCQZCgQUf3ZZEGU7tXBBJMQ
elK78+UBDGmYCAQQ=
-----END OCSP REQUEST-----
