Show / Hide Table of Contents

Class CadesSigner

Class for creating CAdES signatures

Inheritance
Object
CadesSigner
Inherited Members
Object.ToString()
Object.Equals(Object)
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Namespace: Lacuna.Pki.Cades
Assembly: Lacuna.Pki.dll
Syntax
public class CadesSigner : IDisposable

Constructors

CadesSigner()

Declaration
public CadesSigner()

Properties

ValidationResults

Declaration
public ValidationResults ValidationResults { get; }
Property Value
Type Description
ValidationResults

Warnings

Declaration
public List<string> Warnings { get; }
Property Value
Type Description
List<String>

Methods

AddAttributeCertificate(AttributeCertificate)

Adds attribute certificates in the signed attributes

Declaration
public void AddAttributeCertificate(AttributeCertificate attributeCertificate)
Parameters
Type Name Description
AttributeCertificate attributeCertificate

Certificate attribute

AddAttributeCertificate(IEnumerable<AttributeCertificate>)

Adds attribute certificates in the signed attributes

Declaration
public void AddAttributeCertificate(IEnumerable<AttributeCertificate> attributeCertificate)
Parameters
Type Name Description
IEnumerable<AttributeCertificate> attributeCertificate

Certificate attribute

ComputeSignature()

Computes the CAdES signature elements. Call after all parameters set

Declaration
public void ComputeSignature()

Dispose()

Disposes streams used

Declaration
public void Dispose()
Implements
IDisposable.Dispose()

GenerateToSignBytes(out SignatureAlgorithm)

Generates the bytes to be signed

Declaration
public byte[] GenerateToSignBytes(out SignatureAlgorithm signatureAlg)
Parameters
Type Name Description
SignatureAlgorithm signatureAlg

Signature algorithm to be used

Returns
Type Description
Byte[]

To sign bytes

GetSignature()

Gets the completed signature content

Declaration
public byte[] GetSignature()
Returns
Type Description
Byte[]

GetSignatureFinisher()

Gets the signature finisher. Used in a three-step signature

Declaration
public CadesSignatureFinisher GetSignatureFinisher()
Returns
Type Description
CadesSignatureFinisher

Signature finisher. An element that will handle the timestamps and revocation elements of the signature

SetCertificateValidationConfigurator(Action<CertificateValidationOptions>)

Sets an action for configuring the signer certificate validation

Declaration
public void SetCertificateValidationConfigurator(Action<CertificateValidationOptions> configureCertificateValidation)
Parameters
Type Name Description
Action<CertificateValidationOptions> configureCertificateValidation

SetCommitmentType(CommitmentType)

Sets the signer commitment type signed attribute

Declaration
public void SetCommitmentType(CommitmentType commitmentType)
Parameters
Type Name Description
CommitmentType commitmentType

SetContentType(CmsContentType)

Sets the encapsulated content type of the SignedData. Note: only use this if you are not signing a Data type

Declaration
public void SetContentType(CmsContentType contentType)
Parameters
Type Name Description
CmsContentType contentType

SetCrlStore(IReferencedCrlStore)

Sets a trusted CRL store indexed by CRL digest values.

Declaration
public void SetCrlStore(IReferencedCrlStore crlStore)
Parameters
Type Name Description
IReferencedCrlStore crlStore

CRL store

SetDataDigestToSign(DigestAlgorithm, Byte[])

Sets the message digest that is going to be signed. Using this method instead of SetDataToSign will mandatorily result in a detached signature, without encapsulated content.

Declaration
public void SetDataDigestToSign(DigestAlgorithm digestAlgorithm, byte[] digestValue)
Parameters
Type Name Description
DigestAlgorithm digestAlgorithm
Byte[] digestValue

SetDataToSign(Byte[])

Sets the data content that is going to be signed

Declaration
public void SetDataToSign(byte[] data)
Parameters
Type Name Description
Byte[] data

The data content bytes to be signed

SetDataToSign(Stream)

Sets the data that is going to be signed

Declaration
public void SetDataToSign(Stream stream)
Parameters
Type Name Description
Stream stream

SetEncapsulatedContent(Boolean)

Wheter or not to include the encapsulated content in the signature. If not set, default value is true

Declaration
public void SetEncapsulatedContent(bool includeEncapsulatedContent)
Parameters
Type Name Description
Boolean includeEncapsulatedContent

SetFinishSignature(Boolean)

Sets if the signature will be closed after the signing process ends. Default is true. Set false if it is a three-step signature

Declaration
public void SetFinishSignature(bool finishSignature)
Parameters
Type Name Description
Boolean finishSignature

SetPolicy(CadesPolicySpec)

Sets the signature policy specification

Declaration
public void SetPolicy(CadesPolicySpec policy)
Parameters
Type Name Description
CadesPolicySpec policy

Policy specification

SetPolicy(ICadesPolicyMapper)

Sets a policy specification mapper

Declaration
public void SetPolicy(ICadesPolicyMapper policyMapper)
Parameters
Type Name Description
ICadesPolicyMapper policyMapper

Policy mapper

SetPrecomputedSignature(Byte[])

Sets the signed bytes from the client. Used in a two-step signature

Declaration
public void SetPrecomputedSignature(byte[] signature)
Parameters
Type Name Description
Byte[] signature

Signed bytes

SetPrecomputedSignature(Byte[], Byte[])

Sets the signed bytes from the client. Used in a two-step signature

Declaration
public void SetPrecomputedSignature(byte[] signature, byte[] toSignBytes)
Parameters
Type Name Description
Byte[] signature

Signed bytes

Byte[] toSignBytes

To sign bytes used in the signing process

SetSignatureToCoSign(Byte[])

Sets the signature to create a co-signature

Declaration
public bool SetSignatureToCoSign(byte[] signature)
Parameters
Type Name Description
Byte[] signature

Signature content bytes

Returns
Type Description
Boolean

SetSignatureToCoSign(Stream)

Sets the signature to create a co-signature

Declaration
public bool SetSignatureToCoSign(Stream stream)
Parameters
Type Name Description
Stream stream

Signature stream

Returns
Type Description
Boolean

SetSigningCertificate(PKCertificate)

Sets the signing certificate. Used in a two-step signature

Declaration
public void SetSigningCertificate(PKCertificate certificate)
Parameters
Type Name Description
PKCertificate certificate

Certificate

SetSigningCertificate(PKCertificateWithKey)

Sets the signing certificate with private key. Used in a one-step signature

Declaration
public void SetSigningCertificate(PKCertificateWithKey certWithKey)
Parameters
Type Name Description
PKCertificateWithKey certWithKey

Certificate with private key

SetSigningDescription(String)

Sets a custom text describing the signing operation. If set, it will be inlcuded as a signingDescription signed attribute

Declaration
public void SetSigningDescription(string description)
Parameters
Type Name Description
String description

SetTimestampRequester(ITimestampRequester)

Sets a timestamp requester. Must be set if the policy specification requires any type of timestamp attribute

Declaration
public void SetTimestampRequester(ITimestampRequester tsRequester)
Parameters
Type Name Description
ITimestampRequester tsRequester

Timestamp requester

VerifyParameters(Boolean)

Verifies if CadesSigner necessary parameters are set. If not, throws Exception.

Declaration
public void VerifyParameters(bool computingSignature = false)
Parameters
Type Name Description
Boolean computingSignature

Whether or not you will call the ComputeSignature() method to complete the siganture process in this step.

WriteSignature(Stream)

Writes the completed signature content to a stream

Declaration
public void WriteSignature(Stream stream)
Parameters
Type Name Description
Stream stream

Stream

Back to top Copyright © 2015-2020 Lacuna Software