>       From: owner-openssl-us...@openssl.org On Behalf Of Rodrigo Canellas
>       Sent: Wednesday, 22 April, 2009 09:30
<snip long quote, including PKCS7 containing entity and CA certs>

>       I tried to use the other certificate in the PKCS#7 file, and this
time 
> I got an error that clearly tells me I am using a bad signature: 
> "Error number '67596392', which means 
> 'error:04077068:rsa routines:RSA_verify:bad signature', while verifying
the signature", 
> instead of the error "67567722", which is translated to: 
> "error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is
not 01".

Do you mean you are using the pubkey from the second cert,
with the signature value from the first cert as before?

>       Isn't it possible that the error "67567722" means something
different from 
> "> In this case you are using the wrong signature altogether.", 
> as Dr. Stephen N. Henson pointed out?

Not really. As I said before, the signature in the entity cert
is the signature OF THAT CERT'S BODY BY THE CA (KEY&) CERT.

Using cert1.signature and cert1.body.pubkey couldn't even 
RSA-decrypt the signature as it failed PKCS1 checking,
because that's not the right key for that sigvalue.

If you used cert1.signature and cert2.body.pubkey 
then the signature will RSA-decrypt OK (no PKCS1 problem)
but it will only match (and verify) the data in cert1.body 
because that's the data it signed.

If you want to verify a signature of data by (the key in) cert1, 
which is what you said you wanted, you have to use:
- rawsigneddata = hash of the file (as you had before)
- signaturevalue = THE SIGNATURE OF THE FILE
- pubkey = (internalized) cert1.pubkey

If you want to verify cert1 itself (under cert2) use:
- rawsigneddata = hash of the certinfo part of cert1
- signaturevalue = cert1.signature
- pubkey = (internalized) cert2.pubkey

I don't see how I say it any clearer than that.



______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to