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

签名验签公钥上下文类定义 更多...

#include <verifier_public_ctx.h>

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

Public 类型

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

Public 成员函数

virtual SignatureService::Uptr GetSignatureService () const noexcept=0
 获取签名服务实例 更多...
 
virtual ara::core::Result< bool > VerifyPrehashed (CryptoAlgId hashAlgId, ReadOnlyMemRegion hashValue, const Signature &signature, ReadOnlyMemRegion context=ReadOnlyMemRegion()) const noexcept=0
 对输入的摘要数据进行签名验签 (使用该方法时,创建的上下文算法支持如下:kNID_rsa_2048_pkcs1,kNID_rsa_2048_pkcs1_sha1, kNID_rsa_2048_pkcs1_sha256, kNID_rsa_4096_pkcs1, kNID_rsa_4096_pkcs1_sha1, kNID_rsa_4096_pkcs1_sha256, kNID_ecc_secp256k1, kNID_ecdsa_secp256k1_sha1, kNID_ecdsa_secp256k1_sha256) 更多...
 
virtual ara::core::Result< bool > Verify (ReadOnlyMemRegion value, ReadOnlyMemRegion signature, ReadOnlyMemRegion context=ReadOnlyMemRegion()) const noexcept=0
 对输入的原文数据进行签名验证 (使用该方法时,创建的上下文算法支持如下:kNID_rsa_2048_pkcs1_sha1,kNID_rsa_2048_pkcs1_sha256, kNID_rsa_4096_pkcs1_sha1, kNID_rsa_4096_pkcs1_sha256, kNID_ecdsa_secp256k1_sha1, kNID_ecdsa_secp256k1_sha256, kNID_sm2_secp256_sm3, kNID_sm2_secp256_sha1, kNID_sm2_secp256_sha256) 更多...
 
virtual ara::core::Result< bool > VerifyPrehashed (const HashFunctionCtx &hashFn, const Signature &signature, ReadOnlyMemRegion context=ReadOnlyMemRegion()) const noexcept=0
 对存储在hash-function上下文中的摘要数据进行签名验签 (使用该方法时,创建的上下文算法支持如下:kNID_rsa_2048_pkcs1,kNID_rsa_2048_pkcs1_sha1, kNID_rsa_2048_pkcs1_sha256, kNID_rsa_4096_pkcs1, kNID_rsa_4096_pkcs1_sha1, kNID_rsa_4096_pkcs1_sha256, kNID_ecc_secp256k1, kNID_ecdsa_secp256k1_sha1, kNID_ecdsa_secp256k1_sha256) 更多...
 
virtual ara::core::Result< bool > VerifyPrehashed (const HashFunctionCtx &hashFn, ReadOnlyMemRegion signature, ReadOnlyMemRegion context=ReadOnlyMemRegion()) const noexcept=0
 对存储在hash-function上下文中的摘要数据进行签名验签 (使用该方法时,创建的上下文算法支持如下:kNID_rsa_2048_pkcs1,kNID_rsa_2048_pkcs1_sha1, kNID_rsa_2048_pkcs1_sha256, kNID_rsa_4096_pkcs1, kNID_rsa_4096_pkcs1_sha1, kNID_rsa_4096_pkcs1_sha256, kNID_ecc_secp256k1, kNID_ecdsa_secp256k1_sha1, kNID_ecdsa_secp256k1_sha256) 更多...
 
