using System.Security.Cryptography; namespace GeoVLog.Core.Crypto; internal static class SignatureHelper { private static RSA _signer; private static RSA _verifier; static SignatureHelper() { _signer = RSA.Create(); _signer.ImportFromPem(CompanyKeys.SigningPrivatePem); _verifier = RSA.Create(); _verifier.ImportFromPem(CompanyKeys.SigningPublicPem); } internal static byte[] SignSha256(ReadOnlySpan data) => _signer.SignData(data, HashAlgorithmName.SHA256, RSASignaturePadding.Pss); internal static bool VerifySha256(ReadOnlySpan data, ReadOnlySpan sig) => _verifier.VerifyData(data, sig, HashAlgorithmName.SHA256, RSASignaturePadding.Pss); }