java.security.cert.X509CRL#getExtensionValue()源码实例Demo

下面列出了java.security.cert.X509CRL#getExtensionValue() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: signer   文件: RevocationRefs.java
/**
 * 
 * 
 * @param extract
 *            CrlValidatedID from X509CRL
 * @return a CrlValidatedID
 * @throws NoSuchAlgorithmException
 * @throws CRLException
 */

private CrlValidatedID makeCrlValidatedID(X509CRL crl)
		throws NoSuchAlgorithmException, CRLException {

	Digest digest = DigestFactory.getInstance().factoryDefault();
	digest.setAlgorithm(DigestAlgorithmEnum.SHA_256);
	
	OtherHashAlgAndValue otherHashAlgAndValue = new OtherHashAlgAndValue(
				new AlgorithmIdentifier(NISTObjectIdentifiers.id_sha256), new DEROctetString(digest.digest(crl.getEncoded())));
	
	OtherHash hash = new OtherHash(otherHashAlgAndValue);

	BigInteger crlnumber;
	CrlIdentifier crlid;
	if (crl.getExtensionValue("2.5.29.20") != null) {
		ASN1Integer varASN1Integer = new ASN1Integer(crl.getExtensionValue("2.5.29.20"));
		crlnumber = varASN1Integer.getPositiveValue();

		crlid = new CrlIdentifier(new X500Name(crl.getIssuerX500Principal()
				.getName()), new DERUTCTime(crl.getThisUpdate()), crlnumber);
	} else {
		crlid = new CrlIdentifier(new X500Name(crl.getIssuerX500Principal()
				.getName()), new DERUTCTime(crl.getThisUpdate()));
	}

	CrlValidatedID crlvid = new CrlValidatedID(hash, crlid);

	return crlvid;
}
 
源代码2 项目: xades4j   文件: CrlExtensionsUtils.java
public static BigInteger getCrlNumber(X509CRL crl) throws IOException
{
    byte[] crlNumEnc = crl.getExtensionValue(X509Extension.cRLNumber.getId());
    BigInteger crlNum = null;
    // XAdES 7.4.2: "The 'number' element is an optional hint ..."
    if (crlNumEnc != null)
    {
        ASN1Object derCrlNum = X509ExtensionUtil.fromExtensionValue(crlNumEnc);
        crlNum = CRLNumber.getInstance(derCrlNum).getCRLNumber();
    }
    return crlNum;
}
 
源代码3 项目: RipplePower   文件: CertPathValidatorUtilities.java
static boolean isIndirectCRL(X509CRL crl)
    throws CRLException
{
    try
    {
        byte[] idp = crl.getExtensionValue(Extension.issuingDistributionPoint.getId());
        return idp != null
            && IssuingDistributionPoint.getInstance(ASN1OctetString.getInstance(idp).getOctets()).isIndirectCRL();
    }
    catch (Exception e)
    {
        throw new CRLException(
                "Exception reading IssuingDistributionPoint: " + e);
    }
}
 
源代码4 项目: RipplePower   文件: X509CRLObject.java
public static boolean isIndirectCRL(X509CRL crl)
    throws CRLException
{
    try
    {
        byte[] idp = crl.getExtensionValue(Extension.issuingDistributionPoint.getId());
        return idp != null
            && IssuingDistributionPoint.getInstance(ASN1OctetString.getInstance(idp).getOctets()).isIndirectCRL();
    }
    catch (Exception e)
    {
        throw new ExtCRLException(
                "Exception reading IssuingDistributionPoint", e);
    }
}
 
源代码5 项目: RipplePower   文件: X509CRLObject.java
static boolean isIndirectCRL(X509CRL crl)
    throws CRLException
{
    try
    {
        byte[] idp = crl.getExtensionValue(Extension.issuingDistributionPoint.getId());
        return idp != null
            && IssuingDistributionPoint.getInstance(ASN1OctetString.getInstance(idp).getOctets()).isIndirectCRL();
    }
    catch (Exception e)
    {
        throw new ExtCRLException(
                "Exception reading IssuingDistributionPoint", e);
    }
}
 
