Check for valid public key identifier.
authorPekka Riikonen <priikone@silcnet.org>
Mon, 18 Jun 2007 05:21:06 +0000 (05:21 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Mon, 18 Jun 2007 05:21:06 +0000 (05:21 +0000)
CHANGES
lib/silcapputil/silcapputil.c

diff --git a/CHANGES b/CHANGES
index 33b48e66d86eb4edf9e4b7e963100ec01d645401..a456045e9167c7327c7457ca1633666d5bb5e467 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,8 @@
+Mon Jun 18 08:14:26 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed silc_create_key_pair to check for valid identifier.
+         Affected file is lib/silcapputil/silcapputil.c.
+
 Sun Jun 17 20:08:26 CEST 2007  Jochen Eisinger <coffee@silcnet.org>
 
        * Rewrite signed public message handling, adopting the new
index 6ecdd14352aebcd65b9a831c8d7183356eb49525..833f40e29b4d230eeb1d1b24120b43d2fb746b13 100644 (file)
@@ -146,6 +146,12 @@ New pair of keys will be created.  Please, answer to following questions.\n\
     silc_free(def);
   }
 
+  if (!strstr(identifier, "UN=") || !strstr(identifier, "HN=")) {
+    fprintf(stderr, "Invalid public key identifier.  You must specify both "
+           "UN and HN\n");
+    return FALSE;
+  }
+
   rng = silc_rng_alloc();
   silc_rng_init(rng);
   silc_rng_global_init(rng);
@@ -202,12 +208,14 @@ New pair of keys will be created.  Please, answer to following questions.\n\
     return FALSE;
 
   /* Save public key into file */
-  silc_pkcs_save_public_key(pkfile, public_key, SILC_PKCS_FILE_BASE64);
+  if (!silc_pkcs_save_public_key(pkfile, public_key, SILC_PKCS_FILE_BASE64))
+    return FALSE;
 
   /* Save private key into file */
-  silc_pkcs_save_private_key(prvfile, private_key,
-                            (const unsigned char *)pass, strlen(pass),
-                            SILC_PKCS_FILE_BIN, rng);
+  if (!silc_pkcs_save_private_key(prvfile, private_key,
+                                 (const unsigned char *)pass, strlen(pass),
+                                 SILC_PKCS_FILE_BIN, rng))
+    return FALSE;
 
   if (return_public_key)
     *return_public_key = public_key;