private static IsAlgIDEqual ( AlgorithmIdentifier id1, AlgorithmIdentifier id2 ) : bool | ||
id1 | AlgorithmIdentifier | |
id2 | AlgorithmIdentifier | |
return | bool |
protected virtual void CheckSignature(AsymmetricKeyParameter publicKey, ISigner signature) { if (!X509Certificate.IsAlgIDEqual(this.c.SignatureAlgorithm, this.c.TbsCertificate.Signature)) { throw new CertificateException("signature algorithm in TBS cert not same as outer cert"); } Asn1Encodable parameters = this.c.SignatureAlgorithm.Parameters; X509SignatureUtilities.SetSignatureParameters(signature, parameters); signature.Init(false, publicKey); byte[] tbsCertificate = this.GetTbsCertificate(); signature.BlockUpdate(tbsCertificate, 0, tbsCertificate.Length); byte[] signature2 = this.GetSignature(); if (!signature.VerifySignature(signature2)) { throw new InvalidKeyException("Public key presented not for certificate signature"); } }