<PackageReference Include="SSH.NET" Version="2025.0.0" />

RsaDigitalSignature

Implements RSA digital signature algorithm.
using System; using System.Runtime.CompilerServices; using System.Security.Cryptography; namespace Renci.SshNet.Security.Cryptography { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] public class RsaDigitalSignature : DigitalSignature, IDisposable { private readonly RsaKey _key; private readonly HashAlgorithmName _hashAlgorithmName; public RsaDigitalSignature(RsaKey rsaKey) : this(rsaKey, HashAlgorithmName.SHA1) { } public RsaDigitalSignature(RsaKey rsaKey, HashAlgorithmName hashAlgorithmName) { _key = rsaKey; _hashAlgorithmName = hashAlgorithmName; } public override bool Verify(byte[] input, byte[] signature) { return _key.RSA.VerifyData(input, signature, _hashAlgorithmName, RSASignaturePadding.Pkcs1); } public override byte[] Sign(byte[] input) { return _key.RSA.SignData(input, _hashAlgorithmName, RSASignaturePadding.Pkcs1); } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } protected virtual void Dispose(bool disposing) { } } }