aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstrongswan/plugins')
-rw-r--r--src/libstrongswan/plugins/aes/aes_crypter.c7
-rw-r--r--src/libstrongswan/plugins/blowfish/blowfish_crypter.c7
-rw-r--r--src/libstrongswan/plugins/des/des_crypter.c7
-rw-r--r--src/libstrongswan/plugins/gcrypt/gcrypt_crypter.c10
-rw-r--r--src/libstrongswan/plugins/openssl/openssl_crypter.c7
-rw-r--r--src/libstrongswan/plugins/padlock/padlock_aes_crypter.c7
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,