Table of Contents

Class SignerInfo

Namespace
Org.BouncyCastle.Asn1.Cms
Assembly
BouncyCastle.Cryptography.dll

Represents per-signer information within a SignedData

public class SignerInfo : Asn1Encodable, IAsn1Convertible
Inheritance
SignerInfo
Implements
Inherited Members

Remarks

See RFC 5652 5.3.

SignerInfo ::= SEQUENCE {
  version CMSVersion,
  sid SignerIdentifier,
  digestAlgorithm DigestAlgorithmIdentifier,
  signedAttrs [0] IMPLICIT SignedAttributes OPTIONAL,
  signatureAlgorithm SignatureAlgorithmIdentifier,
  signature SignatureValue,
  unsignedAttrs [1] IMPLICIT UnsignedAttributes OPTIONAL }

SignerIdentifier ::= CHOICE {
  issuerAndSerialNumber IssuerAndSerialNumber,
  subjectKeyIdentifier [0] SubjectKeyIdentifier }

SignedAttributes ::= SET SIZE (1..MAX) OF Attribute

UnsignedAttributes ::= SET SIZE (1..MAX) OF Attribute

Attribute ::= SEQUENCE {
  attrType OBJECT IDENTIFIER,
  attrValues SET OF AttributeValue }

AttributeValue ::= ANY

SignatureValue ::= OCTET STRING

Constructors

SignerInfo(SignerIdentifier, AlgorithmIdentifier, Asn1Set, AlgorithmIdentifier, Asn1OctetString, Asn1Set)

public SignerInfo(SignerIdentifier sid, AlgorithmIdentifier digAlgorithm, Asn1Set authenticatedAttributes, AlgorithmIdentifier digEncryptionAlgorithm, Asn1OctetString encryptedDigest, Asn1Set unauthenticatedAttributes)

Parameters

sid SignerIdentifier
digAlgorithm AlgorithmIdentifier
authenticatedAttributes Asn1Set
digEncryptionAlgorithm AlgorithmIdentifier
encryptedDigest Asn1OctetString
unauthenticatedAttributes Asn1Set

SignerInfo(SignerIdentifier, AlgorithmIdentifier, Attributes, AlgorithmIdentifier, Asn1OctetString, Attributes)

public SignerInfo(SignerIdentifier sid, AlgorithmIdentifier digAlgorithm, Attributes authenticatedAttributes, AlgorithmIdentifier digEncryptionAlgorithm, Asn1OctetString encryptedDigest, Attributes unauthenticatedAttributes)

Parameters

sid SignerIdentifier
digAlgorithm AlgorithmIdentifier
authenticatedAttributes Attributes
digEncryptionAlgorithm AlgorithmIdentifier
encryptedDigest Asn1OctetString
unauthenticatedAttributes Attributes

Properties

AuthenticatedAttributes

[Obsolete("Use 'SignedAttrs' instead")]
public Asn1Set AuthenticatedAttributes { get; }

Property Value

Asn1Set

DigestAlgorithm

public AlgorithmIdentifier DigestAlgorithm { get; }

Property Value

AlgorithmIdentifier

DigestEncryptionAlgorithm

[Obsolete("Use 'SignatureAlgorithm' instead")]
public AlgorithmIdentifier DigestEncryptionAlgorithm { get; }

Property Value

AlgorithmIdentifier

EncryptedDigest

[Obsolete("Use 'Signature' instead")]
public Asn1OctetString EncryptedDigest { get; }

Property Value

Asn1OctetString

Signature

public Asn1OctetString Signature { get; }

Property Value

Asn1OctetString

SignatureAlgorithm

public AlgorithmIdentifier SignatureAlgorithm { get; }

Property Value

AlgorithmIdentifier

SignedAttrs

public Asn1Set SignedAttrs { get; }

Property Value

Asn1Set

SignerID

public SignerIdentifier SignerID { get; }

Property Value

SignerIdentifier

UnauthenticatedAttributes

[Obsolete("Use 'UnsignedAttrs' instead")]
public Asn1Set UnauthenticatedAttributes { get; }

Property Value

Asn1Set

UnsignedAttrs

public Asn1Set UnsignedAttrs { get; }

Property Value

Asn1Set

Version

public DerInteger Version { get; }

Property Value

DerInteger

Methods

GetInstance(Asn1TaggedObject, bool)

public static SignerInfo GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)

Parameters

taggedObject Asn1TaggedObject
declaredExplicit bool

Returns

SignerInfo

GetInstance(object)

public static SignerInfo GetInstance(object obj)

Parameters

obj object

Returns

SignerInfo

GetTagged(Asn1TaggedObject, bool)

public static SignerInfo GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit)

Parameters

taggedObject Asn1TaggedObject
declaredExplicit bool

Returns

SignerInfo

ToAsn1Object()

public override Asn1Object ToAsn1Object()

Returns

Asn1Object