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


C# X509Certificate.GetKeyUsage方法代碼示例

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


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

示例1: ProcessAttrCert3

		internal static void ProcessAttrCert3(
			X509Certificate	acIssuerCert,
			PkixParameters	pkixParams)
		{
			if (acIssuerCert.GetKeyUsage() != null
				&& (!acIssuerCert.GetKeyUsage()[0] && !acIssuerCert.GetKeyUsage()[1]))
			{
				throw new PkixCertPathValidatorException(
					"Attribute certificate issuer public key cannot be used to validate digital signatures.");
			}
			if (acIssuerCert.GetBasicConstraints() != -1)
			{
				throw new PkixCertPathValidatorException(
					"Attribute certificate issuer is also a public key certificate issuer.");
			}
		}
開發者ID:kungfubozo,項目名稱:Bouncy-Castle-WP8,代碼行數:16,代碼來源:Rfc3281CertPathUtilities.cs

示例2: 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.X509Certificate.GetKeyUsage方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。