Logo
中文版
详情联系: neusar-support@reachauto.com
BaseIDType

Base ID 类型定义 更多...

BaseIDType 的协作图:

模块

 AlgIdGroup
 加密算法 ID 的有效值特定于具体的加密堆栈实现。 但零值保留用于特殊目的,可能因使用上下文而异。 该组定义了单个零值的几个常量名称,但在语义上它们具有不同的含义,具体用于常量的具体应用。
 
 AllowedUsages
 该组包含为允许使用标志预定义的 1 bit常量值列表。
 

类型定义

using ara::crypto::CryptoAlgId = std::uint64_t
 算法ID 更多...
 
using ara::crypto::AllowedUsageFlags = std::uint32_t
 密钥或秘密种子对象允许使用的容器类型和常量位标志 更多...
 

枚举

enum  ara::crypto::CryptoObjectType : std::uint32_t {
  ara::crypto::CryptoObjectType::kUndefined = 0, ara::crypto::CryptoObjectType::kSymmetricKey = 1, ara::crypto::CryptoObjectType::kPrivateKey = 2, ara::crypto::CryptoObjectType::kPublicKey = 3,
  ara::crypto::CryptoObjectType::kSignature = 4, ara::crypto::CryptoObjectType::kSecretSeed = 5
}
 密码对象的类型枚举 更多...
 
enum  ara::crypto::CryptoAlgoNid : std::uint64_t {
  ara::crypto::kNID_undef = 0, ara::crypto::kNID_aes_128_ecb = 418, ara::crypto::kNID_aes_128_cbc = 419, ara::crypto::kNID_aes_128_cfb128 = 421,
  ara::crypto::kNID_aes_128_ctr = 904, ara::crypto::kNID_aes_256_ecb = 426, ara::crypto::kNID_aes_256_cbc = 427, ara::crypto::kNID_aes_256_cfb128 = 429,
  ara::crypto::kNID_aes_256_ctr = 906, ara::crypto::kNID_sm4_ecb = 1133, ara::crypto::kNID_sm4_cbc = 1134, ara::crypto::kNID_sm4_cfb128 = 1137,
  ara::crypto::kNID_sm4_ctr = 1139, ara::crypto::kNID_sha256 = 672, ara::crypto::kNID_sha1 = 64, ara::crypto::kNID_sm3 = 1143,
  ara::crypto::kNID_md5 = 4, ara::crypto::kNID_hkdf = 1036, ara::crypto::kNID_rsa_2048 = 2048, ara::crypto::kNID_rsa_2048_pkcs1 = 5000,
  ara::crypto::kNID_rsa_2048_pkcs1_sha1 = 5001, ara::crypto::kNID_rsa_2048_pkcs1_sha256 = 5002, ara::crypto::kNID_rsa_4096 = 4096, ara::crypto::kNID_rsa_4096_pkcs1 = 5003,
  ara::crypto::kNID_rsa_4096_pkcs1_sha1 = 5004, ara::crypto::kNID_rsa_4096_pkcs1_sha256 = 5005, ara::crypto::kNID_ecc_secp256k1 = 5100, ara::crypto::kNID_ecdsa_secp256k1_sha1 = 5101,
  ara::crypto::kNID_ecdsa_secp256k1_sha256 = 5102, ara::crypto::kNID_sm2_secp256 = 5200, ara::crypto::kNID_sm2_secp256_sm3 = 5201, ara::crypto::kNID_sm2_secp256_sha1 = 5202,
  ara::crypto::kNID_sm2_secp256_sha256 = 5203, ara::crypto::kNID_hmac_sha1 = 5300, ara::crypto::kNID_hmac_sha256 = 5301, ara::crypto::kNID_hmac_md5 = 5302,
  ara::crypto::kNID_hmac_sm3 = 5304, ara::crypto::kNID_cmac_aes_128_cbc = 5305, ara::crypto::kNID_cmac_aes_256_cbc = 5306, ara::crypto::kNID_cmac_sm4_cbc = 5307,
  ara::crypto::kNID_aes_128_wrap = 788, ara::crypto::kNID_aes_128_wrap_pad = 897, ara::crypto::kNID_aes_256_wrap = 790, ara::crypto::kNID_aes_256_wrap_pad = 903,
  ara::crypto::kNID_ecdhe = 1038
}
 算法ID类型枚举 更多...
 
