Store and parse BLISS private and public keys in DER and PEM format
Additionally generate SHA-1 fingerprints of raw BLISS subjectPublicKey and subjectPublicKeyInfo objects. Some basic functions used by the bliss_public_key class are shared with the bliss_private_key class.
This commit is contained in:
@@ -32,9 +32,12 @@
|
||||
static void print_pubkey(public_key_t *key)
|
||||
{
|
||||
chunk_t chunk;
|
||||
key_type_t type;
|
||||
|
||||
type = key->get_type(key);
|
||||
printf("pubkey: %N %d bits%s\n", key_type_names, type,
|
||||
key->get_keysize(key), (type == KEY_BLISS) ? " strength" : "");
|
||||
|
||||
printf("pubkey: %N %d bits\n", key_type_names, key->get_type(key),
|
||||
key->get_keysize(key));
|
||||
if (key->get_fingerprint(key, KEYID_PUBKEY_INFO_SHA1, &chunk))
|
||||
{
|
||||
printf("keyid: %#B\n", &chunk);
|
||||
@@ -596,6 +599,11 @@ static int print()
|
||||
type = CRED_PRIVATE_KEY;
|
||||
subtype = KEY_ECDSA;
|
||||
}
|
||||
else if (streq(arg, "bliss-priv"))
|
||||
{
|
||||
type = CRED_PRIVATE_KEY;
|
||||
subtype = KEY_BLISS;
|
||||
}
|
||||
else
|
||||
{
|
||||
return command_usage( "invalid input type");
|
||||
@@ -668,7 +676,7 @@ static void __attribute__ ((constructor))reg()
|
||||
command_register((command_t)
|
||||
{ print, 'a', "print",
|
||||
"print a credential in a human readable form",
|
||||
{"[--in file] [--type rsa-priv|ecdsa-priv|pub|x509|crl|ac]"},
|
||||
{"[--in file] [--type rsa-priv|ecdsa-priv|bliss-priv|pub|x509|crl|ac]"},
|
||||
{
|
||||
{"help", 'h', 0, "show usage information"},
|
||||
{"in", 'i', 1, "input file, default: stdin"},
|
||||
|
||||
@@ -53,6 +53,11 @@ static int pub()
|
||||
type = CRED_PRIVATE_KEY;
|
||||
subtype = KEY_ECDSA;
|
||||
}
|
||||
else if (streq(arg, "bliss"))
|
||||
{
|
||||
type = CRED_PRIVATE_KEY;
|
||||
subtype = KEY_BLISS;
|
||||
}
|
||||
else if (streq(arg, "pub"))
|
||||
{
|
||||
type = CRED_PUBLIC_KEY;
|
||||
@@ -183,7 +188,7 @@ static void __attribute__ ((constructor))reg()
|
||||
command_register((command_t) {
|
||||
pub, 'p', "pub",
|
||||
"extract the public key from a private key/certificate",
|
||||
{"[--in file|--keyid hex] [--type rsa|ecdsa|pub|pkcs10|x509]",
|
||||
{"[--in file|--keyid hex] [--type rsa|ecdsa|bliss|pub|pkcs10|x509]",
|
||||
"[--outform der|pem|dnskey|sshkey]"},
|
||||
{
|
||||
{"help", 'h', 0, "show usage information"},
|
||||
|
||||
Reference in New Issue
Block a user