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

Asn1VerifierFactoryProvider

Provider class which supports dynamic creation of signature verifiers.
using Org.BouncyCastle.Asn1.X509; using System; using System.Collections.Generic; namespace Org.BouncyCastle.Crypto.Operators { public class Asn1VerifierFactoryProvider : IVerifierFactoryProvider { private readonly AsymmetricKeyParameter m_publicKey; public IEnumerable<string> SignatureAlgNames => X509Utilities.GetSigNames(); public Asn1VerifierFactoryProvider(AsymmetricKeyParameter publicKey) { if (publicKey == null) throw new ArgumentNullException("publicKey"); if (publicKey.IsPrivate) throw new ArgumentException("Key for verifying must be public", "publicKey"); m_publicKey = publicKey; } public IVerifierFactory CreateVerifierFactory(object algorithmDetails) { return new Asn1VerifierFactory((AlgorithmIdentifier)algorithmDetails, m_publicKey); } } }