Logo
中文版
详情联系: neusar-support@reachauto.com
ara::crypto::cryp::KeyAgreementPrivateCtx类 参考abstract

密钥协商上下文类定义 更多...

#include <key_agreement_private_ctx.h>

类 ara::crypto::cryp::KeyAgreementPrivateCtx 继承关系图:
Inheritance graph
ara::crypto::cryp::KeyAgreementPrivateCtx 的协作图:
Collaboration graph

Public 类型

using Uptr = std::unique_ptr< KeyAgreementPrivateCtx >
 密钥协商上下文唯一智能指针类型 更多...
 
- Public 类型 继承自 ara::crypto::cryp::CryptoContext
using AlgId = CryptoAlgId
 供应商指定的加密算法 ID 的类型定义 更多...
 

Public 成员函数

virtual ara::core::Result< SecretSeed::UptrcAgreeSeed (const PublicKey &otherSideKey, ara::core::Optional< AllowedUsageFlags > allowedUsage) const noexcept=0
 协商得到秘密种子对象; 更多...
 
virtual ara::core::Result< SymmetricKey::UptrcAgreeKey (const PublicKey &otherSideKey, CryptoAlgId targetAlgId, AllowedUsageFlags allowedUsage, ara::core::Optional< KeyDerivationFunctionCtx::Uptr > kdf, ara::core::Optional< ReadOnlyMemRegion > salt, ara::core::Optional< ReadOnlyMemRegion > ctxLabel) const noexcept=0
 协商得到对称密钥对象; 更多...
 
virtual ara::core::Result< void > SetKey (const PrivateKey &key) noexcept=0
 在上下文中设置密钥 更多...
 
virtual ara::core::Result< void > Reset () noexcept=0
 清除上下文 更多...
 
- Public 成员函数 继承自 ara::crypto::cryp::CryptoContext
virtual ~CryptoContext () noexcept=default
 析构函数 更多...
 
CryptoContextoperator= (const CryptoContext &other)=default
 将另一个CryptoContext拷贝赋值给此实例 更多...
 
CryptoContextoperator= (CryptoContext &&other)=default
 将另一个CryptoContext移动赋值给此实例 更多...
 
virtual CryptoPrimitiveId::Uptr GetCryptoPrimitiveId () const noexcept=0
 读取对象实例的密钥算法 更多...
 
virtual bool IsInitialized () const noexcept=0
 检查加密上下文是否已经初始化 更多...
 
virtual CryptoProviderMyProvider () const noexcept=0
 获取此上下文的Crypto Provider的引用 更多...
 

详细描述

密钥协商上下文类定义

Swsid
SWS_CRYPT_21300
符合标准
yes
非标原因
N/A
种类
class
符号
ara::crypto::cryp::KeyAgreementPrivateCtx
范围
namespace ara::crypto::cryp
基类
CryptoContext
分类
ara
头文件
注解
N/A
模板参数
N/A

在文件 第 行定义.

成员类型定义说明

◆ Uptr

密钥协商上下文唯一智能指针类型

Swsid
SWS_CRYPT_21301
符合标准
yes
非标原因
N/A
种类
type alias
符号
ara::crypto::cryp::KeyAgreementPrivateCtx::Uptr
范围
class ara::crypto::cryp::KeyAgreementPrivateCtx
派生来源
std::unique_ptr<KeyAgreementPrivateCtx>
分类
ara
头文件
注解
N/A

在文件 第 行定义.

成员函数说明

◆ AgreeKey()

virtual ara::core::Result<SymmetricKey::Uptrc> ara::crypto::cryp::KeyAgreementPrivateCtx::AgreeKey ( const PublicKey otherSideKey,
CryptoAlgId  targetAlgId,
AllowedUsageFlags  allowedUsage,
ara::core::Optional< KeyDerivationFunctionCtx::Uptr kdf,
ara::core::Optional< ReadOnlyMemRegion salt,
ara::core::Optional< ReadOnlyMemRegion ctxLabel 
) const
pure virtualnoexcept

协商得到对称密钥对象;

模板参数
N/A
参数
[in]otherSideKey密钥协商对端的公钥
[in]targetAlgId目标对称密钥的算法标识符
[in]allowedUsage目标对称密钥的使用限制
[in]kdf密钥派生上下文
[in]salt盐值
[in]ctxLabel一个可选的特定于应用程序的“上下文标签”
[out]N/A
[in,out]N/A
返回
对称密钥对象指针
注解
[Error]: CryptoErrc::kUninitializedContext 上下文没有设置密钥进行初始化;
[Error]: CryptoErrc::kIncompatibleObject 如果提供的公钥与上下文将配置的算法不一致;
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_21312
符合标准
no
非标原因
标准定义与core模块定义相悖,不能实现
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ AgreeSeed()

virtual ara::core::Result<SecretSeed::Uptrc> ara::crypto::cryp::KeyAgreementPrivateCtx::AgreeSeed ( const PublicKey otherSideKey,
ara::core::Optional< AllowedUsageFlags allowedUsage 
) const
pure virtualnoexcept

协商得到秘密种子对象;

模板参数
N/A
参数
[in]otherSideKey密钥协商对端的公钥
[in]allowedUsage目标秘密种子的使用限制
[out]N/A
[in,out]N/A
返回
秘密种子对象指针
注解
[Error]: CryptoErrc::kUninitializedContext 上下文没有设置密钥进行初始化;
[Error]: CryptoErrc::kIncompatibleObject 如果提供的公钥与上下文将配置的算法不一致;
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_21311
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ Reset()

virtual ara::core::Result<void> ara::crypto::cryp::KeyAgreementPrivateCtx::Reset ( )
pure virtualnoexcept

清除上下文

模板参数
N/A
参数
[in]N/A
[out]N/A
[in,out]N/A
返回
N/A
注解
N/A
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_21314
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ SetKey()

virtual ara::core::Result<void> ara::crypto::cryp::KeyAgreementPrivateCtx::SetKey ( const PrivateKey key)
pure virtualnoexcept

在上下文中设置密钥

模板参数
N/A
参数
[in]key源密钥对象
[out]N/A
[in,out]N/A
返回
对称密钥对象指针
注解
[Error]: CryptoErrc::kUsageViolation 如果上下文进行的转换是密钥使用限制禁止的;
[Error]: CryptoErrc::kIncompatibleObject 如果提供的密钥与上下文将配置的算法不一致;
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_21313
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara