File: algorithm_tests.rs

package info (click to toggle)
rust-tss-esapi 7.5.1-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,432 kB
  • sloc: sh: 130; makefile: 2
file content (71 lines) | stat: -rw-r--r-- 3,211 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
// Copyright 2021 Contributors to the Parsec project.
// SPDX-License-Identifier: Apache-2.0
use std::convert::TryFrom;
use tss_esapi::constants::{
    tss::{
        TPM2_ALG_AES, TPM2_ALG_CAMELLIA, TPM2_ALG_CBC, TPM2_ALG_CFB, TPM2_ALG_CMAC, TPM2_ALG_CTR,
        TPM2_ALG_ECB, TPM2_ALG_ECC, TPM2_ALG_ECDAA, TPM2_ALG_ECDH, TPM2_ALG_ECDSA, TPM2_ALG_ECMQV,
        TPM2_ALG_ECSCHNORR, TPM2_ALG_ERROR, TPM2_ALG_HMAC, TPM2_ALG_KDF1_SP800_108,
        TPM2_ALG_KDF1_SP800_56A, TPM2_ALG_KDF2, TPM2_ALG_KEYEDHASH, TPM2_ALG_MGF1, TPM2_ALG_NULL,
        TPM2_ALG_OAEP, TPM2_ALG_OFB, TPM2_ALG_RSA, TPM2_ALG_RSAES, TPM2_ALG_RSAPSS,
        TPM2_ALG_RSASSA, TPM2_ALG_SHA1, TPM2_ALG_SHA256, TPM2_ALG_SHA384, TPM2_ALG_SHA3_256,
        TPM2_ALG_SHA3_384, TPM2_ALG_SHA3_512, TPM2_ALG_SHA512, TPM2_ALG_SM2, TPM2_ALG_SM3_256,
        TPM2_ALG_SM4, TPM2_ALG_SYMCIPHER, TPM2_ALG_TDES, TPM2_ALG_XOR,
    },
    AlgorithmIdentifier,
};
macro_rules! test_conversion {
    ($tpm_alg_id:ident, $algorithm:ident) => {
        assert_eq!($tpm_alg_id, AlgorithmIdentifier::$algorithm.into());
        assert_eq!(
            AlgorithmIdentifier::$algorithm,
            AlgorithmIdentifier::try_from($tpm_alg_id).expect(&format!(
                "Failed to convert tpm_alg_id for {}",
                stringify!($tpm_alg_id)
            ))
        );
    };
}
#[test]
fn test_algorithm_conversion() {
    test_conversion!(TPM2_ALG_AES, Aes);
    test_conversion!(TPM2_ALG_CAMELLIA, Camellia);
    test_conversion!(TPM2_ALG_CBC, Cbc);
    test_conversion!(TPM2_ALG_CFB, Cfb);
    test_conversion!(TPM2_ALG_CMAC, Cmac);
    test_conversion!(TPM2_ALG_CTR, Ctr);
    test_conversion!(TPM2_ALG_ECB, Ecb);
    test_conversion!(TPM2_ALG_ECC, Ecc);
    test_conversion!(TPM2_ALG_ECDAA, EcDaa);
    test_conversion!(TPM2_ALG_ECDH, EcDh);
    test_conversion!(TPM2_ALG_ECDSA, EcDsa);
    test_conversion!(TPM2_ALG_ECMQV, EcMqv);
    test_conversion!(TPM2_ALG_ECSCHNORR, EcSchnorr);
    test_conversion!(TPM2_ALG_ERROR, Error);
    test_conversion!(TPM2_ALG_HMAC, Hmac);
    test_conversion!(TPM2_ALG_KDF1_SP800_108, Kdf1Sp800_108);
    test_conversion!(TPM2_ALG_KDF1_SP800_56A, Kdf1Sp800_56a);
    test_conversion!(TPM2_ALG_KDF2, Kdf2);
    test_conversion!(TPM2_ALG_KEYEDHASH, KeyedHash);
    test_conversion!(TPM2_ALG_MGF1, Mgf1);
    test_conversion!(TPM2_ALG_NULL, Null);
    test_conversion!(TPM2_ALG_OAEP, Oaep);
    test_conversion!(TPM2_ALG_OFB, Ofb);
    test_conversion!(TPM2_ALG_RSA, Rsa);
    test_conversion!(TPM2_ALG_RSAES, RsaEs);
    test_conversion!(TPM2_ALG_RSAPSS, RsaPss);
    test_conversion!(TPM2_ALG_RSASSA, RsaSsa);
    test_conversion!(TPM2_ALG_SHA1, Sha1);
    test_conversion!(TPM2_ALG_SHA256, Sha256);
    test_conversion!(TPM2_ALG_SHA384, Sha384);
    test_conversion!(TPM2_ALG_SHA3_256, Sha3_256);
    test_conversion!(TPM2_ALG_SHA3_384, Sha3_384);
    test_conversion!(TPM2_ALG_SHA3_512, Sha3_512);
    test_conversion!(TPM2_ALG_SHA512, Sha512);
    test_conversion!(TPM2_ALG_SM2, Sm2);
    test_conversion!(TPM2_ALG_SM3_256, Sm3_256);
    test_conversion!(TPM2_ALG_SM4, Sm4);
    test_conversion!(TPM2_ALG_SYMCIPHER, SymCipher);
    test_conversion!(TPM2_ALG_TDES, Tdes);
    test_conversion!(TPM2_ALG_XOR, Xor);
}