源代码6 项目: oxAuth   文件: CRLCertificateVerifier.java
@SuppressWarnings({ "deprecation", "resource" })
private BigInteger getCrlNumber(X509CRL crl) throws IOException {
	byte[] crlNumberExtensionValue = crl.getExtensionValue(X509Extensions.CRLNumber.getId());
	if (crlNumberExtensionValue == null) {
		return null;
	}

	DEROctetString octetString = (DEROctetString) (new ASN1InputStream(new ByteArrayInputStream(crlNumberExtensionValue)).readObject());
	byte[] octets = octetString.getOctets();
	DERInteger integer = (DERInteger) new ASN1InputStream(octets).readObject();
	BigInteger crlNumber = integer.getPositiveValue();

	return crlNumber;
}
 
static boolean isIndirectCRL(X509CRL crl)
    throws CRLException
{
    try
    {
        byte[] idp = crl.getExtensionValue(Extension.issuingDistributionPoint.getId());
        return idp != null
            && IssuingDistributionPoint.getInstance(ASN1OctetString.getInstance(idp).getOctets()).isIndirectCRL();
    }
    catch (Exception e)
    {
        throw new CRLException(
                "Exception reading IssuingDistributionPoint: " + e);
    }
}
 
源代码8 项目: ripple-lib-java   文件: X509CRLObject.java
public static boolean isIndirectCRL(X509CRL crl)
    throws CRLException
{
    try
    {
        byte[] idp = crl.getExtensionValue(Extension.issuingDistributionPoint.getId());
        return idp != null
            && IssuingDistributionPoint.getInstance(ASN1OctetString.getInstance(idp).getOctets()).isIndirectCRL();
    }
    catch (Exception e)
    {
        throw new ExtCRLException(
                "Exception reading IssuingDistributionPoint", e);
    }
}
 
源代码9 项目: ripple-lib-java   文件: X509CRLObject.java
static boolean isIndirectCRL(X509CRL crl)
    throws CRLException
{
    try
    {
        byte[] idp = crl.getExtensionValue(Extension.issuingDistributionPoint.getId());
        return idp != null
            && IssuingDistributionPoint.getInstance(ASN1OctetString.getInstance(idp).getOctets()).isIndirectCRL();
    }
    catch (Exception e)
    {
        throw new ExtCRLException(
                "Exception reading IssuingDistributionPoint", e);
    }
}
 
源代码10 项目: RipplePower   文件: X509CRLStoreSelector.java
public boolean match(Object obj)
{
    if (!(obj instanceof X509CRL))
    {
        return false;
    }
    X509CRL crl = (X509CRL)obj;
    ASN1Integer dci = null;
    try
    {
        byte[] bytes = crl
            .getExtensionValue(X509Extensions.DeltaCRLIndicator.getId());
        if (bytes != null)
        {
            dci = ASN1Integer.getInstance(X509ExtensionUtil
                .fromExtensionValue(bytes));
        }
    }
    catch (Exception e)
    {
        return false;
    }
    if (isDeltaCRLIndicatorEnabled())
    {
        if (dci == null)
        {
            return false;
        }
    }
    if (isCompleteCRLEnabled())
    {
        if (dci != null)
        {
            return false;
        }
    }
    if (dci != null)
    {

        if (maxBaseCRLNumber != null)
        {
            if (dci.getPositiveValue().compareTo(maxBaseCRLNumber) == 1)
            {
                return false;
            }
        }
    }
    if (issuingDistributionPointEnabled)
    {
        byte[] idp = crl
            .getExtensionValue(X509Extensions.IssuingDistributionPoint
                .getId());
        if (issuingDistributionPoint == null)
        {
            if (idp != null)
            {
                return false;
            }
        }
        else
        {
            if (!Arrays.areEqual(idp, issuingDistributionPoint))
            {
                return false;
            }
        }

    }
    return super.match((X509CRL)obj);
}
 
