On 14 nov. 2012, at 18:42, Dirk-Willem van Gulik <di...@webweaving.org> wrote:

> Have a CA (created by certtool, validates in openssl as self signed just 
> fine) and a server cert (created with certtool, signed with certool) which 
> des NOT validate in openssl.
> 
> However the signature (when extracted with openssl its asn1parse; openssl its 
> rsautl and openssl its sha256) looks correct. 
> 
> And it seems to be accepted by the NSS and apple their stack.

As well as java its native and bouncy-castle stack. So this starts to feel a 
bit like a openssl bug.

> Any suggestions? Not unlikely this is sha256 specific - as that is what 
> triggered this.
> 
> Tried against 1.0.1c  and 0.9.8q (with the latter of course not do the 
> SHA256).
> 
> Thanks.
> 
> Dw.
> 
> $ openssl verify -CAfile ca.pem ca.pem
> 
>       ca.pem: OK
> 
> $ openssl verify -CAfile ca.pem x.pem
> 
>       x.pem: O = MedVision360 Test Org, CN = svc01.local
>       error 7 at 0 depth lookup:certificate signature failure
>       140735152787932:error:04091077:rsa routines:INT_RSA_VERIFY:wrong 
> signature length:rsa_sign.c:175:
>       140735152787932:error:0D0C5006:asn1 encoding 
> routines:ASN1_item_verify:EVP lib:a_verify.c:215:
> 
> Which errors out. Extracting the signature manually with
> 
> $ openssl asn1parse -in x.pem -out x.sig -noout -strparse 828 
> $ openssl x509 -in x.pem -pubkey -noout > x.rsa
> $ openssl rsautl -in x.sig -verify -asn1parse -inkey x.rsa -pubin
> $ openssl asn1parse -in x.pem -out x.tbs -noout -strparse 4
>    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 - 73 87 b0 9d e8 15 9f fb-ce af 3d ef 18 33 b3 04   s.........=..3..
>      0010 - 28 64 b5 85 e9 88 91 69-e9 74 2a e6 45 ea 63 62   (d.....i.t*.E.cb
> $ openssl sha256 -c x.tbs
> SHA256(x.tbs)= 
> 73:87:b0:9d:e8:15:9f:fb:ce:af:3d:ef:18:33:b3:04:28:64:b5:85:e9:88:91:69:e9:74:2a:e6:45:ea:63:62
> 
> looks actually good. As does the ANS1 it seems


#!/bin/sh
cat > ca.pem <<EOM
-----BEGIN CERTIFICATE-----
MIIEmjCCA1KgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBnjEUMBIGA1UEBhMLTmV0
aGVybGFuZHMxHjAcBgNVBAoTFU1lZFZpc2lvbjM2MCBUZXN0IE9yZzETMBEGA1UE
CxMKT3BlcmF0aW9uczEPMA0GA1UEBxMGTGVpZGVuMQswCQYDVQQIEwJaSDERMA8G
A1UEAxMIbWFuYWdlMDExIDAeBgoJkiaJk/IsZAEBExBNZWRWaXNpb24zNjBUZXN0
MB4XDTEyMTExNDE1NTExNloXDTM0MDMyNDE1NTExNlowgZ4xFDASBgNVBAYTC05l
dGhlcmxhbmRzMR4wHAYDVQQKExVNZWRWaXNpb24zNjAgVGVzdCBPcmcxEzARBgNV
BAsTCk9wZXJhdGlvbnMxDzANBgNVBAcTBkxlaWRlbjELMAkGA1UECBMCWkgxETAP
BgNVBAMTCG1hbmFnZTAxMSAwHgYKCZImiZPyLGQBARMQTWVkVmlzaW9uMzYwVGVz
dDCCAVIwDQYJKoZIhvcNAQEBBQADggE/ADCCAToCggExAL+1c8zar0gKXX2MiHn3
CHde2aDi6clEeeYelFDKA53tht54yqRUWLiGnCkeVgCz943FUkyR42cKOemVIgzr
rWoh/OlJBxNKVCnOFCONT9cU9yuoM67y7grSwLPPAu9icSvNgB8Mx6i+ffkUDuJi
tqAEuBX3pkmtfSl6xCOq4eO2Mvye8RKh16hKqX+JON5v8l8In0kO265Q17k7E11Z
uXNFRaNG1CiTw07fTCWLhwhFDu7bDSqzcyY4aXwV5FYacOzQmMKyDn8srWPz73WO
dQ9wEJPgZ5B/01ZwJD7wMGck4zpTUq8sw2Db7VVLfiBdWanCDLYRjfa2lq8SBW4Z
4jrhw1e8CI1NM+ZkXIn8Ia+IY636atTG1IGE5fXlRmBNZd8m+Ocg3Ugyu0ak+u4y
OWcCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wGgYDVR0RBBMwEYEPcm9vdEBs
b2NhbGhvc3QgMB0GA1UdDgQWBBQh8IYoZPiXBhK3PEedxwmig64ovTAwBgNVHR8E
KTAnMCWgI6Ahhh9odHRwOi8vY2EubWVkdmlzaW9uLm9yZy9nZXRjcmwvMA0GCSqG
SIb3DQEBCwUAA4IBMQBAU6Wzex1UMMfpjY07qO0IdyRRAD5qfxLmosT8xACqMUFC
jUy9ckvLm2lPgUk4P7zkIuVn4r52cGQNthCIhmuYQ0fBz4h4Xm7NIOrSkI9oN12m
UWd3dv8zesP5FWoKtS57w/w+gEpjgyKUHPSVZdIJlIW0J6eFTwGonxcdsM/yWFRD
zbyNSYNT/aNqkaO/vn3S8LvV58AnGZXyU2Ck/N5xmk7DS+CLR2Nk6VAXNF/oIygb
1arPsWJIbrysHw2SbpKbZYG7CL8STm8/4oRtelUFT8uvPkpsLOB1e1RSbo7lc5o2
MAutVoFffz0LKISQ8AGH4q+SnT2k/HWRjqDuGz7sumVQ3i0NWcUA9nXhtMJCG7QO
lMSrO6OEcHx674rUNmo2W38LChvJMe10ec0W9qNc
-----END CERTIFICATE-----
EOM

cat > x.pem <<EOM
-----BEGIN CERTIFICATE-----
MIIEPTCCAyWgAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBnjEUMBIGA1UEBhMLTmV0
aGVybGFuZHMxHjAcBgNVBAoTFU1lZFZpc2lvbjM2MCBUZXN0IE9yZzETMBEGA1UE
CxMKT3BlcmF0aW9uczEPMA0GA1UEBxMGTGVpZGVuMQswCQYDVQQIEwJaSDERMA8G
A1UEAxMIbWFuYWdlMDExIDAeBgoJkiaJk/IsZAEBExBNZWRWaXNpb24zNjBUZXN0
MB4XDTEyMTExNDE2NDIzM1oXDTM0MDMyNDE2NDIzM1owNjEeMBwGA1UEChMVTWVk
VmlzaW9uMzYwIFRlc3QgT3JnMRQwEgYDVQQDEwtzdmMwMS5sb2NhbDCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBANXXd/mo9KTadZqinXDmApo0Nh4lokCb
kdRWkdKQgPo1j0VTYRBdv5qEZsy4wE1mu5Z4uMrK//aU6ZyAn261pJueqwsNSljF
AAoX86vFmmybuJ3ubazkcH6wOv4pF1vrMtZwdXazxA6jiqevvTOI7EOMmEwW3BDw
xbFjR67WETrK5r6ohSX7pdZCIjShnO1timad8zMY+2iBM0UiM3MwLyhEgqyYlumd
uzQNs10Iz7qgnL2Hlq/MVbcazFUgup/QSiMioXazsO88nMVhnh9YdAdhxqKN6xzW
0w/bieOwfKJHEFosvK19wHvxgepFpFuy2J83s+CoLm9aEHi2Xk6dhAMCAwEAAaOB
7DCB6TAjBgNVHREEHDAaggtzdmMwMS5sb2NhbIILc3ZjMDEubG9jYWwwDAYDVR0T
AQH/BAIwADAPBgNVHQ8BAf8EBQMDB6AAMDEGA1UdJQQqMCgGCCsGAQUFBwMCBggr
BgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBQDCveQj8OFuRbc
ZMLONGOLrmdo8DAfBgNVHSMEGDAWgBQh8IYoZPiXBhK3PEedxwmig64ovTAwBgNV
HR8EKTAnMCWgI6Ahhh9odHRwOi8vY2EubWVkdmlzaW9uLm9yZy9nZXRjcmwvMA0G
CSqGSIb3DQEBCwUAA4IBAQCfKE2n1feT7b3bepsePOx7LAStmRum0DPtBEpJ/o0U
7RN/xuEPou0DkPgQ17pcsJ9ZlxVvQB7N5ZHqiBMRyOYlaWxSgtUbHC+NxlET6Px0
otouiKlEAK2JvTDdfI+30Idg2nsUlMB4Y19HCTxkoe+5ji0JzLQSUgND2V2bHeEK
q+UK0qzEemdOedm16YzqVq1g3bJqNDk2RtPJj048GUmGlXWJKEfUqIFr+mfgto5t
chBcXETcNzh0wD2spT7EOTf6/4T96XAypVt2mH5P6SckVSClh/29cOh4ChnwqvsB
8SXKqj3Szr4uaBgGVHSFeRDqhKPNXAb/j76H2evm7sHy
-----END CERTIFICATE-----
EOM

set -x
openssl verify -CAfile ca.pem ca.pem
openssl verify -CAfile ca.pem x.pem
openssl asn1parse -in x.pem -out x.sig -noout -strparse 828 
openssl x509 -in x.pem -pubkey -noout > x.rsa
openssl rsautl -in x.sig -verify -asn1parse -inkey x.rsa -pubin
openssl asn1parse -in x.pem -out x.tbs -noout -strparse 4
openssl sha256 -c x.tbs

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

Reply via email to