From a1147987426a9b092b96aa75a37f4f256804373e Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Thu, 9 Nov 2006 16:11:01 +0000 Subject: [PATCH] Added silc_show_public_key_file. --- lib/silcapputil/silcapputil.c | 29 ++++++++++++++++++++--------- lib/silcapputil/silcapputil.h | 18 ++++++++++++++++-- 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/lib/silcapputil/silcapputil.c b/lib/silcapputil/silcapputil.c index 39fce81c..2e9fbe68 100644 --- a/lib/silcapputil/silcapputil.c +++ b/lib/silcapputil/silcapputil.c @@ -262,9 +262,8 @@ SilcBool silc_load_key_pair(const char *pub_filename, /* Dump public key into stdout */ -SilcBool silc_show_public_key(const char *pub_filename) +SilcBool silc_show_public_key(SilcPublicKey public_key) { - SilcPublicKey public_key; SilcSILCPublicKey silc_pubkey; SilcPublicKeyIdentifier ident; char *fingerprint, *babbleprint; @@ -272,11 +271,6 @@ SilcBool silc_show_public_key(const char *pub_filename) SilcUInt32 pk_len; SilcUInt32 key_len = 0; - if (!silc_pkcs_load_public_key((char *)pub_filename, &public_key)) { - fprintf(stderr, "Could not load public key file `%s'\n", pub_filename); - return FALSE; - } - silc_pubkey = silc_pkcs_get_context(SILC_PKCS_SILC, public_key); if (!silc_pubkey) { silc_pkcs_public_key_free(public_key); @@ -293,7 +287,6 @@ SilcBool silc_show_public_key(const char *pub_filename) fingerprint = silc_hash_fingerprint(NULL, pk, pk_len); babbleprint = silc_hash_babbleprint(NULL, pk, pk_len); - printf("Public key file : %s\n", pub_filename); printf("Algorithm : %s\n", silc_pkcs_get_name(public_key)); if (key_len) printf("Key length (bits) : %d\n", (unsigned int)key_len); @@ -317,11 +310,29 @@ SilcBool silc_show_public_key(const char *pub_filename) silc_free(fingerprint); silc_free(babbleprint); silc_free(pk); - silc_pkcs_public_key_free(public_key); return TRUE; } +/* Dump public key into stdout */ + +SilcBool silc_show_public_key_file(const char *pub_filename) +{ + SilcPublicKey public_key; + SilcBool ret; + + if (!silc_pkcs_load_public_key((char *)pub_filename, &public_key)) { + fprintf(stderr, "Could not load public key file `%s'\n", pub_filename); + return FALSE; + } + + printf("Public key file : %s\n", pub_filename); + ret = silc_show_public_key(public_key); + silc_pkcs_public_key_free(public_key); + + return ret; +} + /* Change private key passphrase */ SilcBool silc_change_private_key_passphrase(const char *prv_filename, diff --git a/lib/silcapputil/silcapputil.h b/lib/silcapputil/silcapputil.h index 3b038358..4d3b8b01 100644 --- a/lib/silcapputil/silcapputil.h +++ b/lib/silcapputil/silcapputil.h @@ -117,7 +117,21 @@ SilcBool silc_load_key_pair(const char *pub_filename, * * SYNOPSIS * - * SilcBool silc_show_public_key(const char *pub_filename); + * SilcBool silc_show_public_key(SilcPublicKey public_key); + * + * DESCRIPTION + * + * This routine can be used to dump the SILC public key into human + * readable form into stdout. Returns FALSE on error. + * + ***/ +SilcBool silc_show_public_key(SilcPublicKey public_key); + +/****f* silcapputil/SilcAppUtil/silc_show_public_key_file + * + * SYNOPSIS + * + * SilcBool silc_show_public_key_file(const char *pub_filename); * * DESCRIPTION * @@ -126,7 +140,7 @@ SilcBool silc_load_key_pair(const char *pub_filename, * into human readable form into stdout. Returns FALSE on error. * ***/ -SilcBool silc_show_public_key(const char *pub_filename); +SilcBool silc_show_public_key_file(const char *pub_filename); /****f* silcapputil/SilcAppUtil/silc_change_private_key_passphrase * -- 2.24.0