Table of Contents

Class PgpSignatureSubpacketGenerator

Namespace
Org.BouncyCastle.Bcpg.OpenPgp
Assembly
BouncyCastle.Cryptography.dll
public class PgpSignatureSubpacketGenerator
Inheritance
PgpSignatureSubpacketGenerator
Inherited Members

Remarks

Generator for signature subpackets.

Constructors

PgpSignatureSubpacketGenerator()

Base constructor, creates an empty generator.

public PgpSignatureSubpacketGenerator()

PgpSignatureSubpacketGenerator(PgpSignatureSubpacketVector)

Constructor for pre-initialising the generator from an existing one.

public PgpSignatureSubpacketGenerator(PgpSignatureSubpacketVector sigSubV)

Parameters

sigSubV PgpSignatureSubpacketVector

sigSubV an initial set of subpackets.

Methods

AddCustomSubpacket(SignatureSubpacket)

public void AddCustomSubpacket(SignatureSubpacket subpacket)

Parameters

subpacket SignatureSubpacket

AddEmbeddedSignature(bool, PgpSignature)

public void AddEmbeddedSignature(bool isCritical, PgpSignature pgpSignature)

Parameters

isCritical bool
pgpSignature PgpSignature

AddIntendedRecipientFingerprint(bool, PgpPublicKey)

public void AddIntendedRecipientFingerprint(bool isCritical, PgpPublicKey publicKey)

Parameters

isCritical bool
publicKey PgpPublicKey

AddNotationData(bool, bool, string, string)

public void AddNotationData(bool isCritical, bool isHumanReadable, string notationName, string notationValue)

Parameters

isCritical bool
isHumanReadable bool
notationName string
notationValue string

AddPolicyUrl(bool, string)

public void AddPolicyUrl(bool isCritical, string policyUrl)

Parameters

isCritical bool
policyUrl string

AddRevocationKey(bool, PublicKeyAlgorithmTag, byte[])

public void AddRevocationKey(bool isCritical, PublicKeyAlgorithmTag keyAlgorithm, byte[] fingerprint)

Parameters

isCritical bool
keyAlgorithm PublicKeyAlgorithmTag
fingerprint byte[]

AddSignerUserId(bool, string)

public void AddSignerUserId(bool isCritical, string userId)

Parameters

isCritical bool
userId string

Generate()

public PgpSignatureSubpacketVector Generate()

Returns

PgpSignatureSubpacketVector

GetSubpackets(SignatureSubpacketTag)

public SignatureSubpacket[] GetSubpackets(SignatureSubpacketTag type)

Parameters

type SignatureSubpacketTag

Returns

SignatureSubpacket[]

HasSubpacket(SignatureSubpacketTag)

public bool HasSubpacket(SignatureSubpacketTag type)

Parameters

type SignatureSubpacketTag

Returns

bool

RemovePacket(SignatureSubpacket)

public bool RemovePacket(SignatureSubpacket packet)

Parameters

packet SignatureSubpacket

Returns

bool

SetEmbeddedSignature(bool, PgpSignature)

[Obsolete("Use 'AddEmbeddedSignature' instead")]
public void SetEmbeddedSignature(bool isCritical, PgpSignature pgpSignature)

Parameters

isCritical bool
pgpSignature PgpSignature

SetExportable(bool, bool)

public void SetExportable(bool isCritical, bool isExportable)

Parameters

isCritical bool
isExportable bool

SetFeature(bool, byte)

public void SetFeature(bool isCritical, byte feature)

Parameters

isCritical bool
feature byte

SetIssuerFingerprint(bool, PgpPublicKey)

public void SetIssuerFingerprint(bool isCritical, PgpPublicKey publicKey)

Parameters

isCritical bool
publicKey PgpPublicKey

SetIssuerFingerprint(bool, PgpSecretKey)

public void SetIssuerFingerprint(bool isCritical, PgpSecretKey secretKey)

Parameters

isCritical bool
secretKey PgpSecretKey

SetIssuerKeyID(bool, long)

Sets issuer key sub packet

public void SetIssuerKeyID(bool isCritical, long keyID)

Parameters

isCritical bool
keyID long

