[svn] ksba - r298 - trunk/src

svn author wk cvs at cvs.gnupg.org
Thu Jan 8 20:52:54 CET 2009


Author: wk
Date: 2009-01-08 20:52:54 +0100 (Thu, 08 Jan 2009)
New Revision: 298

Modified:
   trunk/src/ChangeLog
   trunk/src/keyinfo.c
Log:
Fix segv for certain DSA certificates.


Modified: trunk/src/ChangeLog
===================================================================
--- trunk/src/ChangeLog	2008-11-12 18:25:52 UTC (rev 297)
+++ trunk/src/ChangeLog	2009-01-08 19:52:54 UTC (rev 298)
@@ -1,3 +1,13 @@
+2009-01-08  Werner Koch  <wk at g10code.com>
+
+	* keyinfo.c (get_algorithm): Initialize R_PARM_POS, R_PARM_LEN and
+	R_PARM_TYPE.
+
+2009-01-06  Werner Koch  <wk at g10code.com>
+
+	* keyinfo.c (sig_algo_table): Fix TeleTrust dsaWithRIPEMD160
+	encoding.  Add TeleTrust sigS_ISO9796-2rndWithrsa_ripemd160.
+
 2008-10-30  Werner Koch  <wk at g10code.com>
 
 	* ber-dump.c (one_file): Mark unused arg.

Modified: trunk/src/keyinfo.c
===================================================================
--- trunk/src/keyinfo.c	2008-11-12 18:25:52 UTC (rev 297)
+++ trunk/src/keyinfo.c	2009-01-08 19:52:54 UTC (rev 298)
@@ -115,7 +115,7 @@
     1, PKALGO_DSA, "dsa", "-rs", "\x30\x02\x02", NULL, NULL, "sha1" }, 
   { /* Teletrust signature algorithm.  */
     "1.3.36.8.5.1.2.2", /* dsaWithRIPEMD160 */
-    "\x06\x07\x2B\x24\x08\x05\x01\x02\x02", 9,
+    "\x2b\x24\x08\x05\x01\x02\x02", 7,
     1, PKALGO_DSA, "dsa", "-rs", "\x30\x02\x02", NULL, NULL, "rmd160" }, 
   { /* NIST Algorithm */
     "2.16.840.1.101.3.4.3.1", /* dsaWithSha224 */
@@ -192,6 +192,13 @@
     "\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0d", 9,
     1, PKALGO_RSA, "rsa", "s", "\x82", NULL, NULL, "sha512" },
 
+  { /* TeleTrust signature scheme with RSA signature and DSI according
+       to ISO/IEC 9796-2 with random number and RIPEMD-160.  I am not
+       sure for what this is good; thus disabled. */
+    "1.3.36.3.4.3.2.2",     /* sigS_ISO9796-2rndWithrsa_ripemd160 */
+    "\x2B\x24\x03\x04\x03\x02\x02", 7,
+    0, PKALGO_RSA, "rsa", "s", "\x82", NULL, NULL, "rmd160" },
+  
   {NULL}
 };
 
@@ -336,6 +343,12 @@
   unsigned long seqlen, len;
 
   *r_bitstr = 0;
+  if (r_parm_pos)
+    *r_parm_pos = 0;
+  if (r_parm_len)
+    *r_parm_len = 0;
+  if (r_parm_type)
+    *r_parm_type = 0;
   /* get the inner sequence */
   if (!derlen)
     return gpg_error (GPG_ERR_INV_KEYINFO);




More information about the Gnupg-commits mailing list