Hi
Reading opernSSL source code (ver.0.9.4), I found some strange
places which might be bugs. Here they are.
in pkcs7/pk7_lib.c
==============
X509 *PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si)
{
if (PKCS7_type_is_signed(p7))
return(X509_find_by_issuer_and_serial(p7->d.sign->cert,
si->issuer_and_serial->issuer,
si->issuer_and_serial->serial));
else
return(NULL);
}
I suppose it should also check for "PKCS7_type_is_signedAndEnveloped(p7)".
in pkcs7/verify.c
============
for (i=0; i<sk_PKCS7_SIGNER_INFO_num(sk); i++)
{
ASN1_UTCTIME *tm;
char *str1,*str2;
si=sk_PKCS7_SIGNER_INFO_value(sk,i);
i=PKCS7_dataVerify(cert_store,&cert_ctx,p7bio,p7,si);
if (i <= 0)
goto err;
......
}
Note, that it uses loop variable "i" for checking the ret code of
"PKCS7_dataVerify".
Mike
---
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mikhail Blinov
Teltec UCD-CS
Computer Science Dept, University College Dublin, Dublin 4, Ireland
Tel: +353-(1)-7062486 Fax: +353-(1)-2697262
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]