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

PKMacValueVerifier

using Org.BouncyCastle.Asn1.Cmp; using Org.BouncyCastle.Asn1.Crmf; using Org.BouncyCastle.Asn1.X509; using Org.BouncyCastle.X509; using System; namespace Org.BouncyCastle.Crmf { internal class PKMacValueVerifier { private readonly PKMacBuilder m_builder; internal PKMacValueVerifier(PKMacBuilder builder) { m_builder = builder; } internal virtual bool IsValid(PKMacValue value, ReadOnlySpan<char> password, SubjectPublicKeyInfo keyInfo) { m_builder.SetParameters(PbmParameter.GetInstance(value.AlgID.Parameters)); return X509Utilities.VerifyMac(m_builder.Build(password), keyInfo, value.MacValue); } } }