SilcHashTable silc_ssh_allocate_fields(void)
{
- return silc_hash_table_alloc(NULL, 0, silc_hash_string, NULL,
- silc_hash_string_compare, NULL,
+ return silc_hash_table_alloc(NULL, 0, silc_hash_string_case, NULL,
+ silc_hash_string_case_compare, NULL,
silc_ssh_field_dest, NULL, TRUE);
}
SilcBool silc_ssh_generate_key(const char *algorithm,
int bits_len, SilcRng rng,
+ const char *subject,
SilcPublicKey *ret_public_key,
SilcPrivateKey *ret_private_key)
{
return FALSE;
}
+ if (subject)
+ silc_ssh_public_key_add_field(pubkey, "Subject", subject);
+
return TRUE;
}
{
if (public_key->fields)
silc_hash_table_free(public_key->fields);
+ public_key->pkcs->public_key_free(public_key->pkcs,
+ public_key->public_key);
silc_free(public_key);
}
if (!public_key->fields) {
public_key->fields =
- silc_hash_table_alloc(NULL, 0, silc_hash_string, NULL,
- silc_hash_string_compare, NULL,
+ silc_hash_table_alloc(NULL, 0, silc_hash_string_case, NULL,
+ silc_hash_string_case_compare, NULL,
silc_ssh_field_dest, NULL, TRUE);
if (!public_key->fields)
return FALSE;