This is the bug fix I found:
--- openssl-1.0.0e/crypto/asn1/t_x509.c 2011-09-19 11:26:44
+++ openssl-patches/1.0.0/crypto/asn1/t_x509.c 2011-09-19 16:57:11
@@ -141,5 +141,5 @@
{
l=ASN1_INTEGER_get(bs);
- if (l < 0)
+ if (bs->type == V_ASN1_NEG_INTEGER)
{
l= -l;
Explanation:
The ASN1 integer serialNumber is negative if and only if its type is
V_ASN1_NEG_INTEGER.
Therefore the check (l < 0) is not applicable here. Full stop.
A closer look shows that the conversion procedure ASN1_INTEGER_get
returns a negative long in case the serial is greater 231-1, e.g.
0xAA121314.
Regards,
Ann.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [email protected]