SetKeyExpirationTime(bool, long)

Set the number of seconds a key is valid for after the time of its creation. A value of zero means the key never expires.

public void SetKeyExpirationTime(bool isCritical, long seconds)

Parameters

isCritical bool

True, if should be treated as critical, false otherwise.

seconds long

The number of seconds the key is valid, or zero if no expiry.

SetKeyFlags(bool, int)

public void SetKeyFlags(bool isCritical, int flags)

Parameters

isCritical bool
flags int

SetNotationData(bool, bool, string, string)

[Obsolete("Use 'AddNotationData' instead")]
public void SetNotationData(bool isCritical, bool isHumanReadable, string notationName, string notationValue)

Parameters

isCritical bool
isHumanReadable bool
notationName string
notationValue string

SetPreferredAeadAlgorithms(bool, int[])

public void SetPreferredAeadAlgorithms(bool isCritical, int[] algorithms)

Parameters

isCritical bool
algorithms int[]

SetPreferredCompressionAlgorithms(bool, int[])

public void SetPreferredCompressionAlgorithms(bool isCritical, int[] algorithms)

Parameters

isCritical bool
algorithms int[]

SetPreferredHashAlgorithms(bool, int[])

public void SetPreferredHashAlgorithms(bool isCritical, int[] algorithms)

Parameters

isCritical bool
algorithms int[]

SetPreferredSymmetricAlgorithms(bool, int[])

public void SetPreferredSymmetricAlgorithms(bool isCritical, int[] algorithms)

Parameters

isCritical bool
algorithms int[]

SetPrimaryUserId(bool, bool)

public void SetPrimaryUserId(bool isCritical, bool isPrimaryUserId)

Parameters

isCritical bool
isPrimaryUserId bool

SetRevocable(bool, bool)

public void SetRevocable(bool isCritical, bool isRevocable)

Parameters

isCritical bool
isRevocable bool

SetRevocationKey(bool, PublicKeyAlgorithmTag, byte[])

[Obsolete("Use 'AddRevocationKey' instead")]
public void SetRevocationKey(bool isCritical, PublicKeyAlgorithmTag keyAlgorithm, byte[] fingerprint)

Parameters

isCritical bool
keyAlgorithm PublicKeyAlgorithmTag
fingerprint byte[]

SetRevocationReason(bool, RevocationReasonTag, string)

Sets revocation reason sub packet

public void SetRevocationReason(bool isCritical, RevocationReasonTag reason, string description)

Parameters

isCritical bool
reason RevocationReasonTag
description string

SetSignatureCreationTime(bool, DateTime)

Set the creation time for the signature.

Note: this overrides the generation of a creation time when the signature is generated.

public void SetSignatureCreationTime(bool isCritical, DateTime date)

Parameters

isCritical bool
date DateTime

SetSignatureExpirationTime(bool, long)

Set the number of seconds a signature is valid for after the time of its creation. A value of zero means the signature never expires.

public void SetSignatureExpirationTime(bool isCritical, long seconds)

Parameters

isCritical bool

True, if should be treated as critical, false otherwise.

seconds long

The number of seconds the signature is valid, or zero if no expiry.

SetSignatureTarget(bool, int, int, byte[])

public void SetSignatureTarget(bool isCritical, int publicKeyAlgorithm, int hashAlgorithm, byte[] hashData)

Parameters

isCritical bool
publicKeyAlgorithm int
hashAlgorithm int
hashData byte[]

SetSignerUserId(bool, byte[])

public void SetSignerUserId(bool isCritical, byte[] rawUserId)

Parameters

isCritical bool
rawUserId byte[]

SetSignerUserId(bool, string)

[Obsolete("Use 'AddSignerUserId' instead")]
public void SetSignerUserId(bool isCritical, string userId)

Parameters

isCritical bool
userId string

SetTrust(bool, int, int)

Add a TrustSignature packet to the signature. The values for depth and trust are largely installation dependent but there are some guidelines in RFC 4880 - 5.2.3.13.

public void SetTrust(bool isCritical, int depth, int trustAmount)

Parameters

isCritical bool

true if the packet is critical.

depth int

depth level.

trustAmount int

trust amount.