On Wed, May 29, 2002 at 12:57:20PM -0700, Bob Steele wrote:
> So, with the callback in place, I do indeed get more detailed errors.
> I've added the lines of dashes for clarity, and numbered each block of
> the verify debug so I can refer to them below:
> 
> [1]
> depth=2 /C=US/O=VeriSign, Inc./OU=Class 1 Public Primary Certification
> Authority 
> verify return:1
> ------------------------------------------------------------------------
> [2]
> depth=1 /O=VeriSign, Inc./OU=VeriSign Trust Network/OU=www.verisign.co
> m/repository/RPA Incorp. By Ref.,LIAB.LTD(c)98/CN=VeriSign Class 1 CA
> Individual Subscriber-Persona Not Validated
> verify return:1
> -----------------------------------------------------------------------
> [3]
> depth=0 /O=VeriSign, Inc./OU=VeriSign Trust Network/OU=www.verisign.co
> m/repository/RPA Incorp. by Ref.,LIAB.LTD(c)98/OU=Persona Not Validated
> /OU=Digital ID Class 1 - Microsoft Full Service/CN=Robert Steele/Email=
> [EMAIL PROTECTED]
> verify error:num=10:certificate has expired
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> verify return:1
> -----------------------------------------------------------------------
> [4]
> depth=0 /O=VeriSign, Inc./OU=VeriSign Trust Network/OU=www.verisign.co
> m/repository/RPA Incorp. by Ref.,LIAB.LTD(c)98/OU=Persona Not Validate
> d/OU=Digital ID Class 1 - Microsoft Full Service/CN=Robert Steele/Emai
> [EMAIL PROTECTED]
> verify return:1
> -----------------------------------------------------------------------
> 
> Now, obviously #3 is a certificate that has expired - but are 1,2, and
> 4 references to other, distinct certificates that are valid? I don't see
> any way to distinguish these Certificates from each other at this level.
You are referencing 4 messages from 3 certificates. The "depth" info informs
you about the nesting level. depth=0 is your certificate, depth=1 is an
intermediate certificate, depth=2 ist the root certificate. Your certificate
is expired.

> Part of my problem clearly is I do not know which of these certificates,
> if any, is the one I would need to use to validate my signature. Is it 
> possible to examine my signing certificate, determine which CA
> certificate
> was used to sign it, and then download it from VeriSign? This would make
> my testing much clearer, I think.
??? Your chain is complete...

> Anyhow, adding the callback routine now changes the error I get back
> from
> OpenSSL:
> 
> 1904:error:04077068:rsa routines:RSA_verify:bad signature:.\crypto\rs
> a\rsa_sign.c:210:
> 1904:error:21071069:PKCS7 routines:PKCS7_signatureVerify:signature fail
> ure:.\crypto\pkcs7\pk7_doit.c:806:
> 
> (If I'm right that adding the callback has changed behavior, why is
> this?)

I don't know. I am as surprised as you are.

> It seems to be complaining that the signature itself is bad. (This is 
> certainly possible. Although it was a VeriSign product that produced the
> signature, I may be presenting the detached data it is signing off on
> incorrectly.) 

In order to help you in testing, I would recommend you to use the
"openssl verify" command line utility. This way problems with the
certificates will become independent from problems with your
implementation.

Best regards,
        Lutz
-- 
Lutz Jaenicke                             [EMAIL PROTECTED]
http://www.aet.TU-Cottbus.DE/personen/jaenicke/
BTU Cottbus, Allgemeine Elektrotechnik
Universitaetsplatz 3-4, D-03044 Cottbus
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to