Add DSA library string. Workaround for IIS .key file invalid
authorDr. Stephen Henson <steve@openssl.org>
Wed, 24 May 2000 13:09:59 +0000 (13:09 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Wed, 24 May 2000 13:09:59 +0000 (13:09 +0000)
ASN1 encoding.

CHANGES
crypto/asn1/n_pkey.c
crypto/err/err.c

diff --git a/CHANGES b/CHANGES
index b1b2850c1aeb90f6b9e8e5c6129aa607c2d8d88f..bc4f2218d6d192a0341b7f6c96412866f88e5ac0 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,10 @@
 
  Changes between 0.9.5a and 0.9.6  [xx XXX 2000]
 
+  *) Add missing DSA library text string. Work around for some IIS
+     key files with invalid SEQUENCE encoding.
+     [Steve Henson]
+
   *) Add a document (doc/standards.txt) that list all kinds of standards
      and so on that are implemented in OpenSSL.
      [Richard Levitte]
index d804986b73bf6b9e65c6545871f15968a5839f39..5a7d494ff06f39501b776bcf5939379f5cd0a6df 100644 (file)
@@ -211,7 +211,11 @@ RSA *d2i_Netscape_RSA(RSA **a, unsigned char **pp, long length, int (*cb)())
        M_ASN1_BIT_STRING_free(os);
        c.q=c.p;
        if ((ret=d2i_Netscape_RSA_2(a,&c.p,c.slen,cb)) == NULL) goto err;
-       c.slen-=(c.p-c.q);
+       /* Note: some versions of IIS key files use length values that are
+        * too small for the surrounding SEQUENCEs. This following line
+        * effectively disable length checking.
+        */
+       c.slen = 0;
 
        M_ASN1_D2I_Finish(a,RSA_free,ASN1_F_D2I_NETSCAPE_RSA);
        }
index 0944cc220ef6b30255f1b941da6b6eb001d1e20a..b0ee24c3249c8ca36df076a5441c058f14f70df9 100644 (file)
@@ -137,6 +137,7 @@ static ERR_STRING_DATA ERR_str_libraries[]=
 {ERR_PACK(ERR_LIB_SYS,0,0)             ,"system library"},
 {ERR_PACK(ERR_LIB_BN,0,0)              ,"bignum routines"},
 {ERR_PACK(ERR_LIB_RSA,0,0)             ,"rsa routines"},
+{ERR_PACK(ERR_LIB_DSA,0,0)             ,"dsa routines"},
 {ERR_PACK(ERR_LIB_DH,0,0)              ,"Diffie-Hellman routines"},
 {ERR_PACK(ERR_LIB_EVP,0,0)             ,"digital envelope routines"},
 {ERR_PACK(ERR_LIB_BUF,0,0)             ,"memory buffer routines"},