diff options
Diffstat (limited to 'src/libstrongswan/plugins')
6 files changed, 45 insertions, 0 deletions
diff --git a/src/libstrongswan/plugins/aes/aes_crypter.c b/src/libstrongswan/plugins/aes/aes_crypter.c index 9dcf61c91..ee6b53290 100644 --- a/src/libstrongswan/plugins/aes/aes_crypter.c +++ b/src/libstrongswan/plugins/aes/aes_crypter.c @@ -1416,6 +1416,12 @@ METHOD(crypter_t, get_block_size, size_t, return AES_BLOCK_SIZE; } +METHOD(crypter_t, get_iv_size, size_t, + private_aes_crypter_t *this) +{ + return AES_BLOCK_SIZE; +} + METHOD(crypter_t, get_key_size, size_t, private_aes_crypter_t *this) { @@ -1545,6 +1551,7 @@ aes_crypter_t *aes_crypter_create(encryption_algorithm_t algo, size_t key_size) .encrypt = _encrypt, .decrypt = _decrypt, .get_block_size = _get_block_size, + .get_iv_size = _get_iv_size, .get_key_size = _get_key_size, .set_key = _set_key, .destroy = _destroy, diff --git a/src/libstrongswan/plugins/blowfish/blowfish_crypter.c b/src/libstrongswan/plugins/blowfish/blowfish_crypter.c index b23a7bab1..e37420ae8 100644 --- a/src/libstrongswan/plugins/blowfish/blowfish_crypter.c +++ b/src/libstrongswan/plugins/blowfish/blowfish_crypter.c @@ -139,6 +139,12 @@ METHOD(crypter_t, get_block_size, size_t, return BLOWFISH_BLOCK_SIZE; } +METHOD(crypter_t, get_iv_size, size_t, + private_blowfish_crypter_t *this) +{ + return BLOWFISH_BLOCK_SIZE; +} + METHOD(crypter_t, get_key_size, size_t, private_blowfish_crypter_t *this) { @@ -174,6 +180,7 @@ blowfish_crypter_t *blowfish_crypter_create(encryption_algorithm_t algo, size_t .encrypt = _encrypt, .decrypt = _decrypt, .get_block_size = _get_block_size, + .get_iv_size = _get_iv_size, .get_key_size = _get_key_size, .set_key = _set_key, .destroy = _destroy, diff --git a/src/libstrongswan/plugins/des/des_crypter.c b/src/libstrongswan/plugins/des/des_crypter.c index 1b084ac29..eae01dfe1 100644 --- a/src/libstrongswan/plugins/des/des_crypter.c +++ b/src/libstrongswan/plugins/des/des_crypter.c @@ -1523,6 +1523,12 @@ METHOD(crypter_t, get_block_size, size_t, return sizeof(des_cblock); } +METHOD(crypter_t, get_iv_size, size_t, + private_des_crypter_t *this) +{ + return sizeof(des_cblock); +} + METHOD(crypter_t, get_key_size, size_t, private_des_crypter_t *this) { @@ -1559,6 +1565,7 @@ des_crypter_t *des_crypter_create(encryption_algorithm_t algo) INIT(this, .public.crypter = { .get_block_size = _get_block_size, + .get_iv_size = _get_iv_size, .get_key_size = _get_key_size, .destroy = _destroy, }, diff --git a/src/libstrongswan/plugins/gcrypt/gcrypt_crypter.c b/src/libstrongswan/plugins/gcrypt/gcrypt_crypter.c index 3db5e5750..db8bfea36 100644 --- a/src/libstrongswan/plugins/gcrypt/gcrypt_crypter.c +++ b/src/libstrongswan/plugins/gcrypt/gcrypt_crypter.c @@ -83,6 +83,15 @@ METHOD(crypter_t, get_block_size, size_t, return len; } +METHOD(crypter_t, get_iv_size, size_t, + private_gcrypt_crypter_t *this) +{ + size_t len = 0; + + gcry_cipher_algo_info(this->alg, GCRYCTL_GET_BLKLEN, NULL, &len); + return len; +} + METHOD(crypter_t, get_key_size, size_t, private_gcrypt_crypter_t *this) { @@ -219,6 +228,7 @@ gcrypt_crypter_t *gcrypt_crypter_create(encryption_algorithm_t algo, .encrypt = _encrypt, .decrypt = _decrypt, .get_block_size = _get_block_size, + .get_iv_size = _get_iv_size, .get_key_size = _get_key_size, .set_key = _set_key, .destroy = _destroy, diff --git a/src/libstrongswan/plugins/openssl/openssl_crypter.c b/src/libstrongswan/plugins/openssl/openssl_crypter.c index 520b2321a..a410eee2c 100644 --- a/src/libstrongswan/plugins/openssl/openssl_crypter.c +++ b/src/libstrongswan/plugins/openssl/openssl_crypter.c @@ -162,6 +162,12 @@ METHOD(crypter_t, get_block_size, size_t, return this->cipher->block_size; } +METHOD(crypter_t, get_iv_size, size_t, + private_openssl_crypter_t *this) +{ + return this->cipher->block_size; +} + METHOD(crypter_t, get_key_size, size_t, private_openssl_crypter_t *this) { @@ -194,6 +200,7 @@ openssl_crypter_t *openssl_crypter_create(encryption_algorithm_t algo, .encrypt = _encrypt, .decrypt = _decrypt, .get_block_size = _get_block_size, + .get_iv_size = _get_iv_size, .get_key_size = _get_key_size, .set_key = _set_key, .destroy = _destroy, diff --git a/src/libstrongswan/plugins/padlock/padlock_aes_crypter.c b/src/libstrongswan/plugins/padlock/padlock_aes_crypter.c index f7a521ec2..11d8ba044 100644 --- a/src/libstrongswan/plugins/padlock/padlock_aes_crypter.c +++ b/src/libstrongswan/plugins/padlock/padlock_aes_crypter.c @@ -125,6 +125,12 @@ METHOD(crypter_t, get_block_size, size_t, return AES_BLOCK_SIZE; } +METHOD(crypter_t, get_iv_size, size_t, + private_padlock_aes_crypter_t *this) +{ + return AES_BLOCK_SIZE; +} + METHOD(crypter_t, get_key_size, size_t, private_padlock_aes_crypter_t *this) { @@ -172,6 +178,7 @@ padlock_aes_crypter_t *padlock_aes_crypter_create(encryption_algorithm_t algo, .encrypt = _encrypt, .decrypt = _decrypt, .get_block_size = _get_block_size, + .get_iv_size = _get_iv_size, .get_key_size = _get_key_size, .set_key = _set_key, .destroy = _destroy, |