protected virtual void CheckSignature( ISignatureVerifier verifier) { if (!cert.SignatureAlgorithm.Equals(cert.ACInfo.Signature)) { throw new CertificateException("Signature algorithm in certificate info not same as outer certificate"); } IStreamCalculator streamCalculator = verifier.CreateCalculator(); try { byte[] b = this.cert.ACInfo.GetEncoded(); streamCalculator.Stream.Write(b, 0, b.Length); streamCalculator.Stream.Close(); } catch (IOException e) { throw new SignatureException("Exception encoding certificate info object", e); } if (!((IVerifier)streamCalculator.GetResult()).IsVerified(this.GetSignature())) { throw new InvalidKeyException("Public key presented not for certificate signature"); } }
public bool Verify( ISignatureVerifier verifier) { try { byte[] b = reqInfo.GetDerEncoded(); IStreamCalculator streamCalculator = verifier.CreateCalculator(); streamCalculator.Stream.Write(b, 0, b.Length); streamCalculator.Stream.Close(); return(((IVerifier)streamCalculator.GetResult()).IsVerified(sigBits.GetBytes())); } catch (Exception e) { throw new SignatureException("exception encoding TBS cert request", e); } }
protected virtual void CheckSignature( ISignatureVerifier verifier) { if (!IsAlgIDEqual(c.SignatureAlgorithm, c.TbsCertificate.Signature)) { throw new CertificateException("signature algorithm in TBS cert not same as outer cert"); } Asn1Encodable parameters = c.SignatureAlgorithm.Parameters; IStreamCalculator streamCalculator = verifier.CreateCalculator(); byte[] b = this.GetTbsCertificate(); streamCalculator.Stream.Write(b, 0, b.Length); streamCalculator.Stream.Close(); if (!((IVerifier)streamCalculator.GetResult()).IsVerified(this.GetSignature())) { throw new InvalidKeyException("Public key presented not for certificate signature"); } }
protected virtual void CheckSignature( ISignatureVerifier verifier) { if (!c.SignatureAlgorithm.Equals(c.TbsCertList.Signature)) { throw new CrlException("Signature algorithm on CertificateList does not match TbsCertList."); } Asn1Encodable parameters = c.SignatureAlgorithm.Parameters; IStreamCalculator streamCalculator = verifier.CreateCalculator(); byte[] b = this.GetTbsCertList(); streamCalculator.Stream.Write(b, 0, b.Length); streamCalculator.Stream.Close(); if (!((IVerifier)streamCalculator.GetResult()).IsVerified(this.GetSignature())) { throw new InvalidKeyException("CRL does not verify with supplied public key."); } }
protected virtual void CheckSignature( ISignatureVerifier verifier) { if (!cert.SignatureAlgorithm.Equals(cert.ACInfo.Signature)) { throw new CertificateException("Signature algorithm in certificate info not same as outer certificate"); } IStreamCalculator streamCalculator = verifier.CreateCalculator(); try { byte[] b = this.cert.ACInfo.GetEncoded(); streamCalculator.Stream.Write(b, 0, b.Length); streamCalculator.Stream.Close(); } catch (IOException e) { throw new SignatureException("Exception encoding certificate info object", e); } if (!((IVerifier)streamCalculator.GetResult()).IsVerified(this.GetSignature())) { throw new InvalidKeyException("Public key presented not for certificate signature"); } }
protected virtual void CheckSignature( ISignatureVerifier verifier) { if (!c.SignatureAlgorithm.Equals(c.TbsCertList.Signature)) { throw new CrlException("Signature algorithm on CertificateList does not match TbsCertList."); } Asn1Encodable parameters = c.SignatureAlgorithm.Parameters; IStreamCalculator streamCalculator = verifier.CreateCalculator(); byte[] b = this.GetTbsCertList(); streamCalculator.Stream.Write(b, 0, b.Length); streamCalculator.Stream.Close(); if (!((IVerifier)streamCalculator.GetResult()).IsVerified(this.GetSignature())) { throw new InvalidKeyException("CRL does not verify with supplied public key."); } }
protected virtual void CheckSignature( ISignatureVerifier verifier) { if (!IsAlgIDEqual(c.SignatureAlgorithm, c.TbsCertificate.Signature)) throw new CertificateException("signature algorithm in TBS cert not same as outer cert"); Asn1Encodable parameters = c.SignatureAlgorithm.Parameters; IStreamCalculator streamCalculator = verifier.CreateCalculator(); byte[] b = this.GetTbsCertificate(); streamCalculator.Stream.Write(b, 0, b.Length); streamCalculator.Stream.Close(); if (!((IVerifier)streamCalculator.GetResult()).IsVerified(this.GetSignature())) { throw new InvalidKeyException("Public key presented not for certificate signature"); } }
public bool Verify( ISignatureVerifier verifier) { try { byte[] b = reqInfo.GetDerEncoded(); IStreamCalculator streamCalculator = verifier.CreateCalculator(); streamCalculator.Stream.Write(b, 0, b.Length); streamCalculator.Stream.Close(); return ((IVerifier)streamCalculator.GetResult()).IsVerified(sigBits.GetBytes()); } catch (Exception e) { throw new SignatureException("exception encoding TBS cert request", e); } }