Class PssSigner
- Namespace
- Org.BouncyCastle.Crypto.Signers
- Assembly
- BouncyCastle.Cryptography.dll
RSA-PSS as described in Pkcs# 1 v 2.1.
Note: the usual value for the salt length is the number of bytes in the hash function.
public class PssSigner : ISigner
- Inheritance
-
PssSigner
- Implements
- Inherited Members
Constructors
PssSigner(IAsymmetricBlockCipher, IDigest)
public PssSigner(IAsymmetricBlockCipher cipher, IDigest digest)
Parameters
cipherIAsymmetricBlockCipherdigestIDigest
PssSigner(IAsymmetricBlockCipher, IDigest, IDigest, byte[])
public PssSigner(IAsymmetricBlockCipher cipher, IDigest contentDigest, IDigest mgfDigest, byte[] salt)
Parameters
cipherIAsymmetricBlockCiphercontentDigestIDigestmgfDigestIDigestsaltbyte[]
PssSigner(IAsymmetricBlockCipher, IDigest, IDigest, int)
public PssSigner(IAsymmetricBlockCipher cipher, IDigest contentDigest, IDigest mgfDigest, int saltLen)
Parameters
cipherIAsymmetricBlockCiphercontentDigestIDigestmgfDigestIDigestsaltLenint
PssSigner(IAsymmetricBlockCipher, IDigest, IDigest, int, byte)
public PssSigner(IAsymmetricBlockCipher cipher, IDigest contentDigest, IDigest mgfDigest, int saltLen, byte trailer)
Parameters
cipherIAsymmetricBlockCiphercontentDigestIDigestmgfDigestIDigestsaltLeninttrailerbyte
PssSigner(IAsymmetricBlockCipher, IDigest, byte[])
Basic constructor
public PssSigner(IAsymmetricBlockCipher cipher, IDigest digest, byte[] salt)
Parameters
cipherIAsymmetricBlockCipherthe asymmetric cipher to use.
digestIDigestthe digest to use.
saltbyte[]the fixed salt to be used.
PssSigner(IAsymmetricBlockCipher, IDigest, int)
Basic constructor
public PssSigner(IAsymmetricBlockCipher cipher, IDigest digest, int saltLen)
Parameters
cipherIAsymmetricBlockCipherthe asymmetric cipher to use.
digestIDigestthe digest to use.
saltLenintthe length of the salt to use (in bytes).
PssSigner(IAsymmetricBlockCipher, IDigest, int, byte)
public PssSigner(IAsymmetricBlockCipher cipher, IDigest digest, int saltLen, byte trailer)
Parameters
cipherIAsymmetricBlockCipherdigestIDigestsaltLeninttrailerbyte
Fields
TrailerImplicit
public const byte TrailerImplicit = 188
Field Value
Properties
AlgorithmName
The algorithm name.
public virtual string AlgorithmName { get; }
Property Value
Methods
BlockUpdate(byte[], int, int)
Update the signer with a block of bytes.
public virtual void BlockUpdate(byte[] input, int inOff, int inLen)
Parameters
inputbyte[]the byte array containing the data.
inOffintthe offset into the byte array where the data starts.
inLenintthe length of the data.
BlockUpdate(ReadOnlySpan<byte>)
Update the signer with a span of bytes.
public virtual void BlockUpdate(ReadOnlySpan<byte> input)
Parameters
inputReadOnlySpan<byte>the span containing the data.
CreateRawSigner(IAsymmetricBlockCipher, IDigest)
public static PssSigner CreateRawSigner(IAsymmetricBlockCipher cipher, IDigest digest)
Parameters
cipherIAsymmetricBlockCipherdigestIDigest
Returns
CreateRawSigner(IAsymmetricBlockCipher, IDigest, IDigest, byte[], byte)
public static PssSigner CreateRawSigner(IAsymmetricBlockCipher cipher, IDigest contentDigest, IDigest mgfDigest, byte[] salt, byte trailer)
Parameters
cipherIAsymmetricBlockCiphercontentDigestIDigestmgfDigestIDigestsaltbyte[]trailerbyte
Returns
CreateRawSigner(IAsymmetricBlockCipher, IDigest, IDigest, int, byte)
public static PssSigner CreateRawSigner(IAsymmetricBlockCipher cipher, IDigest contentDigest, IDigest mgfDigest, int saltLen, byte trailer)
Parameters
cipherIAsymmetricBlockCiphercontentDigestIDigestmgfDigestIDigestsaltLeninttrailerbyte
Returns
CreateRawSigner(IAsymmetricBlockCipher, IDigest, int)
public static PssSigner CreateRawSigner(IAsymmetricBlockCipher cipher, IDigest digest, int saltLen)
Parameters
cipherIAsymmetricBlockCipherdigestIDigestsaltLenint
Returns
GenerateSignature()
Generate a signature for the message we've been loaded with using the key we were initialised with.
public virtual byte[] GenerateSignature()
Returns
- byte[]
A byte array containing the signature for the message.
GetMaxSignatureSize()
public virtual int GetMaxSignatureSize()
Returns
Init(bool, ICipherParameters)
Initialise the signer for signing or verification.
public virtual void Init(bool forSigning, ICipherParameters parameters)
Parameters
forSigningbooltrue if for signing, false otherwise.
parametersICipherParametersnecessary parameters.
Reset()
Reset the signer back to its initial state.
public virtual void Reset()
Update(byte)
Update the signer with a single byte.
public virtual void Update(byte input)
Parameters
inputbytethe input byte to be entered.
VerifySignature(byte[])
Return true if the internal state represents the signature described in the passed in array.
public virtual bool VerifySignature(byte[] signature)
Parameters
signaturebyte[]an array containing the candidate signature to verify.
Returns
- bool
true if the internal state represents the signature described in the passed in array.