... just little P.S.:
the -pkeyopt digest:sha256 is probably (?) necessary while the
signatureAlgorithm in SIgnerInfo is "sha256WithRSAEncryption"
I have another TS reply (from Comodo) and there is only "rsaEncryption"
I thing there the verification will work vice versa only without the -pkeyopt.
And about the HASH - the correct command I had mean:
$ hexdump -C <signedAttrs-with-SET.sha256
00000000 9a 06 83 c6 8f f4 50 76 8f e7 91 e4 34 7b fb 39 |......Pv....4{.9|
00000010 79 3a 80 93 b2 0b 2d a9 07 0f 34 a4 ba 46 9f 67 |y:....-...4..F.g|
$ openssl pkeyutl -verifyrecover -in sig -certin -inkey cert.pem -asn1parse
0:d=0 hl=2 l= 49 cons: SEQUENCE
2:d=1 hl=2 l= 13 cons: SEQUENCE
4:d=2 hl=2 l= 9 prim: OBJECT :sha256
15:d=2 hl=2 l= 0 prim: NULL
17:d=1 hl=2 l= 32 prim: OCTET STRING
0000 - 9a 06 83 c6 8f f4 50 76-8f e7 91 e4 34 7b fb 39 ......Pv....4{.9
0010 - 79 3a 80 93 b2 0b 2d a9-07 0f 34 a4 ba 46 9f 67 y:....-...4..F.g
Ones more thank
--kapetr
----- PŮVODNÍ ZPRÁVA -----
Od: "kapetr" <[email protected]>
Komu: [email protected], [email protected]
Předmět: RE: how to (more manually) verify signature in SignedData ?
Datum: 22.1.2013 - 11:55:16
> Hello,
>
> ----- PŮVODNÍ ZPRÁVA -----
> Od: "Dave Thompson" <[email protected]>
> Komu: [email protected]
> Předmět: RE: how to (more manually) verify signature in SignedData ?
> Datum: 22.1.2013 - 0:33:35
>
> > >
> > The RSA-signed value is not just the hash, but a small
> > structure encoding it, and pkeyutl needs to be told that.
> > Add (at the end) -pkeyopt digest:sha256 .
>
> $ openssl pkeyutl -verify -in signedAttrs-with-SET.sha256 -sigfile sig
> -certin -inkey cert.pem -pkeyopt digest:sha256
> Signature Verified Successfully
> $
>
> Yes :-)))
>
> > Since you're using RSA, you can see this by (instead) doing
> > pkeyutl -verifyrecover -in sig -certin&inkey -hexdump .
> > You'll see a SEQUENCE of AlgID which is OID=sha256,NULL
> > and OCTET STRING which is the actual hash value.
>
>
> $ openssl pkeyutl -verifyrecover -in sig -certin -inkey cert.pem -hexdump
> 0000 - 30 31 30 0d 06 09 60 86-48 01 65 03 04 02 01 05 010...`.H.e.....
> 0010 - 00 04 20 9a 06 83 c6 8f-f4 50 76 8f e7 91 e4 34 .. ......Pv....4
> 0020 - 7b fb 39 79 3a 80 93 b2-0b 2d a9 07 0f 34 a4 ba {.9y:....-...4..
> 0030 - 46 9f 67 F.g
>
> $ hexdump <signedAttrs-with-SET.sha256
> 0000000 069a c683 f48f 7650 e78f e491 7b34 39fb
> 0000010 3a79 9380 0bb2 a92d 0f07 a434 46ba 679f
>
> Yes - in hash is only little/big-endian encoding difference.
>
>
> Thank you very much for help!
>
> Best regards
>
> --kapetr
>
>
>
> --
> - - Reklama - - - - - - - - - - - - - -
> Battlestar Galactica Online - kultovní série v nové dimenzi! Člověk proti
> Cylonům - vypravte se do bitvy ve vesmíru a zažij akční hru MMOG v pravém 3D
> na http://bit.ly/J4Fcer
>
> ______________________________________________________________________
> OpenSSL Project http://www.openssl.org
> User Support Mailing List [email protected]
> Automated List Manager [email protected]
>
--
- - Reklama - - - - - - - - - - - - - -
Battlestar Galactica Online - kultovní série v nové dimenzi! Člověk proti
Cylonům - vypravte se do bitvy ve vesmíru a zažij akční hru MMOG v pravém 3D na
http://bit.ly/J4Fcer
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [email protected]
Automated List Manager [email protected]