diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2010-09-06 13:37:15 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2010-09-06 13:37:15 +0200 |
commit | c111dd151b4a4e2b8bd33634e26412e06a472d6b (patch) | |
tree | b51e0aa650fffddedd39f1e3d41d2babdfd3a34e /ncr-key-storage.c | |
parent | c5fb18ff697aefb156dfebe87ded77a9e1371c45 (diff) | |
download | cryptodev-linux-c111dd151b4a4e2b8bd33634e26412e06a472d6b.tar.gz cryptodev-linux-c111dd151b4a4e2b8bd33634e26412e06a472d6b.tar.xz cryptodev-linux-c111dd151b4a4e2b8bd33634e26412e06a472d6b.zip |
Added config flag CONFIG_ASSYMETRIC, that will disable all assymetric algorithm support when building the module. As a side-effect (due to DER requirements) key wrapping is disabled as well.
Diffstat (limited to 'ncr-key-storage.c')
-rw-r--r-- | ncr-key-storage.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/ncr-key-storage.c b/ncr-key-storage.c index bc64131..921134a 100644 --- a/ncr-key-storage.c +++ b/ncr-key-storage.c @@ -68,6 +68,7 @@ int key_to_storage_data( uint8_t** sdata, size_t * sdata_size, const struct key_ if (key->type == NCR_KEY_TYPE_SECRET) { pkey->raw_size = key->key.secret.size; memcpy(pkey->raw, key->key.secret.data, pkey->raw_size); +#ifdef CONFIG_ASSYMETRIC } else if (key->type == NCR_KEY_TYPE_PRIVATE || key->type == NCR_KEY_TYPE_PUBLIC) { pkey->raw_size = sizeof(pkey->raw); ret = ncr_pk_pack( key, pkey->raw, &pkey->raw_size); @@ -75,6 +76,7 @@ int key_to_storage_data( uint8_t** sdata, size_t * sdata_size, const struct key_ err(); goto fail; } +#endif } else { err(); ret = -EINVAL; @@ -94,7 +96,6 @@ fail: int key_from_storage_data(struct key_item_st* key, const void* data, size_t data_size) { const struct packed_key * pkey = data; - int ret; if (data_size != sizeof(*pkey) || pkey->version != THIS_VERSION || pkey->key_id_size > MAX_KEY_ID_SIZE) { @@ -120,13 +121,17 @@ int key_from_storage_data(struct key_item_st* key, const void* data, size_t data } key->key.secret.size = pkey->raw_size; memcpy(key->key.secret.data, pkey->raw, pkey->raw_size); +#ifdef CONFIG_ASSYMETRIC } else if (key->type == NCR_KEY_TYPE_PUBLIC || key->type == NCR_KEY_TYPE_PRIVATE) { + int ret; + ret = ncr_pk_unpack( key, pkey->raw, pkey->raw_size); if (ret < 0) { err(); return ret; } +#endif } else { err(); return -EINVAL; |