Commit e506342a authored by Tianjia Zhang's avatar Tianjia Zhang Committed by Jakub Kicinski

selftests/tls: add SM4 GCM/CCM to tls selftests

Add new cipher as a variant of standard tls selftests.
Signed-off-by: default avatarTianjia Zhang <tianjia.zhang@linux.alibaba.com>
Link: https://lore.kernel.org/r/20211008091745.42917-1-tianjia.zhang@linux.alibaba.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 6ed3f61e
...@@ -29,6 +29,8 @@ struct tls_crypto_info_keys { ...@@ -29,6 +29,8 @@ struct tls_crypto_info_keys {
union { union {
struct tls12_crypto_info_aes_gcm_128 aes128; struct tls12_crypto_info_aes_gcm_128 aes128;
struct tls12_crypto_info_chacha20_poly1305 chacha20; struct tls12_crypto_info_chacha20_poly1305 chacha20;
struct tls12_crypto_info_sm4_gcm sm4gcm;
struct tls12_crypto_info_sm4_ccm sm4ccm;
}; };
size_t len; size_t len;
}; };
...@@ -49,6 +51,16 @@ static void tls_crypto_info_init(uint16_t tls_version, uint16_t cipher_type, ...@@ -49,6 +51,16 @@ static void tls_crypto_info_init(uint16_t tls_version, uint16_t cipher_type,
tls12->aes128.info.version = tls_version; tls12->aes128.info.version = tls_version;
tls12->aes128.info.cipher_type = cipher_type; tls12->aes128.info.cipher_type = cipher_type;
break; break;
case TLS_CIPHER_SM4_GCM:
tls12->len = sizeof(struct tls12_crypto_info_sm4_gcm);
tls12->sm4gcm.info.version = tls_version;
tls12->sm4gcm.info.cipher_type = cipher_type;
break;
case TLS_CIPHER_SM4_CCM:
tls12->len = sizeof(struct tls12_crypto_info_sm4_ccm);
tls12->sm4ccm.info.version = tls_version;
tls12->sm4ccm.info.cipher_type = cipher_type;
break;
default: default:
break; break;
} }
...@@ -148,13 +160,13 @@ FIXTURE_VARIANT(tls) ...@@ -148,13 +160,13 @@ FIXTURE_VARIANT(tls)
uint16_t cipher_type; uint16_t cipher_type;
}; };
FIXTURE_VARIANT_ADD(tls, 12_gcm) FIXTURE_VARIANT_ADD(tls, 12_aes_gcm)
{ {
.tls_version = TLS_1_2_VERSION, .tls_version = TLS_1_2_VERSION,
.cipher_type = TLS_CIPHER_AES_GCM_128, .cipher_type = TLS_CIPHER_AES_GCM_128,
}; };
FIXTURE_VARIANT_ADD(tls, 13_gcm) FIXTURE_VARIANT_ADD(tls, 13_aes_gcm)
{ {
.tls_version = TLS_1_3_VERSION, .tls_version = TLS_1_3_VERSION,
.cipher_type = TLS_CIPHER_AES_GCM_128, .cipher_type = TLS_CIPHER_AES_GCM_128,
...@@ -172,6 +184,18 @@ FIXTURE_VARIANT_ADD(tls, 13_chacha) ...@@ -172,6 +184,18 @@ FIXTURE_VARIANT_ADD(tls, 13_chacha)
.cipher_type = TLS_CIPHER_CHACHA20_POLY1305, .cipher_type = TLS_CIPHER_CHACHA20_POLY1305,
}; };
FIXTURE_VARIANT_ADD(tls, 13_sm4_gcm)
{
.tls_version = TLS_1_3_VERSION,
.cipher_type = TLS_CIPHER_SM4_GCM,
};
FIXTURE_VARIANT_ADD(tls, 13_sm4_ccm)
{
.tls_version = TLS_1_3_VERSION,
.cipher_type = TLS_CIPHER_SM4_CCM,
};
FIXTURE_SETUP(tls) FIXTURE_SETUP(tls)
{ {
struct tls_crypto_info_keys tls12; struct tls_crypto_info_keys tls12;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment