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

非对称加密公钥上下文类定义 更多...

#include <encryptor_public_ctx.h>

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

Public 类型

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

Public 成员函数

virtual ara::core::Result< void > SetKey (const PublicKey &key) noexcept=0
 在加密公钥上下文中设置密钥 更多...
 
virtual ara::core::Result< void > Reset () noexcept=0
 清除加密上下文 更多...
 
virtual ara::core::Result< ara::core::Vector< ara::core::Byte > > ProcessBlock (ReadOnlyMemRegion in, bool suppressPadding=false) const 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_21000
符合标准
yes
非标原因
N/A
种类
class
符号
ara::crypto::cryp::EncryptorPublicCtx
范围
namespace ara::crypto::cryp
基类
CryptoContext
分类
ara
头文件
注解
N/A
模板参数
N/A

在文件 第 行定义.

成员类型定义说明

◆ Uptr

非对称加密公钥上下文唯一智能指针类型

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

在文件 第 行定义.

成员函数说明

◆ ProcessBlock()

virtual ara::core::Result<ara::core::Vector<ara::core::Byte> > ara::crypto::cryp::EncryptorPublicCtx::ProcessBlock ( ReadOnlyMemRegion  in,
bool  suppressPadding = false 
) const
pure virtualnoexcept

对输入数据进行加密处理

模板参数
N/A
参数
[in]in输入数据块 (对于RSA算法,当不采用填充方式时,最大输入数据长度为密钥长度字节数,例如如果采用2048bit密钥,则为256字节;如果采用填充方式,则最大输入长度为245字节; (对于SM2算法,最大输入数据长度为1024字节)
[in]suppressPadding如果该参数为true, 那么该方法不进行填充,但是输入的数据必须是完整块; 注意填充参数(suppressPadding)仅对RSA算法有效;
[out]N/A
[in,out]N/A
返回
加密处理后的数据
注解
[Error]: CryptoErrc::kUninitializedContext 上下文没有通过密钥数据初始化
[Error]: CryptoErrc::kInvalidInputSize 输入的数据长度不合法
[Error]: CryptoErrc::kResourceFault 通信资源毁坏
[Error]: CryptoErrc::kLogicFault 处理逻辑错误
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_21012
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ Reset()

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

清除加密上下文

模板参数
N/A
参数
[in]N/A
[out]N/A
[in,out]N/A
返回
N/A
注解
[Error]: CryptoErrc::kResourceFault 通信资源毁坏
[Error]: CryptoErrc::kLogicFault 处理逻辑错误
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_21011
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ SetKey()

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

在加密公钥上下文中设置密钥

模板参数
N/A
参数
[in]key源密钥对象
[out]N/A
[in,out]N/A
返回
N/A
注解
[Error]: CryptoErrc::kIncompatibleObject 如果提供的密钥对象属于其他的CryptoProvider
[Error]: CryptoErrc::kUsageViolation 如果与此上下文关联的转换类型(考虑到转换指定的方向)被所提供的密钥对象的“允许使用”限制所禁止
[Error]: CryptoErrc::kResourceFault 通信资源毁坏
[Error]: CryptoErrc::kLogicFault 处理逻辑错误
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_21010
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara