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

用于所有加密对象的通用接口 更多...

#include <crypto_object.h>

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

struct  COIdentifier
 加密对象唯一标识符 更多...
 

Public 类型

using Uptr = std::unique_ptr< CryptoObject >
 加密对象唯一智能指针类型 更多...
 
using Uptrc = std::unique_ptr< const CryptoObject >
 const类型加密对象唯一智能指针类型 更多...
 

Public 成员函数

virtual ~CryptoObject () noexcept=default
 析构函数 更多...
 
CryptoObjectoperator= (const CryptoObject &other)=default
 将另一个CryptoObject实例拷贝赋值给此实例 更多...
 
CryptoObjectoperator= (CryptoObject &&other)=default
 将另一个CryptoObject实例移动赋值给此实例 更多...
 
virtual CryptoPrimitiveId::Uptr GetCryptoPrimitiveId () const noexcept=0
 返回加密对象的算法ID 更多...
 
virtual bool IsSession () const noexcept=0
 获取对象的临时属性 更多...
 
virtual bool IsExportable () const noexcept=0
 获取对象的可导出属性 更多...
 
virtual COIdentifier GetObjectId () const noexcept=0
 返回对象的COIdentifier 更多...
 
virtual COIdentifier HasDependence () const noexcept=0
 返回对象依赖的对象的COIdentifier 更多...
 
virtual std::size_t GetPayloadSize () const noexcept=0
 返回对象负载的大小 更多...
 
virtual ara::core::Result< void > Save (IOInterface &container) const noexcept=0
 将对象保存到提供的容器 更多...
 

静态 Public 成员函数

template<class ConcreteObject >
static ara::core::Result< typename ConcreteObject::Uptrc > Downcast (CryptoObject::Uptrc &&object) noexcept
 向下转换并将唯一智能指针从通用 CryptoObject 接口移动到具体派生对象 更多...
 

详细描述

用于所有加密对象的通用接口

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

在文件 第 行定义.

成员类型定义说明

◆ Uptr

加密对象唯一智能指针类型

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

在文件 第 行定义.

◆ Uptrc

using ara::crypto::cryp::CryptoObject::Uptrc = std::unique_ptr<const CryptoObject>

const类型加密对象唯一智能指针类型

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

在文件 第 行定义.

构造及析构函数说明

◆ ~CryptoObject()

virtual ara::crypto::cryp::CryptoObject::~CryptoObject ( )
virtualdefaultnoexcept

析构函数

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

成员函数说明

◆ Downcast()

template<class ConcreteObject >
static ara::core::Result<typename ConcreteObject::Uptrc> ara::crypto::cryp::CryptoObject::Downcast ( CryptoObject::Uptrc &&  object)
inlinestaticnoexcept

向下转换并将唯一智能指针从通用 CryptoObject 接口移动到具体派生对象

模板参数
向下转换的目标类型(从CryptoObject 派生)
参数
[in]object向下转换的目标类型(从 CryptoObject 派生)的指针
[out]N/A
[in,out]N/A
返回
指向指定派生类型的向下转换常量接口的唯一智能指针
注解
[Error]: 对象的实际类型不是指定的 ConcreteObject
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_20518
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

在文件 第 行定义.

引用了 ara::crypto::kBadObjectType , 以及 .

函数调用图:

◆ GetCryptoPrimitiveId()

virtual CryptoPrimitiveId::Uptr ara::crypto::cryp::CryptoObject::GetCryptoPrimitiveId ( ) const
pure virtualnoexcept

返回加密对象的算法ID

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

◆ GetObjectId()

virtual COIdentifier ara::crypto::cryp::CryptoObject::GetObjectId ( ) const
pure virtualnoexcept

返回对象的COIdentifier

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

◆ GetPayloadSize()

virtual std::size_t ara::crypto::cryp::CryptoObject::GetPayloadSize ( ) const
pure virtualnoexcept

返回对象负载的大小

模板参数
N/A
参数
[in]N/A
[out]N/A
[in,out]N/A
返回
返回对象负载的大小(单位字节)
注解
N/A
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_20516
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ HasDependence()

virtual COIdentifier ara::crypto::cryp::CryptoObject::HasDependence ( ) const
pure virtualnoexcept

返回对象依赖的对象的COIdentifier

模板参数
N/A
参数
[in]N/A
[out]N/A
[in,out]N/A
返回
返回对象依赖的对象的COIdentifier, 如果不依赖其他对象返回CryptoObjectType::kUnknown
注解
N/A
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_20515
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ IsExportable()

virtual bool ara::crypto::cryp::CryptoObject::IsExportable ( ) const
pure virtualnoexcept

获取对象的可导出属性

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

◆ IsSession()

virtual bool ara::crypto::cryp::CryptoObject::IsSession ( ) const
pure virtualnoexcept

获取对象的临时属性

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

◆ operator=() [1/2]

CryptoObject& ara::crypto::cryp::CryptoObject::operator= ( const CryptoObject other)
default

将另一个CryptoObject实例拷贝赋值给此实例

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

◆ operator=() [2/2]

CryptoObject& ara::crypto::cryp::CryptoObject::operator= ( CryptoObject &&  other)
default

将另一个CryptoObject实例移动赋值给此实例

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

◆ Save()

virtual ara::core::Result<void> ara::crypto::cryp::CryptoObject::Save ( IOInterface container) const
pure virtualnoexcept

将对象保存到提供的容器

模板参数
N/A
参数
[in]containerIOInterface标识的底层资源
[out]N/A
[in,out]N/A
返回
N/A
注解
[Error]: CryptoErrc::kIncompatibleObject 如果对象是“临时的”,但 IOInterface 代表一个 KeySlot
[Error]: CryptoErrc::kInsufficientResource 如果目标容器的容量不够
[Error]: CryptoErrc::kUnreservedResource 如果接口未打开可写
[Error]: CryptoErrc::kModifiedResource 如果IOInterface打开后底层资源被修改,即IOInterface已经失效
[Error]: CryptoErrc::kContentRestrictions 如果对象不满足槽限制
[Error]: CryptoErrc::kLogicFault 逻辑错误
[Error]: CryptoErrc::kBusyResource 当目标槽为永久性密钥槽时,可能存在数据库在进行事务的操作,此时不允许其它应用程序save操作
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_20517
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara