密钥派生功能接口 更多...
#include <key_derivation_function_ctx.h>


Public 类型 | |
| using | Uptr = std::unique_ptr< KeyDerivationFunctionCtx > |
| 接口实例唯一智能指针类型 更多... | |
Public 类型 继承自 ara::crypto::cryp::CryptoContext | |
| using | AlgId = CryptoAlgId |
| 供应商指定的加密算法 ID 的类型定义 更多... | |
Public 成员函数 | |
| virtual ara::core::Result< void > | AddSalt (ReadOnlyMemRegion salt) noexcept=0 |
| 增加盐值(非机密) 更多... | |
| virtual ara::core::Result< void > | AddSecretSalt (const SecretSeed &salt) noexcept=0 |
| 添加秘密种子为盐值 更多... | |
| virtual std::uint32_t | ConfigIterations (std::uint32_t iterations=0U) noexcept=0 |
| 派生的迭代次数(实现可以限制迭代次数的最小值和/或最大值) 更多... | |
| virtual ara::core::Result< SymmetricKey::Uptrc > | DeriveKey (bool isSession=true, bool isExportable=false) const noexcept=0 |
| 从提供的密钥材料和提供的上下文配置派生对称密钥 更多... | |
| virtual ara::core::Result< SecretSeed::Uptrc > | DeriveSeed (bool isSession=true, bool isExportable=false) const noexcept=0 |
| 从提供的“主”密钥材料和提供的上下文配置派生“从”密钥材料(秘密种子) 更多... | |
| virtual AlgId | GetTargetAlgId () const noexcept=0 |
| 获取目标密钥(派生后的对象)的对称算法 ID。 更多... | |
| virtual AllowedUsageFlags | GetTargetAllowedUsage () const noexcept=0 |
| 获取目标密钥(派生后的对象)允许密钥用法 更多... | |
| virtual ara::core::Result< void > | Init (ReadOnlyMemRegion targetKeyId, AlgId targetAlgId=kAlgIdAny, AllowedUsageFlags allowedUsage=kAllowKdfMaterialAnyUsage, ReadOnlyMemRegion ctxLabel=ReadOnlyMemRegion()) noexcept=0 |
| 通过最后设置目标密钥的相关属性 来初始化此上下文。 更多... | |
| virtual ara::core::Result< void > | Reset () noexcept=0 |
| 派生上下文重置 更多... | |
| virtual ara::core::Result< void > | SetSourceKeyMaterial (const RestrictedUseObject &sourceKM) noexcept=0 |
| 将密钥材料设置到密钥派生算法上下文 更多... | |
Public 成员函数 继承自 ara::crypto::cryp::CryptoContext | |
| virtual | ~CryptoContext () noexcept=default |
| 析构函数 更多... | |
| CryptoContext & | operator= (const CryptoContext &other)=default |
| 将另一个CryptoContext拷贝赋值给此实例 更多... | |
| CryptoContext & | operator= (CryptoContext &&other)=default |
| 将另一个CryptoContext移动赋值给此实例 更多... | |
| virtual CryptoPrimitiveId::Uptr | GetCryptoPrimitiveId () const noexcept=0 |
| 读取对象实例的密钥算法 更多... | |
| virtual bool | IsInitialized () const noexcept=0 |
| 检查加密上下文是否已经初始化 更多... | |
| virtual CryptoProvider & | MyProvider () const noexcept=0 |
| 获取此上下文的Crypto Provider的引用 更多... | |
密钥派生功能接口
| N/A |
在文件 第 行定义.
| using ara::crypto::cryp::KeyDerivationFunctionCtx::Uptr = std::unique_ptr<KeyDerivationFunctionCtx> |
接口实例唯一智能指针类型
在文件 第 行定义.
|
pure virtualnoexcept |
增加盐值(非机密)
| N/A |
| [in] | salt | 一个盐值(对于派生的密钥,每个实例都是唯一) |
| [out] | N/A | |
| [in,out] | N/A |
| N/A |
|
pure virtualnoexcept |
添加秘密种子为盐值
| N/A |
| [in] | salt | 秘密种子类型的盐值(对于派生的密钥,每个实例都是唯一) |
| [out] | N/A | |
| [in,out] | N/A |
| N/A |
|
pure virtualnoexcept |
派生的迭代次数(实现可以限制迭代次数的最小值和/或最大值)
| N/A |
| [in] | iterations | 基本函数所需的迭代次数(0 表示实现默认次数) |
| [out] | N/A | |
| [in,out] | N/A |
| N/A |
|
pure virtualnoexcept |
从提供的密钥材料和提供的上下文配置派生对称密钥
| N/A |
| [in] | isSession | 目标密钥的“会话”(或“临时”)属性(如果为true) |
| [in] | isExportable | 目标密钥的可导出性属性(如果为true) |
| [out] | N/A | |
| [in,out] | N/A |
| N/A |
|
pure virtualnoexcept |
从提供的“主”密钥材料和提供的上下文配置派生“从”密钥材料(秘密种子)
| N/A |
| [in] | isSession | 目标密钥的“会话”(或“临时”)属性(如果为true) |
| [in] | isExportable | 目标密钥的可导出性属性(如果为true) |
| [out] | N/A | |
| [in,out] | N/A |
| N/A |
|
pure virtualnoexcept |
获取目标密钥(派生后的对象)的对称算法 ID。
| N/A |
| [in] | N/A | |
| [out] | N/A | |
| [in,out] | N/A |
| N/A |
|
pure virtualnoexcept |
获取目标密钥(派生后的对象)允许密钥用法
| N/A |
| [in] | N/A | |
| [out] | N/A | |
| [in,out] | N/A |
| N/A |
|
pure virtualnoexcept |
通过最后设置目标密钥的相关属性 来初始化此上下文。
| N/A |
| [in] | targetKeyId | 目标keyId (暂未处理) |
| [in] | targetAlgId | 目标对称加密算法标识符 (支持对称密钥算法kNID_aes_128_xxx, kNID_aes_256_xxx,kNID_sm4_xxx) |
| [in] | allowedUsage | 定义允许转换类型列表的位标志,其中可以使用目标密钥 |
| [in] | ctxLabel | 一个可选的特定于应用程序的“上下文标签” |
| [out] | N/A | |
| [in,out] | N/A |
| N/A |
|
pure virtualnoexcept |
派生上下文重置
| N/A |
| [in] | N/A | |
| [out] | N/A | |
| [in,out] | N/A |
| N/A |
|
pure virtualnoexcept |
将密钥材料设置到密钥派生算法上下文
| N/A |
| [in] | sourceKM | 源密钥材料 |
| [out] | N/A | |
| [in,out] | N/A |
| N/A |