当前位置: 首页>>代码示例>>Java>>正文


Java DistributionPoint类代码示例

本文整理汇总了Java中org.bouncycastle.asn1.x509.DistributionPoint的典型用法代码示例。如果您正苦于以下问题:Java DistributionPoint类的具体用法?Java DistributionPoint怎么用?Java DistributionPoint使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


DistributionPoint类属于org.bouncycastle.asn1.x509包,在下文中一共展示了DistributionPoint类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getCRLDistUrls

import org.bouncycastle.asn1.x509.DistributionPoint; //导入依赖的package包/类
protected Vector getCRLDistUrls(CRLDistPoint crlDistPoints)
{
    Vector urls = new Vector();
    
    if (crlDistPoints != null)
    {
        DistributionPoint[] distPoints = crlDistPoints.getDistributionPoints();
        for (int i = 0; i < distPoints.length; i++)
        {
            DistributionPointName dp_name = distPoints[i].getDistributionPoint();
            if (dp_name.getType() == DistributionPointName.FULL_NAME)
            {
                GeneralName[] generalNames = GeneralNames.getInstance(dp_name.getName()).getNames();
                for (int j = 0; j < generalNames.length; j++)
                {
                    if (generalNames[j].getTagNo() == GeneralName.uniformResourceIdentifier)
                    {
                        String url = ((DERIA5String) generalNames[j].getName()).getString();
                        urls.add(url);
                    }
                }
            }
        }
    }
    return urls;
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:27,代码来源:PKIXCertPathReviewer.java

示例2: CRLDistributionPointsImpl

import org.bouncycastle.asn1.x509.DistributionPoint; //导入依赖的package包/类
public CRLDistributionPointsImpl(X509Certificate cert) throws CertificateException, IOException {
	URINames = new ArrayList<>();
	byte[] extVal = cert.getExtensionValue(Extension.cRLDistributionPoints.getId());
	if (extVal == null)
		return;
	CRLDistPoint crlDistPoint = CRLDistPoint.getInstance(X509ExtensionUtil.fromExtensionValue(extVal));
	DistributionPoint[] points = crlDistPoint.getDistributionPoints();
	for (DistributionPoint p : points) {
		GeneralNames tmp = p.getCRLIssuer();
		if (tmp != null) {
			GeneralName[] crlIssers = tmp.getNames();
			for (int i = 0; i < crlIssers.length; i++) {
				if (crlIssers[i].getTagNo() == GeneralName.uniformResourceIdentifier) {
					String issuerUrl = crlIssers[i].toString();
					URINames.add(issuerUrl);
				}
			}
		}
	}
}
 
开发者ID:Catherine22,项目名称:SecuritySample,代码行数:21,代码来源:CRLDistributionPointsImpl.java

示例3: createCrlDistributionPoints

import org.bouncycastle.asn1.x509.DistributionPoint; //导入依赖的package包/类
public static CRLDistPoint createCrlDistributionPoints(List<String> crlUris, X500Name caSubject,
        X500Name crlSignerSubject) {
    ParamUtil.requireNonEmpty("crlUris", crlUris);
    int size = crlUris.size();
    DistributionPoint[] points = new DistributionPoint[1];

    GeneralName[] names = new GeneralName[size];
    for (int i = 0; i < size; i++) {
        names[i] = new GeneralName(GeneralName.uniformResourceIdentifier, crlUris.get(i));
    }
    // Distribution Point
    GeneralNames gns = new GeneralNames(names);
    DistributionPointName pointName = new DistributionPointName(gns);

    GeneralNames crlIssuer = null;
    if (crlSignerSubject != null && !crlSignerSubject.equals(caSubject)) {
        GeneralName crlIssuerName = new GeneralName(crlSignerSubject);
        crlIssuer = new GeneralNames(crlIssuerName);
    }

    points[0] = new DistributionPoint(pointName, null, crlIssuer);

    return new CRLDistPoint(points);
}
 
开发者ID:xipki,项目名称:xipki,代码行数:25,代码来源:CaUtil.java

示例4: processCRLD

import org.bouncycastle.asn1.x509.DistributionPoint; //导入依赖的package包/类
protected static ReasonsMask processCRLD(
    X509CRL crl,
    DistributionPoint dp)
    throws AnnotatedException
{
    IssuingDistributionPoint idp = null;
    try
    {
        idp = IssuingDistributionPoint.getInstance(CertPathValidatorUtilities.getExtensionValue(crl,
            RFC3280CertPathUtilities.ISSUING_DISTRIBUTION_POINT));
    }
    catch (Exception e)
    {
        throw new AnnotatedException("Issuing distribution point extension could not be decoded.", e);
    }
    // (d) (1)
    if (idp != null && idp.getOnlySomeReasons() != null && dp.getReasons() != null)
    {
        return new ReasonsMask(dp.getReasons()).intersect(new ReasonsMask(idp.getOnlySomeReasons()));
    }
    // (d) (4)
    if ((idp == null || idp.getOnlySomeReasons() == null) && dp.getReasons() == null)
    {
        return ReasonsMask.allReasons;
    }
    // (d) (2) and (d)(3)
    return (dp.getReasons() == null
        ? ReasonsMask.allReasons
        : new ReasonsMask(dp.getReasons())).intersect(idp == null
        ? ReasonsMask.allReasons
        : new ReasonsMask(idp.getOnlySomeReasons()));

}
 
开发者ID:Appdome,项目名称:ipack,代码行数:34,代码来源:RFC3280CertPathUtilities.java

示例5: getCRLDistributionPoint

import org.bouncycastle.asn1.x509.DistributionPoint; //导入依赖的package包/类
/**
 * 
 * @return A list of ulrs that inform the location of the certificate revocation lists
 * @throws IOException exception
 */
public List<String> getCRLDistributionPoint() throws IOException {

    List<String> crlUrls = new ArrayList<>();
    ASN1Primitive primitive = getExtensionValue(Extension.cRLDistributionPoints.getId());
    if (primitive == null) {
        return null;
    }
    CRLDistPoint crlDistPoint = CRLDistPoint.getInstance(primitive);
    DistributionPoint[] distributionPoints = crlDistPoint.getDistributionPoints();

    for (DistributionPoint distributionPoint : distributionPoints) {
        DistributionPointName dpn = distributionPoint.getDistributionPoint();
        // Look for URIs in fullName
        if (dpn != null) {
            if (dpn.getType() == DistributionPointName.FULL_NAME) {
                GeneralName[] genNames = GeneralNames.getInstance(dpn.getName()).getNames();
                for (GeneralName genName : genNames) {
                    if (genName.getTagNo() == GeneralName.uniformResourceIdentifier) {
                        String url = DERIA5String.getInstance(genName.getName()).getString();
                        crlUrls.add(url);
                        logger.info("Adicionando a url {}", url);
                    }
                }
            }
        }
    }
    return crlUrls;
}
 
开发者ID:demoiselle,项目名称:signer,代码行数:34,代码来源:BasicCertificate.java

示例6: addCRLSitributionPoints

import org.bouncycastle.asn1.x509.DistributionPoint; //导入依赖的package包/类
private void addCRLSitributionPoints(String issuerName, X509v3CertificateBuilder v3CertGen) throws CertIOException {
	DistributionPointName distributionPoint = new DistributionPointName(new GeneralNames(new GeneralName(GeneralName.uniformResourceIdentifier, SERVER_BASE_REST_PKI_URL + issuerName + CRL_URL)));

	DistributionPoint[] distPoints = new DistributionPoint[1];
	distPoints[0] = new DistributionPoint(distributionPoint, null, null);
	 
	v3CertGen.addExtension(Extension.cRLDistributionPoints, false, new CRLDistPoint(distPoints));
}
 
开发者ID:fabiusks,项目名称:cert-services,代码行数:9,代码来源:CertificateService.java

示例7: toASN1Primitive

import org.bouncycastle.asn1.x509.DistributionPoint; //导入依赖的package包/类
@Override
public ASN1Primitive toASN1Primitive() {
	ASN1EncodableVector v = new ASN1EncodableVector();
	Iterator<DistributionPoint> it = distributionPointList.iterator();
	while (it.hasNext()) {
		v.add(it.next().toASN1Primitive());
	}
	return new DERSequence(v);
}
 
开发者ID:kaikramer,项目名称:keystore-explorer,代码行数:10,代码来源:CRLDistributionPoints.java

示例8: getFreshestCrlStringValue

import org.bouncycastle.asn1.x509.DistributionPoint; //导入依赖的package包/类
private String getFreshestCrlStringValue(byte[] value) throws IOException {
	// @formatter:off

	/*
	 * FreshestCRL ::= CRLDistributionPoints
	 *
	 * CRLDistributionPoints ::= ASN1Sequence SIZE (1..MAX) OF
	 * DistributionPoint
	 */

	// @formatter:on

	StringBuilder sb = new StringBuilder();

	CRLDistributionPoints freshestCRL = CRLDistributionPoints.getInstance(value);

	int distPoint = 0;

	for (DistributionPoint distributionPoint : freshestCRL.getDistributionPointList()) {
		distPoint++;

		sb.append(MessageFormat.format(res.getString("FreshestCrlDistributionPoint"), distPoint));
		sb.append(NEWLINE);

		sb.append(getDistributionPointString(distributionPoint, INDENT.toString(1)));
	}

	return sb.toString();
}
 
开发者ID:kaikramer,项目名称:keystore-explorer,代码行数:30,代码来源:X509Ext.java

示例9: getCrlDistributionPoints

import org.bouncycastle.asn1.x509.DistributionPoint; //导入依赖的package包/类
public static List<String> getCrlDistributionPoints(byte[] crldpExt)
		throws CertificateParsingException, IOException {
	if (crldpExt == null) {
		return new ArrayList<String>();
	}
	ASN1InputStream oAsnInStream = new ASN1InputStream(
			new ByteArrayInputStream(crldpExt));
	DERObject derObjCrlDP = oAsnInStream.readObject();
	DEROctetString dosCrlDP = (DEROctetString) derObjCrlDP;
	byte[] crldpExtOctets = dosCrlDP.getOctets();
	ASN1InputStream oAsnInStream2 = new ASN1InputStream(
			new ByteArrayInputStream(crldpExtOctets));
	DERObject derObj2 = oAsnInStream2.readObject();
	CRLDistPoint distPoint = CRLDistPoint.getInstance(derObj2);
	List<String> crlUrls = new ArrayList<String>();
	for (DistributionPoint dp : distPoint.getDistributionPoints()) {
		DistributionPointName dpn = dp.getDistributionPoint();
		// Look for URIs in fullName
		if (dpn != null && dpn.getType() == DistributionPointName.FULL_NAME) {
			GeneralName[] genNames = GeneralNames
					.getInstance(dpn.getName()).getNames();
			// Look for an URI
			for (int j = 0; j < genNames.length; j++) {
				if (genNames[j].getTagNo() == GeneralName.uniformResourceIdentifier) {
					String url = DERIA5String.getInstance(
							genNames[j].getName()).getString();
					crlUrls.add(url);
				}
			}
		}
	}
	return crlUrls;
}
 
开发者ID:bluecrystalsign,项目名称:signer-source,代码行数:34,代码来源:DerEncoder.java

示例10: getCrlDistributionPoints

import org.bouncycastle.asn1.x509.DistributionPoint; //导入依赖的package包/类
public static List<String> getCrlDistributionPoints(byte[] crldpExt)
		throws CertificateParsingException, IOException {
	if (crldpExt == null) {
		return new ArrayList<String>();
	}
	ASN1InputStream oAsnInStream = new ASN1InputStream(
			new ByteArrayInputStream(crldpExt));
	ASN1Primitive derObjCrlDP = oAsnInStream.readObject();
	DEROctetString dosCrlDP = (DEROctetString) derObjCrlDP;
	byte[] crldpExtOctets = dosCrlDP.getOctets();
	ASN1InputStream oAsnInStream2 = new ASN1InputStream(
			new ByteArrayInputStream(crldpExtOctets));
	ASN1Primitive derObj2 = oAsnInStream2.readObject();
	CRLDistPoint distPoint = CRLDistPoint.getInstance(derObj2);
	List<String> crlUrls = new ArrayList<String>();
	for (DistributionPoint dp : distPoint.getDistributionPoints()) {
		DistributionPointName dpn = dp.getDistributionPoint();
		// Look for URIs in fullName
		if (dpn != null && dpn.getType() == DistributionPointName.FULL_NAME) {
			GeneralName[] genNames = GeneralNames
					.getInstance(dpn.getName()).getNames();
			// Look for an URI
			for (int j = 0; j < genNames.length; j++) {
				if (genNames[j].getTagNo() == GeneralName.uniformResourceIdentifier) {
					String url = DERIA5String.getInstance(
							genNames[j].getName()).getString();
					crlUrls.add(url);
				}
			}
		}
	}
	return crlUrls;
}
 
开发者ID:bluecrystalsign,项目名称:signer-source,代码行数:34,代码来源:DerEncoder.java

示例11: getCrlUrls

import org.bouncycastle.asn1.x509.DistributionPoint; //导入依赖的package包/类
/**
 * Gives back the {@code List} of CRL URI meta-data found within the given X509 certificate.
 *
 * @param certificateToken
 *            the cert token certificate
 * @param checkInTrustAnchors
 *            if true, the method will search in the ServiceSupplyPoint urls
 * @return the {@code List} of CRL URI, or empty list if the extension is not present
 */
public static List<String> getCrlUrls(final CertificateToken certificateToken, boolean checkInTrustAnchors) {
	final List<String> urls = new ArrayList<String>();

	final byte[] crlDistributionPointsBytes = certificateToken.getCertificate().getExtensionValue(Extension.cRLDistributionPoints.getId());
	if (crlDistributionPointsBytes != null) {
		try {
			final ASN1Sequence asn1Sequence = DSSASN1Utils.getAsn1SequenceFromDerOctetString(crlDistributionPointsBytes);
			final CRLDistPoint distPoint = CRLDistPoint.getInstance(asn1Sequence);
			final DistributionPoint[] distributionPoints = distPoint.getDistributionPoints();
			for (final DistributionPoint distributionPoint : distributionPoints) {

				final DistributionPointName distributionPointName = distributionPoint.getDistributionPoint();
				if (DistributionPointName.FULL_NAME != distributionPointName.getType()) {
					continue;
				}
				final GeneralNames generalNames = (GeneralNames) distributionPointName.getName();
				final GeneralName[] names = generalNames.getNames();
				for (final GeneralName name : names) {
					String location = parseGn(name);
					if (location != null) {
						urls.add(location);
					}
				}
			}
		} catch (Exception e) {
			LOG.error("Unable to parse cRLDistributionPoints", e);
		}
	}

	if (Utils.isCollectionEmpty(urls) && checkInTrustAnchors) {
		return getServiceSupplyPoints(certificateToken, "crl", "certificateRevocationList");
	}
	return urls;
}
 
开发者ID:esig,项目名称:dss,代码行数:44,代码来源:DSSASN1Utils.java

示例12: getCRLDistributionPoint

import org.bouncycastle.asn1.x509.DistributionPoint; //导入依赖的package包/类
/**
 * Retorna URL da Lista de Certificados Revogados (CRL). Pode haver mais de uma dependendo do 
 * emissor do certificado<br>
 * Mesmo que a CRL possua mais que uma fonte, retorna apenas a URL.<br>
 * Caso essa informacao nao esteja no certificado, retorna <b>null</b>.<br>
 * 
 * @return String
 * @throws IOException 
 */
public List<String> getCRLDistributionPoint() throws IOException{
	//TODO - Precisa validar este metodo com a RFC
	
	List<String> lcrS = new ArrayList<String>();
	DERObject derObj = getExtensionValue(X509Extensions.CRLDistributionPoints.getId());
	if(derObj == null) {
		return null;
	}
	CRLDistPoint crlDistPoint = CRLDistPoint.getInstance(derObj);
	DistributionPoint[] dp = crlDistPoint.getDistributionPoints();
	for(int i=0 ; i<dp.length ; i++) {
		DERSequence seq = (DERSequence)new ASN1InputStream(dp[i].getDistributionPoint().getName().getDEREncoded()).readObject();
		DERTaggedObject tag = (DERTaggedObject) seq.getObjectAt(0);
		try{
			ASN1OctetString oct = (DEROctetString)DEROctetString.getInstance(tag);
			lcrS.add( new String(oct.getOctets()));
		}catch (Exception e){
			// N�o � um objeto com informa��o de DistributionPoint
		}
		// codifica��o antiga feita pelo Thiago, pegava apenas a primeira URL.
		//URL da WEB
		//if(tag.getTagNo() == 6) {
		//	DEROctetString oct = (DEROctetString)DEROctetString.getInstance(tag);
		//	return new String(oct.getOctets());
		//}
		
	}
	return lcrS;
}
 
开发者ID:esaito,项目名称:ExemplosDemoiselle,代码行数:39,代码来源:TabeliaoCertificate.java

示例13: getCrlUri

import org.bouncycastle.asn1.x509.DistributionPoint; //导入依赖的package包/类
public String getCrlUri(X509Certificate certificate) throws IOException {
	ASN1Primitive obj;
	try {
		obj = getExtensionValue(certificate, Extension.cRLDistributionPoints.getId());
	} catch (IOException ex) {
		log.error("Failed to get CRL URL", ex);
		return null;
	}

	if (obj == null) {
		return null;
	}

	CRLDistPoint distPoint = CRLDistPoint.getInstance(obj);

	DistributionPoint[] distributionPoints = distPoint.getDistributionPoints();
	for (DistributionPoint distributionPoint : distributionPoints) {
		DistributionPointName distributionPointName = distributionPoint.getDistributionPoint();
		if (DistributionPointName.FULL_NAME != distributionPointName.getType()) {
			continue;
		}

		GeneralNames generalNames = (GeneralNames) distributionPointName.getName();
		GeneralName[] names = generalNames.getNames();
		for (GeneralName name : names) {
			if (name.getTagNo() != GeneralName.uniformResourceIdentifier) {
				continue;
			}

			DERIA5String derStr = DERIA5String.getInstance((ASN1TaggedObject) name.toASN1Primitive(), false);
			return derStr.getString();
		}
	}

	return null;
}
 
开发者ID:GluuFederation,项目名称:oxAuth,代码行数:37,代码来源:CRLCertificateVerifier.java

示例14: getCrlDistributionPoints

import org.bouncycastle.asn1.x509.DistributionPoint; //导入依赖的package包/类
/**
 * Extracts all CRL distribution point URLs from the "CRL Distribution Point"
 * extension in a X.509 certificate. If CRL distribution point extension is
 * unavailable, returns an empty list. 
 */
public static List<String> getCrlDistributionPoints(
		X509Certificate cert) throws CertificateParsingException, IOException {
	byte[] crldpExt = cert.getExtensionValue(
			X509Extensions.CRLDistributionPoints.getId());
	ASN1InputStream oAsnInStream = new ASN1InputStream(
			new ByteArrayInputStream(crldpExt));
	
	ASN1Primitive derObjCrlDP = oAsnInStream.readObject();
	DEROctetString dosCrlDP = (DEROctetString) derObjCrlDP;
	byte[] crldpExtOctets = dosCrlDP.getOctets();
	
	ASN1InputStream oAsnInStream2 = new ASN1InputStream(
			new ByteArrayInputStream(crldpExtOctets));
	
	ASN1Primitive derObj2 = oAsnInStream2.readObject();
	CRLDistPoint distPoint = CRLDistPoint.getInstance(derObj2);
	List<String> crlUrls = new ArrayList<String>();
	for (DistributionPoint dp : distPoint.getDistributionPoints()) {
		System.out.println(dp);
           DistributionPointName dpn = dp.getDistributionPoint();
           // Look for URIs in fullName
           if (dpn != null) {
               if (dpn.getType() == DistributionPointName.FULL_NAME) {
                   GeneralName[] genNames = GeneralNames.getInstance(
                       dpn.getName()).getNames();
                   // Look for an URI
                   for (int j = 0; j < genNames.length; j++) {
                       if (genNames[j].getTagNo() == GeneralName.uniformResourceIdentifier) {
                           String url = DERIA5String.getInstance(
                               genNames[j].getName()).getString();
                           crlUrls.add(url);
                       }
                   }
               }
           }
	}
	return crlUrls;
}
 
开发者ID:tornabene,项目名称:jopenpec,代码行数:44,代码来源:CRLVerifier.java

示例15: addAdditionalStoresFromCRLDistributionPoint

import org.bouncycastle.asn1.x509.DistributionPoint; //导入依赖的package包/类
protected static void addAdditionalStoresFromCRLDistributionPoint(
    CRLDistPoint crldp, ExtendedPKIXParameters pkixParams)
    throws AnnotatedException
{
    if (crldp != null)
    {
        DistributionPoint dps[] = null;
        try
        {
            dps = crldp.getDistributionPoints();
        }
        catch (Exception e)
        {
            throw new AnnotatedException(
                "Distribution points could not be read.", e);
        }
        for (int i = 0; i < dps.length; i++)
        {
            DistributionPointName dpn = dps[i].getDistributionPoint();
            // look for URIs in fullName
            if (dpn != null)
            {
                if (dpn.getType() == DistributionPointName.FULL_NAME)
                {
                    GeneralName[] genNames = GeneralNames.getInstance(
                        dpn.getName()).getNames();
                    // look for an URI
                    for (int j = 0; j < genNames.length; j++)
                    {
                        if (genNames[j].getTagNo() == GeneralName.uniformResourceIdentifier)
                        {
                            String location = DERIA5String.getInstance(
                                genNames[j].getName()).getString();
                            CertPathValidatorUtilities
                                .addAdditionalStoreFromLocation(location,
                                    pkixParams);
                        }
                    }
                }
            }
        }
    }
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:44,代码来源:CertPathValidatorUtilities.java


注:本文中的org.bouncycastle.asn1.x509.DistributionPoint类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。