using System;
using System.IO;
using Org.BouncyCastle.Tls.Crypto;
namespace Org.BouncyCastle.Tls
{
/// Support interface for generating a signature based on our private credentials.
public interface TlsCredentialedSigner
: TlsCredentials
{
/// Generate a signature against the passed in hash.
/// a message digest calculated across the message the signature is to apply to.
/// an encoded signature.
/// if the hash cannot be processed, or there is an issue with the private
/// credentials.
byte[] GenerateRawSignature(byte[] hash);
/// Return the algorithm IDs for the signature algorithm and the associated hash it uses.
/// the full algorithm details for the signature.
SignatureAndHashAlgorithm SignatureAndHashAlgorithm { get; }
///
TlsStreamSigner GetStreamSigner();
}
}