本文整理匯總了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.");
}
}
示例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;
}