Class ExternalSigningRequest
- Namespace
- SimpleSign.Core.Signing
- Assembly
- SimpleSign.Core.dll
An explicit, self-describing external signing request. Adapters for HSMs, cloud KMS, and A3 tokens can safely implement the contract without container-specific guesswork.
public sealed record ExternalSigningRequest : IEquatable<ExternalSigningRequest>
- Inheritance
-
ExternalSigningRequest
- Implements
- Inherited Members
Constructors
ExternalSigningRequest(ReadOnlyMemory<byte>, HashAlgorithmName, string, ExternalSigningPayloadKind, string?, RsaPssParameters?)
Creates a new external signing request.
public ExternalSigningRequest(ReadOnlyMemory<byte> dataToSign, HashAlgorithmName hashAlgorithm, string signatureAlgorithmOid, ExternalSigningPayloadKind payloadKind, string? operationId = null, RsaPssParameters? rsaPssParameters = null)
Parameters
dataToSignReadOnlyMemory<byte>The bytes to sign.
hashAlgorithmHashAlgorithmNameThe resolved hash algorithm.
signatureAlgorithmOidstringThe signature algorithm OID to produce.
payloadKindExternalSigningPayloadKindThe kind of payload.
operationIdstringOptional operation ID.
rsaPssParametersRsaPssParametersPSS parameters when
signatureAlgorithmOidis id-RSASSA-PSS.
Exceptions
- ArgumentException
signatureAlgorithmOidis null or whitespace.
Properties
DataToSign
The bytes to sign (CMS signed attributes or canonicalized XML SignedInfo).
public ReadOnlyMemory<byte> DataToSign { get; }
Property Value
HashAlgorithm
The fully resolved hash algorithm used to compute the message imprint.
public HashAlgorithmName HashAlgorithm { get; }
Property Value
OperationId
Optional operation ID for log correlation.
public string? OperationId { get; }
Property Value
PayloadKind
The kind of payload carried in DataToSign.
public ExternalSigningPayloadKind PayloadKind { get; }
Property Value
RsaPssParameters
The complete PSS parameters the signer must use, or null for a non-PSS request.
public RsaPssParameters? RsaPssParameters { get; }
Property Value
SignatureAlgorithmOid
The signature algorithm OID the signer must produce.
public string SignatureAlgorithmOid { get; }