源代码11 项目: RipplePower   文件: PKIXCRLStoreSelector.java
public boolean match(CRL obj)
{
    if (!(obj instanceof X509CRL))
    {
        return baseSelector.match(obj);
    }

    X509CRL crl = (X509CRL)obj;
    ASN1Integer dci = null;
    try
    {
        byte[] bytes = crl
            .getExtensionValue(Extension.deltaCRLIndicator.getId());
        if (bytes != null)
        {
            dci = ASN1Integer.getInstance(ASN1OctetString.getInstance(bytes).getOctets());
        }
    }
    catch (Exception e)
    {
        return false;
    }
    if (isDeltaCRLIndicatorEnabled())
    {
        if (dci == null)
        {
            return false;
        }
    }
    if (isCompleteCRLEnabled())
    {
        if (dci != null)
        {
            return false;
        }
    }
    if (dci != null)
    {

        if (maxBaseCRLNumber != null)
        {
            if (dci.getPositiveValue().compareTo(maxBaseCRLNumber) == 1)
            {
                return false;
            }
        }
    }
    if (issuingDistributionPointEnabled)
    {
        byte[] idp = crl
            .getExtensionValue(Extension.issuingDistributionPoint
                .getId());
        if (issuingDistributionPoint == null)
        {
            if (idp != null)
            {
                return false;
            }
        }
        else
        {
            if (!Arrays.areEqual(idp, issuingDistributionPoint))
            {
                return false;
            }
        }

    }
    return baseSelector.match(obj);
}
 
源代码12 项目: ripple-lib-java   文件: X509CRLStoreSelector.java
public boolean match(Object obj)
{
    if (!(obj instanceof X509CRL))
    {
        return false;
    }
    X509CRL crl = (X509CRL)obj;
    ASN1Integer dci = null;
    try
    {
        byte[] bytes = crl
            .getExtensionValue(X509Extensions.DeltaCRLIndicator.getId());
        if (bytes != null)
        {
            dci = ASN1Integer.getInstance(X509ExtensionUtil
                .fromExtensionValue(bytes));
        }
    }
    catch (Exception e)
    {
        return false;
    }
    if (isDeltaCRLIndicatorEnabled())
    {
        if (dci == null)
        {
            return false;
        }
    }
    if (isCompleteCRLEnabled())
    {
        if (dci != null)
        {
            return false;
        }
    }
    if (dci != null)
    {

        if (maxBaseCRLNumber != null)
        {
            if (dci.getPositiveValue().compareTo(maxBaseCRLNumber) == 1)
            {
                return false;
            }
        }
    }
    if (issuingDistributionPointEnabled)
    {
        byte[] idp = crl
            .getExtensionValue(X509Extensions.IssuingDistributionPoint
                .getId());
        if (issuingDistributionPoint == null)
        {
            if (idp != null)
            {
                return false;
            }
        }
        else
        {
            if (!Arrays.areEqual(idp, issuingDistributionPoint))
            {
                return false;
            }
        }

    }
    return super.match((X509CRL)obj);
}
 
源代码13 项目: ripple-lib-java   文件: PKIXCRLStoreSelector.java
public boolean match(CRL obj)
{
    if (!(obj instanceof X509CRL))
    {
        return baseSelector.match(obj);
    }

    X509CRL crl = (X509CRL)obj;
    ASN1Integer dci = null;
    try
    {
        byte[] bytes = crl
            .getExtensionValue(Extension.deltaCRLIndicator.getId());
        if (bytes != null)
        {
            dci = ASN1Integer.getInstance(ASN1OctetString.getInstance(bytes).getOctets());
        }
    }
    catch (Exception e)
    {
        return false;
    }
    if (isDeltaCRLIndicatorEnabled())
    {
        if (dci == null)
        {
            return false;
        }
    }
    if (isCompleteCRLEnabled())
    {
        if (dci != null)
        {
            return false;
        }
    }
    if (dci != null)
    {

        if (maxBaseCRLNumber != null)
        {
            if (dci.getPositiveValue().compareTo(maxBaseCRLNumber) == 1)
            {
                return false;
            }
        }
    }
    if (issuingDistributionPointEnabled)
    {
        byte[] idp = crl
            .getExtensionValue(Extension.issuingDistributionPoint
                .getId());
        if (issuingDistributionPoint == null)
        {
            if (idp != null)
            {
                return false;
            }
        }
        else
        {
            if (!Arrays.areEqual(idp, issuingDistributionPoint))
            {
                return false;
            }
        }

    }
    return baseSelector.match(obj);
}