summaryrefslogtreecommitdiff
path: root/crypto/asn1/n_pkey.c
diff options
context:
space:
mode:
authorsteve <steve>2000-05-24 13:09:55 +0000
committersteve <steve>2000-05-24 13:09:55 +0000
commit962f30b55533e6aa1fd4e8815cda8f265d6fe2e6 (patch)
treea8fd6c7f80180a4a59e5d64ebf0a51b34cb284f9 /crypto/asn1/n_pkey.c
parent62e7b3135dcdfd945f8a88ebf344e5150db8e07f (diff)
downloadopenssl-962f30b55533e6aa1fd4e8815cda8f265d6fe2e6.tar.gz
Add DSA library string. Workaround for IIS .key file invalid
ASN1 encoding.
Diffstat (limited to 'crypto/asn1/n_pkey.c')
-rw-r--r--crypto/asn1/n_pkey.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/crypto/asn1/n_pkey.c b/crypto/asn1/n_pkey.c
index d804986b7..5a7d494ff 100644
--- a/crypto/asn1/n_pkey.c
+++ b/crypto/asn1/n_pkey.c
@@ -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);
}