26 lines
781 B
C#
26 lines
781 B
C#
using System.Security.Cryptography;
|
|
|
|
namespace StellaOps.Cryptography.Kms.Tests;
|
|
|
|
public sealed partial class CloudKmsClientTests
|
|
{
|
|
private sealed class EcdsaFixture : IDisposable
|
|
{
|
|
private readonly ECDsa _ecdsa = ECDsa.Create(ECCurve.NamedCurves.nistP256);
|
|
|
|
public ECParameters Parameters => _ecdsa.ExportParameters(true);
|
|
|
|
public byte[] PublicSubjectInfo => _ecdsa.ExportSubjectPublicKeyInfo();
|
|
|
|
public byte[] SignDigest(ReadOnlySpan<byte> digest) => _ecdsa.SignHash(digest.ToArray());
|
|
|
|
public bool VerifyDigest(ReadOnlySpan<byte> digest, ReadOnlySpan<byte> signature)
|
|
=> _ecdsa.VerifyHash(digest.ToArray(), signature.ToArray());
|
|
|
|
public void Dispose()
|
|
{
|
|
_ecdsa.Dispose();
|
|
}
|
|
}
|
|
}
|