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

X509 Provider类定义 更多...

#include <x509_provider.h>

ara::crypto::x509::X509Provider 的协作图:
Collaboration graph

Public 类型

using Uptr = std::unique_ptr< X509Provider >
 X509 Provider的共享智能指针 更多...
 

Public 成员函数

virtual ~X509Provider () noexcept=default
 X509Provider析构函数 更多...
 
X509Provideroperator= (const X509Provider &other)=default
 将另一个 X509Provider 复制赋值给此实例 更多...
 
X509Provideroperator= (X509Provider &&other)=default
 将另一个 X509Provider 移动赋值给此实例 更多...
 
virtual ara::core::Result< Certificate::UptrParseCert (ReadOnlyMemRegion cert, Serializable::FormatId formatId=Serializable::kFormatDefault) noexcept=0
 解析证书的序列化表示并创建其实例。 更多...
 
virtual ara::core::Result< std::size_t > CountCertsInChain (ReadOnlyMemRegion certChain, Serializable::FormatId formatId=Serializable::kFormatDefault) const noexcept=0
 计数由单个 BLOB 表示的序列化证书链中的证书数 更多...
 
virtual ara::core::Result< void > ParseCertChain (ara::core::Vector< Certificate::Uptr > &outcome, ReadOnlyMemRegion certChain, Serializable::FormatId formatId=Serializable::kFormatDefault) noexcept=0
 解析证书链的序列化表示并创建它们的实例 更多...
 
virtual Certificate::Status VerifyCert (Certificate &cert, Certificate::Uptr myRoot=nullptr) noexcept=0
 验证证书状态 更多...
 
virtual Certificate::Status VerifyCertChain (ara::core::Span< const Certificate::Uptr > chain, Certificate::Uptr myRoot=nullptr) noexcept=0
 验证证书链状态 更多...
 
virtual ara::core::Result< void > Import (const Certificate &cert, ara::core::Optional< ara::core::InstanceSpecifier > iSpecify) noexcept=0
 导入证书 ,此接口受IAM访问控制 更多...
 
virtual ara::core::Result< void > ImportCertChain (const ara::core::Vector< Certificate::Uptr > &cert, ara::core::InstanceSpecifier &iSpecify) noexcept=0
 导入证书链到指定的文件内,此接口受IAM访问控制 更多...
 
virtual bool Remove (Certificate::Uptrc &&cert) noexcept=0
 删除证书对象 更多...
 
virtual ara::core::Result< Certificate::UptrLoadCertificate (ara::core::InstanceSpecifier &iSpecify) noexcept=0
 加载证书 更多...
 

详细描述

X509 Provider类定义

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

在文件 第 行定义.

成员类型定义说明

◆ Uptr

X509 Provider的共享智能指针

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

在文件 第 行定义.

构造及析构函数说明

◆ ~X509Provider()

virtual ara::crypto::x509::X509Provider::~X509Provider ( )
virtualdefaultnoexcept

X509Provider析构函数

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

成员函数说明

◆ CountCertsInChain()

virtual ara::core::Result<std::size_t> ara::crypto::x509::X509Provider::CountCertsInChain ( ReadOnlyMemRegion  certChain,
Serializable::FormatId  formatId = Serializable::kFormatDefault 
) const
pure virtualnoexcept

计数由单个 BLOB 表示的序列化证书链中的证书数

模板参数
N/A
参数
[in]certChainPEM 编码的证书链(每个证书由输入向量中的单独 BLOB 提供)
[in]formatId输入格式标识符(kFormatDefault 表示自动检测证书类型)
[out]N/A
[in,out]N/A
返回
ara::core::Result<std::size_t> 证书链内的证书个数
注解
[Error]CryptoError::kInvalidArgument 证书链无法解析
[Error]CryptoError::kUnknownIdentifier formatId 为不支持的证书格式(只支持pem证书)
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_40615
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept

◆ Import()

virtual ara::core::Result<void> ara::crypto::x509::X509Provider::Import ( const Certificate cert,
ara::core::Optional< ara::core::InstanceSpecifier >  iSpecify 
)
pure virtualnoexcept

导入证书 ,此接口受IAM访问控制

模板参数
N/A
参数
[in]cert导入的证书对象
[in]iSpecify指定的证书名,格式为SlotXXX/certname,例如"Slot193/device"
[out]N/A
[in,out]N/A
返回
ara::core::Result<void> 导入结果
注解
[Error]CryptoError::kInvalidArgument 证书无效(证书对象无法导出)
[Error]CryptoError::kContentDuplication 证书已经存在于指定文件系统内
[Error]CryptoError::kAccessViolation 受IAM访问控制限制
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_40621
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept

◆ ImportCertChain()

virtual ara::core::Result<void> ara::crypto::x509::X509Provider::ImportCertChain ( const ara::core::Vector< Certificate::Uptr > &  cert,
ara::core::InstanceSpecifier &  iSpecify 
)
pure virtualnoexcept

