當前位置: 首頁>>代碼示例>>C#>>正文


C# X509Crl.Verify方法代碼示例

本文整理匯總了C#中Org.BouncyCastle.X509.X509Crl.Verify方法的典型用法代碼示例。如果您正苦於以下問題:C# X509Crl.Verify方法的具體用法?C# X509Crl.Verify怎麽用?C# X509Crl.Verify使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Org.BouncyCastle.X509.X509Crl的用法示例。


在下文中一共展示了X509Crl.Verify方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: IsSignatureValid

 /**
  * Checks if a CRL verifies against the issuer certificate or a trusted anchor.
  * @param crl	the CRL
  * @param crlIssuer	the trusted anchor
  * @return	true if the CRL can be trusted
  */
 public bool IsSignatureValid(X509Crl crl, X509Certificate crlIssuer)
 {
     // check if the CRL was issued by the issuer
     if (crlIssuer != null) {
         try {
             crl.Verify(crlIssuer.GetPublicKey());
             return true;
         } catch (GeneralSecurityException) {
             LOGGER.Warn("CRL not issued by the same authority as the certificate that is being checked");
         }
     }
     // check the CRL against trusted anchors
     if (certificates == null)
         return false;
     try {
         // loop over the certificate in the key store
         foreach (X509Certificate anchor in certificates) {
             try {
                 crl.Verify(anchor.GetPublicKey());
                 return true;
             } catch (GeneralSecurityException) {}
         }
     }
     catch (GeneralSecurityException) {
         return false;
     }
     return false;
 }
開發者ID:mapo80,項目名稱:iTextSharp-Monotouch,代碼行數:34,代碼來源:CrlVerifier.cs

示例2: ProcessCrlG

		internal static AsymmetricKeyParameter ProcessCrlG(
			X509Crl	crl,
			ISet	keys)
		{
			Exception lastException = null;
			foreach (AsymmetricKeyParameter key in keys)
			{
				try
				{
					crl.Verify(key);
					return key;
				}
				catch (Exception e)
				{
					lastException = e;
				}
			}
			throw new Exception("Cannot verify CRL.", lastException);
		}
開發者ID:Niladri24dutta,項目名稱:itextsharp,代碼行數:19,代碼來源:Rfc3280CertPathUtilities.cs

示例3: IsCRLOK

		private bool IsCRLOK(X509Crl x509crl, X509Certificate issuerCertificate, DateTime
			 validationDate)
		{
			if (issuerCertificate == null)
			{
				throw new ArgumentNullException("Must provide a issuer certificate to validate the signature"
					);
			}
			if (!x509crl.IssuerDN.Equals(issuerCertificate.SubjectDN))
			{
				LOG.Warn("The CRL must be signed by the issuer (" + issuerCertificate.SubjectDN
					+ " ) but instead is signed by " + x509crl.IssuerDN);
				return false;
			}
			try
			{
				x509crl.Verify(issuerCertificate.GetPublicKey());
			}
			catch (Exception e)
			{
				LOG.Warn("The signature verification for CRL cannot be performed : " + e.Message
					);
				return false;
			}
			DateTime thisUpdate = x509crl.ThisUpdate;
			LOG.Info("validation date: " + validationDate);
			LOG.Info("CRL this update: " + thisUpdate);
			//        if (thisUpdate.after(validationDate)) {
			//            LOG.warning("CRL too young");
			//            return false;
			//        }
			LOG.Info("CRL next update: " + x509crl.NextUpdate);
			if (x509crl.NextUpdate != null && validationDate.CompareTo(x509crl.NextUpdate.Value) > 0) //jbonilla After
			{
				LOG.Info("CRL too old");
				return false;
			}
			// assert cRLSign KeyUsage bit
			if (null == issuerCertificate.GetKeyUsage())
			{
				LOG.Warn("No KeyUsage extension for CRL issuing certificate");
				return false;
			}
			if (false == issuerCertificate.GetKeyUsage()[6])
			{
				LOG.Warn("cRLSign bit not set for CRL issuing certificate");
				return false;
			}
			return true;
		}
開發者ID:Gianluigi,項目名稱:dssnet,代碼行數:50,代碼來源:CRLCertificateVerifier.cs


注:本文中的Org.BouncyCastle.X509.X509Crl.Verify方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。