enum  ara::crypto::ProviderType : std::uint32_t { ara::crypto::ProviderType::kUndefinedProvider = 0, ara::crypto::ProviderType::kCryptoProvider = 1, ara::crypto::ProviderType::kKeyStorageProvider = 2, ara::crypto::ProviderType::kX509Provider = 3 }
 Provider的类型枚举 更多...
 
enum  ara::crypto::KeySlotType : std::uint32_t { ara::crypto::KeySlotType::kMachine = 1, ara::crypto::KeySlotType::kApplication = 2 }
 密钥槽类型枚举值 更多...
 
enum  ara::crypto::CryptoTransform : std::uint32_t {
  ara::crypto::CryptoTransform::kEncrypt = 1, ara::crypto::CryptoTransform::kDecrypt = 2, ara::crypto::CryptoTransform::kMacVerify = 3, ara::crypto::CryptoTransform::kMacGenerate = 4,
  ara::crypto::CryptoTransform::kWrap = 5, ara::crypto::CryptoTransform::kUnwrap = 6, ara::crypto::CryptoTransform::kSigVerify = 7, ara::crypto::CryptoTransform::kSigGenerate = 8
}
 密码学转换方式枚举值 更多...
 

详细描述

Base ID 类型定义

类型定义说明

◆ AllowedUsageFlags

using ara::crypto::AllowedUsageFlags = typedef std::uint32_t

密钥或秘密种子对象允许使用的容器类型和常量位标志

Swsid
SWS_CRYPT_10015
符合标准
yes
非标原因
N/A
种类
type alias
符号
ara::crypto::AllowedUsageFlags
范围
namespace ara::crypto
派生来源
N/A
分类
ara
头文件
注解
N/A

在文件 第 行定义.

◆ CryptoAlgId

using ara::crypto::CryptoAlgId = typedef std::uint64_t

算法ID

Swsid
SWS_CRYPT_10014
符合标准
yes
非标原因
N/A
种类
type alias
符号
ara::crypto::CryptoAlgId
范围
namespace ara::crypto
派生来源
N/A
分类
ara
头文件
注解
N/A

在文件 第 行定义.

枚举类型说明

◆ CryptoAlgoNid

enum ara::crypto::CryptoAlgoNid : std::uint64_t

算法ID类型枚举

Swsid
N/A
符合标准
no
非标原因
自定义的算法ID
种类
enumeration
符号
ara::crypto::CryptoAlgoNid
范围
namespace ara::crypto
基本类型
std::uint64_t
分类
ara
头文件
注解
N/A
枚举值
kNID_undef 

Undefined

kNID_aes_128_ecb 

AES-128-ECB

kNID_aes_128_cbc 

AES-128-CBC

kNID_aes_128_cfb128 

AES-128-CFB

kNID_aes_128_ctr 

AES-128-CTR

kNID_aes_256_ecb 

AES-256-ECB

kNID_aes_256_cbc 

AES-256-CBC

kNID_aes_256_cfb128 

AES-256-CFB

kNID_aes_256_ctr 

AES-256-CTR

kNID_sm4_ecb 

SM4-ECB

kNID_sm4_cbc 

SM4-CBC

kNID_sm4_cfb128 

SM4-CFB

kNID_sm4_ctr 

SM4-CTR

kNID_sha256 

SHA256

kNID_sha1 

SHA1

kNID_sm3 

SM3

kNID_md5 

MD5

kNID_hkdf 

HKDF

kNID_rsa_2048 

RSA-2048

kNID_rsa_2048_pkcs1 

RSA-2048-PKCS1

kNID_rsa_2048_pkcs1_sha1 

RSA-2048-PKCS1-SHA1

kNID_rsa_2048_pkcs1_sha256 

RSA-2048-PKCS1-SHA256

kNID_rsa_4096 

RSA-4096

kNID_rsa_4096_pkcs1 

RSA-4096-PKCS1

kNID_rsa_4096_pkcs1_sha1 

RSA-4096-PKCS1-SHA1

kNID_rsa_4096_pkcs1_sha256 

RSA-4096-PKCS1-SHA256

kNID_ecc_secp256k1 

ECC-SECP256K1

kNID_ecdsa_secp256k1_sha1 