导入证书链到指定的文件内,此接口受IAM访问控制

模板参数
N/A
参数
[in]cert导入的证书链对象vector
[in]iSpecify指定的证书名,格式为SlotXXX/certname, 例如:"Slot193/device"
[out]N/A
[in,out]N/A
返回
ara::core::Result<void> 导入结果
注解
[Error]CryptoError::kInvalidArgument 证书无效(证书对象无法导出)
[Error]CryptoError::kContentDuplication 证书已经存在于指定文件内
[Error]CryptoError::kAccessViolation 受IAM访问控制限制
错误码偏差项
N/A
异常
N/A
Swsid
User_defined_Crypto_00002
符合标准
no
非标原因
新增
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept

◆ LoadCertificate()

virtual ara::core::Result<Certificate::Uptr> ara::crypto::x509::X509Provider::LoadCertificate ( ara::core::InstanceSpecifier &  iSpecify)
pure virtualnoexcept

加载证书

模板参数
N/A
参数
[in]iSpecify加载的目标证书标识 定义格式例如:Slot193/cacert
[out]N/A
[in,out]N/A
返回
ara::core::Result<Certificate::Uptr> 证书对象的智能指针
注解
[Error]CryptoError::kUnreservedResource 没找到对应的证书
[Error]CryptoError::kAccessViolation 受IAM访问控制限制
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_40641
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept

◆ operator=() [1/2]

X509Provider& ara::crypto::x509::X509Provider::operator= ( const X509Provider other)
default

将另一个 X509Provider 复制赋值给此实例

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

◆ operator=() [2/2]

X509Provider& ara::crypto::x509::X509Provider::operator= ( X509Provider &&  other)
default

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

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

◆ ParseCert()

virtual ara::core::Result<Certificate::Uptr> ara::crypto::x509::X509Provider::ParseCert ( ReadOnlyMemRegion  cert,
Serializable::FormatId  formatId = Serializable::kFormatDefault 
)
pure virtualnoexcept

解析证书的序列化表示并创建其实例。

模板参数
N/A
参数
[in]certDER/PEM 编码的证书
[in]formatId输入格式标识符(kFormatDefault 表示自动检测证书类型)
[out]N/A
[in,out]N/A
返回
ara::core::Result< Certificate::Uptr > 指向证书对象的智能指针
注解
[Error]CryptoError::kInvalidArgument 证书无法解析
[Error]CryptoError::kUnknownIdentifier formatId 为不支持的证书格式
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_40614
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept

◆ ParseCertChain()

virtual ara::core::Result<void> ara::crypto::x509::X509Provider::ParseCertChain ( ara::core::Vector< Certificate::Uptr > &  outcome,
ReadOnlyMemRegion  certChain,
Serializable::FormatId  formatId = Serializable::kFormatDefault 
)
pure virtualnoexcept

解析证书链的序列化表示并创建它们的实例

模板参数
N/A
参数
[in]certChainPEM 编码的证书链
[in]formatId输入格式标识符(kFormatDefault 表示自动检测证书类型)
[out]outcome解析出来的证书对象的集合
[in,out]N/A
返回
ara::core::Result<void> 无
注解
[Error]CryptoError::kInvalidArgument 证书链无法解析
[Error]CryptoError::kUnknownIdentifier formatId 为不支持的证书格式
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_40616
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept

◆ Remove()

virtual bool ara::crypto::x509::X509Provider::Remove ( Certificate::Uptrc &&  cert)
pure virtualnoexcept

删除证书对象

模板参数
N/A
参数
[in]cert待删除的证书智能指针
[in]N/A
[out]N/A
[in,out]N/A
返回
bool 是否成功删除
注解
系统默认根证书cacert 不能删除
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_40622
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept

◆ VerifyCert()

virtual Certificate::Status ara::crypto::x509::X509Provider::VerifyCert ( Certificate cert,
Certificate::Uptr  myRoot = nullptr 
)
pure virtualnoexcept

验证证书状态

模板参数
N/A
参数
[in]cert目标验证证书
[in]myRoot用于验证的根证书,如果为空,将使用设备默认的根证书
[out]N/A
[in,out]N/A
返回
Certificate::Status 证书状态 ,参考 Certificate::Status
注解
N/A
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_40618
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept

◆ VerifyCertChain()

virtual Certificate::Status ara::crypto::x509::X509Provider::VerifyCertChain ( ara::core::Span< const Certificate::Uptr chain,
Certificate::Uptr  myRoot = nullptr 
)
pure virtualnoexcept

验证证书链状态

模板参数
N/A
参数
[in]chain目标待验证的证书链 (证书链顺序要求 index 0 为根证书)
[in]myRoot用于验证的根证书,如果为空,将使用设备默认的根证书
[out]N/A
[in,out]N/A
返回
Certificate::Status 证书链状态 ,参考 Certificate::Status
注解
N/A
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_40619
符合标准
no
非标原因
接口定义成const,myRoot=nullptr无法加载系统默认根证书
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept