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]

Reply via email to