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

签名私钥上下文的类定义 更多...

#include <signer_private_ctx.h>

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

Public 类型

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

Public 成员函数

virtual SignatureService::Uptr GetSignatureService () const noexcept=0
 获取签名服务实例 更多...
 
virtual ara::core::Result< Signature::UptrcSignPreHashed (const HashFunctionCtx &hashFn, 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< ara::core::Vector< ara::core::Byte > > Sign (ReadOnlyMemRegion value, 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< Signature::UptrcSignPreHashed (AlgId hashAlgId, ReadOnlyMemRegion hashValue, 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< 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_23500
符合标准
yes
非标原因
N/A
种类
class
符号
ara::crypto::cryp::SignerPrivateCtx
范围
namespace ara::crypto::cryp
基类
CryptoContext
分类
ara
头文件
注解
N/A
模板参数
N/A

在文件 第 行定义.

成员类型定义说明

◆ Uptr

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

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

在文件 第 行定义.

成员函数说明

◆ GetSignatureService()

virtual SignatureService::Uptr ara::crypto::cryp::SignerPrivateCtx::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_23510
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ Reset()

virtual ara::core::Result<void> ara::crypto::cryp::SignerPrivateCtx::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_23516
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ SetKey()

virtual ara::core::Result<void> ara::crypto::cryp::SignerPrivateCtx::SetKey ( const PrivateKey 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_23515
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ Sign()

virtual ara::core::Result<ara::core::Vector<ara::core::Byte> > ara::crypto::cryp::SignerPrivateCtx::Sign ( ReadOnlyMemRegion  value,
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]context可选的用户标识(该参数对SM2算法有意义,参数也可选择默认值)
[out]N/A
[in,out]N/A
返回
签名数据
注解
[Error]: CryptoErrc::kLogicFault 处理逻辑错误
[Error]: CryptoErrc::kUninitializedContext 上下文没有设置密钥进行初始化
[Error]: CryptoErrc::kInvalidInputSize 输入的原文数据长度为0
[Error]: CryptoErrc::kRuntimeFault 处理流程错误
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_23512
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ SignPreHashed() [1/2]

virtual ara::core::Result<Signature::Uptrc> ara::crypto::cryp::SignerPrivateCtx::SignPreHashed ( AlgId  hashAlgId,
ReadOnlyMemRegion  hashValue,
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]context可选的用户标识(该参数选择默认值即可)
[out]N/A
[in,out]N/A
返回
签名对象实例唯一智能指针
注解
[Error]: CryptoErrc::kLogicFault 处理逻辑错误
[Error]: CryptoErrc::kUninitializedContext 上下文没有设置密钥进行初始化
[Error]: CryptoErrc::kInvalidArgument 输入的散列算法与上下文配置的签名算法不一致;
[Error]: CryptoErrc::kInvalidInputSize 摘要数据长度不够
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_23513
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ SignPreHashed() [2/2]

virtual ara::core::Result<Signature::Uptrc> ara::crypto::cryp::SignerPrivateCtx::SignPreHashed ( const HashFunctionCtx hashFn,
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]hashFn包含摘要数据的hash-function上下文
[in]context可选的用户标识(该参数选择默认值即可)
[out]N/A
[in,out]N/A
返回
签名对象实例唯一智能指针
注解
[Error]: CryptoErrc::kLogicFault 处理逻辑错误
[Error]: CryptoErrc::kProcessingNotFinished hashFn没有结束
[Error]: CryptoErrc::kUninitializedContext 上下文没有设置密钥进行初始化
[Error]: CryptoErrc::kInvalidArgument hashFn的算法与上下文配置的签名算法不一致;
[Error]: CryptoErrc::kInvalidInputSize hashFn的摘要数据长度不够
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_23511
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara