Thank you Steve for your kindly clarification. However, I have a concern if
the digest of X509_CINF could also be called as certificate thumbprint?

Can i find out the defination in any standard document. I try to google it,
i did not get any result.


2009/1/18 Dr. Stephen Henson <st...@openssl.org>

> On Sun, Jan 18, 2009, Anri Lau wrote:
>
> > Hi all
> >
> > I use the following code piece to create the digest of certificate
> >
> >     p = *p_key_buf;*
> > *    /* get the certificate body as a DER string */
> >     if ( i2d_X509_CINF(m_x509->cert_info, &p) == 0 )
> >     {
> >         printf("Ci2d_X509_CINF failed\n");
> >         return;
> >     }
> >     length = p - p_key_buf;
> >     if ( length > 8192 )
> >     {
> >         printf("i2d_X509_CINF value exceeds buffer length");
> >         return ;
> >     }
> >     SHA1_Init(&SHA);
> >     SHA1_Update(&SHA, p_key_buf, length);
> >     SHA1_Final(sha_value, &SHA);
> > *
> > And the result of above code is different from X509_digest() 's. My
> openssl
> > version is 0.9.8f.
> >
> > Is it correct?
> >
>
> Your code isn't taking the digest of the whole certificate just the
> X509_CINF
> portion. If you want the whole certificate use i2d_X509 on m_x509.
>
> Your length checking code is also broken: it check the length *after* the
> buffer may have already been overwritten.
>
> Steve.
> --
> Dr Stephen N. Henson. Email, S/MIME and PGP keys: see homepage
> OpenSSL project core developer and freelance consultant.
> Homepage: http://www.drh-consultancy.demon.co.uk
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> User Support Mailing List                    openssl-users@openssl.org
> Automated List Manager                           majord...@openssl.org
>



-- 
Best regards to you and your family

Reply via email to