Is a valid response for the cert with a SHA256 signature

$ 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: good
    This Update: Mar  1 00:00:00 2017 GMT

    Signature Algorithm: sha256WithRSAEncryption
         98:ea:a9:43:05:8e:89:c8:ba:9d:c0:85:bb:ce:5a:79:d1:5a:
         cf:58:62:9d:c6:6d:dc:17:39:7c:47:2a:3b:ce:7d:e0:3d:07:
         05:ee:83:aa:37:21:17:de:8e:a3:38:b2:f2:09:cc:f6:6a:dc:
         bc:67:3c:bf:15:10:18:08:27:2f:66:c0:27:e2:d0:99:9c:7f:
         5f:3b:e4:64:e5:db:63:53:50:a5:ce:ef:c7:f3:1d:b9:11:be:
         d3:fc:68:be:cd:c3:8a:4d:88:ce:c7:e7:f3:a2:f7:6f:f6:8e:
         a7:bb:82:b2:cd:b5:2d:f9:75:d5:be:95:03:53:39:4c:08:0b:
         8d:bc
-----BEGIN OCSP RESPONSE-----
MIIBOQoBAKCCATIwggEuBgkrBgEFBQcwAQEEggEfMIIBGzCBhaEhMB8xHTAbBgNVBAMMFFRlc3Q
gSW50ZXJtZWRpYXRlIENBGA8yMDE3MDMwMjAwMDAwMFowTzBNMDgwBwYFKw4DAhoEFESbHFsxxu
mZCWZSPknD93PAJBkKBBT8bTOHzDs5sEnHVcRt9DlVSJMLzgIBBIAAGA8yMDE3MDMwMTAwMDAwM
FowDQYJKoZIhvcNAQELBQADgYEAmOqpQwWOici6ncCFu85aedFaz1hincZt3Bc5fEcqO8594D0H
Be6DqjchF96Ooziy8gnM9mrcvGc8vxUQGAgnL2bAJ+LQmZx/XzvkZOXbY1NQpc7vx/MduRG+0/x
ovs3Dik2Izsfn86L3b/aOp7uCss21Lfl11b6VA1M5TAgLjbw=
-----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-----
