* keygen.c (generate_keypair): Create an AUTHKEYTYPE entry for cards.
[gnupg.git] / g10 / keyid.c
index 49a316d..ea0632d 100644 (file)
@@ -62,7 +62,7 @@ do_fingerprint_md( PKT_public_key *pk )
 
     gcry_md_open (&md, pk->version < 4 ? DIGEST_ALGO_RMD160
                                        : DIGEST_ALGO_SHA1, 0);
-    gcry_md_start_debug (md,"keyid");
+
     n = pk->version < 4 ? 8 : 6;
     for(i=0; i < npkey; i++ ) {
        size_t nbytes;
@@ -575,4 +575,33 @@ fingerprint_from_sk( PKT_secret_key *sk, byte *array, size_t *ret_len )
 }
 
 
+/* Create a serialno/fpr string from the serial number and the secret
+ * key.  caller must free the returned string.  There is no error
+ * return. */
+char *
+serialno_and_fpr_from_sk (const unsigned char *sn, size_t snlen,
+                          PKT_secret_key *sk)
+{
+  unsigned char fpr[MAX_FINGERPRINT_LEN];
+  size_t fprlen;
+  char *buffer, *p;
+  int i;
+  
+  fingerprint_from_sk (sk, fpr, &fprlen);
+  buffer = p= xmalloc (snlen*2 + 1 + fprlen*2 + 1);
+  for (i=0; i < snlen; i++, p+=2)
+    sprintf (p, "%02X", sn[i]);
+  *p++ = '/';
+  for (i=0; i < fprlen; i++, p+=2)
+    sprintf (p, "%02X", fpr[i]);
+  *p = 0;
+  return buffer;
+}
+
+
+
+
+
+
+