selftests/tls: add SM4 GCM/CCM to tls selftests
authorTianjia Zhang <tianjia.zhang@linux.alibaba.com>
Fri, 8 Oct 2021 09:17:45 +0000 (17:17 +0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 8 Oct 2021 23:58:46 +0000 (16:58 -0700)
Add new cipher as a variant of standard tls selftests.

Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
Link: https://lore.kernel.org/r/20211008091745.42917-1-tianjia.zhang@linux.alibaba.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/tls.c

index 97fceb9be9ed36f4ad8a8691b253e25528a28cda..d3047e251fe938a4b01ce0d352fd5b5a57fe3a13 100644 (file)
@@ -29,6 +29,8 @@ struct tls_crypto_info_keys {
        union {
                struct tls12_crypto_info_aes_gcm_128 aes128;
                struct tls12_crypto_info_chacha20_poly1305 chacha20;
+               struct tls12_crypto_info_sm4_gcm sm4gcm;
+               struct tls12_crypto_info_sm4_ccm sm4ccm;
        };
        size_t len;
 };
@@ -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.cipher_type = cipher_type;
                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:
                break;
        }
@@ -148,13 +160,13 @@ FIXTURE_VARIANT(tls)
        uint16_t cipher_type;
 };
 
-FIXTURE_VARIANT_ADD(tls, 12_gcm)
+FIXTURE_VARIANT_ADD(tls, 12_aes_gcm)
 {
        .tls_version = TLS_1_2_VERSION,
        .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,
        .cipher_type = TLS_CIPHER_AES_GCM_128,
@@ -172,6 +184,18 @@ FIXTURE_VARIANT_ADD(tls, 13_chacha)
        .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)
 {
        struct tls_crypto_info_keys tls12;