ECDSA-SECP256K1-SHA1

kNID_ecdsa_secp256k1_sha256 

ECDSA-SECP256K1-SHA256

kNID_sm2_secp256 

SM2-SECP256

kNID_sm2_secp256_sm3 

SM2-SECP256-SM3

kNID_sm2_secp256_sha1 

SM2-SECP256-SHA1

kNID_sm2_secp256_sha256 

SM2-SECP256-SHA256

kNID_hmac_sha1 

HMAC-SHA1

kNID_hmac_sha256 

HMAC-SH256

kNID_hmac_md5 

HMAC-MD5

kNID_hmac_sm3 

HMAC-SM3

kNID_cmac_aes_128_cbc 

CMAC-AES-128-CBC

kNID_cmac_aes_256_cbc 

CMAC-AES-256-CBC

kNID_cmac_sm4_cbc 

CMAC-SM4-CBC

kNID_aes_128_wrap 

AES-128-WRAP

kNID_aes_128_wrap_pad 

AES-128-WRAP-PAD

kNID_aes_256_wrap 

AES-256-WRAP

kNID_aes_256_wrap_pad 

AES-256-WRAP-PAD

kNID_ecdhe 

ECDHE

在文件 第 行定义.

◆ CryptoObjectType

enum ara::crypto::CryptoObjectType : std::uint32_t
strong

密码对象的类型枚举

Swsid
SWS_CRYPT_10016
符合标准
yes
非标原因
N/A
种类
enumeration
符号
ara::crypto::CryptoObjectType
范围
namespace ara::crypto
基本类型
std::uint32_t
取值
N/A
分类
ara
头文件
注解
N/A
枚举值
kUndefined 

用于空容器(密钥槽)和在缺乏依赖的情况下。

kSymmetricKey 

cryp::SymmetricKey object 对称密钥对象

kPrivateKey 

cryp::PrivateKey object 私钥对象

kPublicKey 

cryp::PublicKey object 公钥对象

kSignature 

cryp::Signature object 签名对象,非对称数字签名或对称MAC/HMAC

kSecretSeed 

cryp::SecretSeed object. 秘密种子 Note: 种子不能有关联的加密算法!

在文件 第 行定义.

◆ CryptoTransform

enum ara::crypto::CryptoTransform : std::uint32_t
strong

密码学转换方式枚举值

Swsid
SWS_CRYPT_10019
符合标准
yes
非标原因
N/A
种类
enumeration
符号
ara::crypto::CryptoTransform
范围
namespace ara::crypto
基本类型
std::uint32_t
取值
N/A
分类
ara
头文件
注解
N/A
枚举值
kEncrypt 

加密

kDecrypt 

解密

kMacVerify 

MAC消息验证

kMacGenerate 

MAC 消息验证码生成

kWrap 

密钥封装

kUnwrap 

密钥解封

kSigVerify 

数字验签

kSigGenerate 

签名生成

在文件 第 行定义.

◆ KeySlotType

enum ara::crypto::KeySlotType : std::uint32_t
strong

密钥槽类型枚举值

Swsid
SWS_CRYPT_10018
符合标准
yes
非标原因
N/A
种类
enumeration
符号
ara::crypto::KeySlotType
范围
namespace ara::crypto
基本类型
std::uint32_t
取值
N/A
分类
ara
头文件
注解
N/A
枚举值
kMachine 

机器类型密钥槽,应用于密钥管理应用程序或AP用于提供诸如安全通信、诊断、更新、安全存储等服务

kApplication 

应用程序独占类型密钥槽

在文件 第 行定义.

◆ ProviderType

enum ara::crypto::ProviderType : std::uint32_t
strong

Provider的类型枚举

Swsid
SWS_CRYPT_10017
符合标准
yes
非标原因
N/A
种类
enumeration
符号
ara::crypto::CryptoAlgoNid
范围
namespace ara::crypto
基本类型
std::uint32_t
取值
N/A
分类
ara
头文件
注解
N/A
枚举值
kUndefinedProvider 

未定义/未知的Provider类型(或适用于全部的Crypto Stack)

kCryptoProvider 

Cryptography Provider

kKeyStorageProvider 

Key Storage Provider

kX509Provider 

X.509 Provider

在文件 第 行定义.