<PackageReference Include="BouncyCastle.Cryptography" Version="2.3.0" />

Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner

ISO9796-2 - mechanism using a hash function with recovery (scheme 2 and 3). Note: the usual length for the salt is the length of the hash function used in bytes.
namespace Org.BouncyCastle.Crypto.Signers { public class Iso9796d2PssSigner : ISignerWithRecovery, ISigner { public virtual string AlgorithmName { get; } public byte[] GetRecoveredMessage(); public Iso9796d2PssSigner(IAsymmetricBlockCipher cipher, IDigest digest, int saltLength, bool isImplicit); public Iso9796d2PssSigner(IAsymmetricBlockCipher cipher, IDigest digest, int saltLength); public virtual void Init(bool forSigning, ICipherParameters parameters); public virtual void UpdateWithRecoveredMessage(byte[] signature); public virtual void Update(byte input); public virtual void BlockUpdate(byte[] input, int inOff, int inLen); public virtual int GetMaxSignatureSize(); public virtual byte[] GenerateSignature(); public virtual bool VerifySignature(byte[] signature); public virtual void Reset(); public virtual bool HasFullMessage(); } }