IsAlgIDEqual() private static method

private static IsAlgIDEqual ( AlgorithmIdentifier id1, AlgorithmIdentifier id2 ) : bool
id1 AlgorithmIdentifier
id2 AlgorithmIdentifier
return bool
Exemplo n.º 1
0
        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");
            }
        }