virtual ara::core::Result< void > SetKey (const PublicKey &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_24100
符合标准
yes
非标原因
N/A
种类
class
符号
ara::crypto::cryp::VerifierPublicCtx
范围
namespace ara::crypto::cryp
基类
CryptoContext
分类
ara
头文件
注解
N/A
模板参数
N/A

在文件 第 行定义.

成员类型定义说明

◆ Uptr

签名验签公钥上下文唯一智能指针类型

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

在文件 第 行定义.

成员函数说明

◆ GetSignatureService()

virtual SignatureService::Uptr ara::crypto::cryp::VerifierPublicCtx::GetSignatureService ( ) const
pure virtualnoexcept

获取签名服务实例

模板参数
N/A
参数
[in]N/A
[out]N/A
[in,out]N/A
返回
签名服务实例唯一智能指针
注解
N/A
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_24102
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ Reset()

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

清除上下文

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

◆ SetKey()

virtual ara::core::Result<void> ara::crypto::cryp::VerifierPublicCtx::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::kLogicFault 处理逻辑错误
[Error]: CryptoErrc::kUsageViolation 如果与此上下文关联的转换类型(考虑到转换指定的方向)被所提供的密钥对象的“允许使用”限制所禁止
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_24115
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ Verify()

virtual ara::core::Result<bool> ara::crypto::cryp::VerifierPublicCtx::Verify ( ReadOnlyMemRegion  value,
ReadOnlyMemRegion  signature,
ReadOnlyMemRegion  context = ReadOnlyMemRegion() 
) const
pure virtualnoexcept

对输入的原文数据进行签名验证 (使用该方法时,创建的上下文算法支持如下:kNID_rsa_2048_pkcs1_sha1,kNID_rsa_2048_pkcs1_sha256, kNID_rsa_4096_pkcs1_sha1, kNID_rsa_4096_pkcs1_sha256, kNID_ecdsa_secp256k1_sha1, kNID_ecdsa_secp256k1_sha256, kNID_sm2_secp256_sm3, kNID_sm2_secp256_sha1, kNID_sm2_secp256_sha256)

模板参数
N/A
参数
[in]value原文数据
[in]signature签名数据
[in]context可选的用户标识(该参数对SM2算法有意义,参数也可选择默认值)
[out]N/A
[in,out]N/A
返回
true表示验签成功,false表示其他
注解
[Error]: CryptoErrc::kLogicFault 处理逻辑错误
[Error]: CryptoErrc::kUninitializedContext 上下文没有用设置密钥初始化
[Error]: CryptoErrc::kInvalidInputSize 输入的原文或者签名数据长度为0
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_24112
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ VerifyPrehashed() [1/3]

virtual ara::core::Result<bool> ara::crypto::cryp::VerifierPublicCtx::VerifyPrehashed ( const HashFunctionCtx hashFn,
const Signature signature,
ReadOnlyMemRegion  context = ReadOnlyMemRegion() 
) const
pure virtualnoexcept

对存储在hash-function上下文中的摘要数据进行签名验签 (使用该方法时,创建的上下文算法支持如下:kNID_rsa_2048_pkcs1,kNID_rsa_2048_pkcs1_sha1, kNID_rsa_2048_pkcs1_sha256, kNID_rsa_4096_pkcs1, kNID_rsa_4096_pkcs1_sha1, kNID_rsa_4096_pkcs1_sha256, kNID_ecc_secp256k1, kNID_ecdsa_secp256k1_sha1, kNID_ecdsa_secp256k1_sha256)

模板参数
N/A
参数
[in]hashFnhash-function上下文
[in]signature签名对象
[in]context可选的用户标识(该参数选择默认值即可)
[out]N/A
[in,out]N/A
返回
true表示验签成功,false表示其他
注解
[Error]: CryptoErrc::kLogicFault 处理逻辑错误
[Error]: CryptoErrc::kProcessingNotFinished hashFn没有结束
[Error]: CryptoErrc::kIncompatibleArguments 如果需要的散列算法ID不是kAlgIdDefault, 同时需要的散列算法ID与hashFn的散列算法不匹配
[Error]: CryptoErrc::kBadObjectReference 签名对象的COUID与部署在上下文中的公钥对象COUID不同;
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_24113
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ VerifyPrehashed() [2/3]

virtual ara::core::Result<bool> ara::crypto::cryp::VerifierPublicCtx::VerifyPrehashed ( const HashFunctionCtx hashFn,
ReadOnlyMemRegion  signature,
ReadOnlyMemRegion  context = ReadOnlyMemRegion() 
) const
pure virtualnoexcept

对存储在hash-function上下文中的摘要数据进行签名验签 (使用该方法时,创建的上下文算法支持如下:kNID_rsa_2048_pkcs1,kNID_rsa_2048_pkcs1_sha1, kNID_rsa_2048_pkcs1_sha256, kNID_rsa_4096_pkcs1, kNID_rsa_4096_pkcs1_sha1, kNID_rsa_4096_pkcs1_sha256, kNID_ecc_secp256k1, kNID_ecdsa_secp256k1_sha1, kNID_ecdsa_secp256k1_sha256)

模板参数
N/A
参数
[in]hashFnhash-function上下文
[in]signature签名数据
[in]context可选的用户标识(该参数选择默认值即可)
[out]N/A
[in,out]N/A
返回
true表示验签成功,false表示其他
注解
[Error]: CryptoErrc::kProcessingNotFinished hashFn没有结束
[Error]: CryptoErrc::kInvalidArgument 如果需要的散列算法ID不是kAlgIdDefault, 同时需要的散列算法ID与hashFn的散列算法不匹配
[Error]: CryptoErrc::kInvalidInputSize 输入的签名数据长度为0;
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_24114
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ VerifyPrehashed() [3/3]

virtual ara::core::Result<bool> ara::crypto::cryp::VerifierPublicCtx::VerifyPrehashed ( CryptoAlgId  hashAlgId,
ReadOnlyMemRegion  hashValue,
const Signature signature,
ReadOnlyMemRegion  context = ReadOnlyMemRegion() 
) const
pure virtualnoexcept

对输入的摘要数据进行签名验签 (使用该方法时,创建的上下文算法支持如下:kNID_rsa_2048_pkcs1,kNID_rsa_2048_pkcs1_sha1, kNID_rsa_2048_pkcs1_sha256, kNID_rsa_4096_pkcs1, kNID_rsa_4096_pkcs1_sha1, kNID_rsa_4096_pkcs1_sha256, kNID_ecc_secp256k1, kNID_ecdsa_secp256k1_sha1, kNID_ecdsa_secp256k1_sha256)

模板参数
N/A
参数
[in]hashAlgId散列算法ID
[in]hashValue摘要数据
[in]signature签名对象
[in]context可选的用户标识(该参数选择默认值即可)
[out]N/A
[in,out]N/A
返回
true表示验签成功,false表示其他
注解
[Error]: CryptoErrc::kLogicFault 处理逻辑错误
[Error]: CryptoErrc::kIncompatibleObject 签名对象算法与上下文配置的算法不匹配,如果需要的散列算法ID不是kAlgIdDefault,需要的散列算法ID与输入的散列算法ID和签名对象散列算法都不匹配
[Error]: CryptoErrc::kIncompatibleArguments 如果需要的散列算法ID是kAlgIdDefault, 但是签名对象的散列算法与输入的散列算法不匹配
[Error]: CryptoErrc::kBadObjectReference 签名对象的COUID与部署在上下文中的公钥对象COUID不同;
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_24111
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara