org.bouncycastle.asn1.x509.AuthorityInformationAccess.getAccessDescriptions()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(10.7k)|赞(0)|评价(0)|浏览(67)

本文整理了Java中org.bouncycastle.asn1.x509.AuthorityInformationAccess.getAccessDescriptions()方法的一些代码示例,展示了AuthorityInformationAccess.getAccessDescriptions()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AuthorityInformationAccess.getAccessDescriptions()方法的具体详情如下:
包路径:org.bouncycastle.asn1.x509.AuthorityInformationAccess
类名称:AuthorityInformationAccess
方法名:getAccessDescriptions

AuthorityInformationAccess.getAccessDescriptions介绍

暂无

代码示例

代码示例来源:origin: kaikramer/keystore-explorer

private void prepopulateWithValue(byte[] value) throws IOException {
  AuthorityInformationAccess authorityInformationAccess = AuthorityInformationAccess.getInstance(value);
  List<AccessDescription> accessDescriptionList =
      new ArrayList<>(Arrays.asList(authorityInformationAccess.getAccessDescriptions()));
  jadAccessDescriptions.setAccessDescriptions(accessDescriptionList);
}

代码示例来源:origin: org.xipki.shells/ocsp-client-shell

public static List<String> extractOcspUrls(AuthorityInformationAccess aia)
  throws CertificateEncodingException {
 AccessDescription[] accessDescriptions = aia.getAccessDescriptions();
 List<AccessDescription> ocspAccessDescriptions = new LinkedList<>();
 for (AccessDescription accessDescription : accessDescriptions) {
  if (accessDescription.getAccessMethod().equals(X509ObjectIdentifiers.id_ad_ocsp)) {
   ocspAccessDescriptions.add(accessDescription);
  }
 }
 final int n = ocspAccessDescriptions.size();
 List<String> ocspUris = new ArrayList<>(n);
 for (int i = 0; i < n; i++) {
  GeneralName accessLocation = ocspAccessDescriptions.get(i).getAccessLocation();
  if (accessLocation.getTagNo() == GeneralName.uniformResourceIdentifier) {
   String ocspUri = ((ASN1String) accessLocation.getName()).getString();
   ocspUris.add(ocspUri);
  }
 }
 return ocspUris;
}

代码示例来源:origin: org.xipki.shell/ocsp-client-shell

public static List<String> extractOcspUrls(AuthorityInformationAccess aia)
  throws CertificateEncodingException {
 AccessDescription[] accessDescriptions = aia.getAccessDescriptions();
 List<AccessDescription> ocspAccessDescriptions = new LinkedList<>();
 for (AccessDescription accessDescription : accessDescriptions) {
  if (accessDescription.getAccessMethod().equals(X509ObjectIdentifiers.id_ad_ocsp)) {
   ocspAccessDescriptions.add(accessDescription);
  }
 }
 final int n = ocspAccessDescriptions.size();
 List<String> ocspUris = new ArrayList<>(n);
 for (int i = 0; i < n; i++) {
  GeneralName accessLocation = ocspAccessDescriptions.get(i).getAccessLocation();
  if (accessLocation.getTagNo() == GeneralName.uniformResourceIdentifier) {
   String ocspUri = ((ASN1String) accessLocation.getName()).getString();
   ocspUris.add(ocspUri);
  }
 }
 return ocspUris;
}

代码示例来源:origin: kaikramer/keystore-explorer

for (AccessDescription accessDescription : authorityInfoAccess.getAccessDescriptions()) {
  accessDesc++;

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

protected Vector getOCSPUrls(AuthorityInformationAccess authInfoAccess)
{
  Vector urls = new Vector();
  
  if (authInfoAccess != null)
  {
    AccessDescription[] ads = authInfoAccess.getAccessDescriptions();
    for (int i = 0; i < ads.length; i++)
    {
      if (ads[i].getAccessMethod().equals(AccessDescription.id_ad_ocsp))
      {
        GeneralName name = ads[i].getAccessLocation();
        if (name.getTagNo() == GeneralName.uniformResourceIdentifier)
        {
          String url = ((DERIA5String) name.getName()).getString();
          urls.add(url);
        }
      }
    }
  }
  
  return urls;
}

代码示例来源:origin: org.demoiselle.signer/core

/**
 * Returns the AuthorityInfoAccess extension value on list format.<br>
 * Otherwise, returns <b>list empty</b>.<br>
 * @return List Authority info access list
 */
public List<String> getAuthorityInfoAccess() {
  List<String> address = new ArrayList<String>();
  try {
    byte[] authorityInfoAccess = certificate.getExtensionValue(Extension.authorityInfoAccess.getId());
    if (authorityInfoAccess != null && authorityInfoAccess.length > 0) {
      AuthorityInformationAccess infoAccess = AuthorityInformationAccess.getInstance(X509ExtensionUtil
          .fromExtensionValue(authorityInfoAccess));
      for (AccessDescription desc : infoAccess.getAccessDescriptions())
        if (desc.getAccessLocation().getTagNo() == GeneralName.uniformResourceIdentifier)
          address.add(((DERIA5String) desc.getAccessLocation().getName()).getString());
    }
    return address;
  } catch (Exception error) {
    logger.info(error.getMessage());
    return address;
  }
}

代码示例来源:origin: demoiselle/certificate

/**
 * Returns the AuthorityInfoAccess extension value on list format.<br>
 * Otherwise, returns <b>list empty</b>.<br>
 * @return List
 */
public List<String> getAuthorityInfoAccess() {
  List<String> address = new ArrayList<String>();
  try {
    byte[] extensionValue = certificate.getExtensionValue(X509Extensions.AuthorityInfoAccess.getId());
    if (extensionValue != null && extensionValue.length > 0) {
      AuthorityInformationAccess infoAccess = AuthorityInformationAccess.getInstance(X509ExtensionUtil
          .fromExtensionValue(extensionValue));
      for (AccessDescription desc : infoAccess.getAccessDescriptions())
        if (desc.getAccessLocation().getTagNo() == GeneralName.uniformResourceIdentifier)
          address.add(((DERIA5String) desc.getAccessLocation().getName()).getString());
    } 
    return address;
  } catch (IOException error) {
    LOGGER.info(error.getMessage());
    return address;
  }
}

代码示例来源:origin: arhs/sd-dss

final AccessDescription[] accessDescriptions = authorityInformationAccess.getAccessDescriptions();
for (final AccessDescription accessDescription : accessDescriptions) {

代码示例来源:origin: esig/dss

private static List<String> getAccessLocations(final CertificateToken certificate, ASN1ObjectIdentifier aiaType) {
  List<String> locationsUrls = new ArrayList<String>();
  final byte[] authInfoAccessExtensionValue = certificate.getCertificate().getExtensionValue(Extension.authorityInfoAccess.getId());
  if (null == authInfoAccessExtensionValue) {
    return locationsUrls;
  }
  try {
    ASN1Sequence asn1Sequence = DSSASN1Utils.getAsn1SequenceFromDerOctetString(authInfoAccessExtensionValue);
    AuthorityInformationAccess authorityInformationAccess = AuthorityInformationAccess.getInstance(asn1Sequence);
    AccessDescription[] accessDescriptions = authorityInformationAccess.getAccessDescriptions();
    for (AccessDescription accessDescription : accessDescriptions) {
      if (aiaType.equals(accessDescription.getAccessMethod())) {
        GeneralName gn = accessDescription.getAccessLocation();
        String location = parseGn(gn);
        if (location != null) {
          locationsUrls.add(location);
        }
      }
    }
  } catch (Exception e) {
    LOG.error("Unable to parse authorityInfoAccess", e);
  }
  return locationsUrls;
}

代码示例来源:origin: edu.vt.middleware/vt-crypt

/**
  * Creates a {@link AccessDescriptionList} object from DER data.
  *
  * @param  enc  DER encoded distribution point list.
  *
  * @return  List of access descriptions.
  */
 public static AccessDescriptionList createAccessDescriptionList(
  final DEREncodable enc)
 {
  final org.bouncycastle.asn1.x509.AuthorityInformationAccess info =
   org.bouncycastle.asn1.x509.AuthorityInformationAccess.getInstance(enc);
  final List<AccessDescription> accessDescList =
   new ArrayList<AccessDescription>();
  for (
   org.bouncycastle.asn1.x509.AccessDescription desc :
   info.getAccessDescriptions()) {
   accessDescList.add(
    new AccessDescription(
     AccessMethod.getByOid(desc.getAccessMethod().toString()),
     createGeneralName(desc.getAccessLocation())));
  }
  return new AccessDescriptionList(accessDescList);
 }
}

代码示例来源:origin: zero11it/acme-client

public static String getCACertificateURL(X509Certificate certificate) throws IOException {
    byte[] bOctets = ((ASN1OctetString) ASN1Primitive.fromByteArray(certificate.getExtensionValue(Extension.authorityInfoAccess.getId()))).getOctets();
    AuthorityInformationAccess access = AuthorityInformationAccess.getInstance(ASN1Sequence.fromByteArray(bOctets));
    for (AccessDescription ad:access.getAccessDescriptions()){
      if (ad.getAccessMethod().equals(X509ObjectIdentifiers.id_ad_caIssuers)){
        return ad.getAccessLocation().getName().toString();
      }
    }
    return null;
  }
}

代码示例来源:origin: poreid/poreid

private URL getOcspUrlFromCertificate(X509Certificate certificate) {
  byte[] octetBytes = certificate.getExtensionValue(org.bouncycastle.asn1.x509.Extension.authorityInfoAccess.getId());
  
  if (null != octetBytes) {
    try {
      byte[] encoded = X509ExtensionUtil.fromExtensionValue(octetBytes).getEncoded();
      ASN1Sequence seq = ASN1Sequence.getInstance(ASN1Primitive.fromByteArray(encoded));
      AuthorityInformationAccess access = AuthorityInformationAccess.getInstance(seq);
      for (AccessDescription accessDescription : access.getAccessDescriptions()){
        if (accessDescription.getAccessMethod().equals(AccessDescription.id_ad_ocsp)){
          url = new URL(accessDescription.getAccessLocation().getName().toString());
          break;
        }
      }                
    } catch (IOException ignore) {
    }
  }
  return url;
}

代码示例来源:origin: be.fedict.jtrust/jtrust-lib

authorityInformationAccess = AuthorityInformationAccess
    .getInstance(new ASN1InputStream(oct.getOctets()).readObject());
AccessDescription[] accessDescriptions = authorityInformationAccess.getAccessDescriptions();
for (AccessDescription accessDescription : accessDescriptions) {
  LOG.debug("access method: " + accessDescription.getAccessMethod());

代码示例来源:origin: DirectProject/nhin-d

for (AccessDescription accessDescription : aia.getAccessDescriptions())

代码示例来源:origin: wso2/wso2-synapse

AccessDescription[] accessDescriptions = authorityInformationAccess.getAccessDescriptions();
for (AccessDescription accessDescription : accessDescriptions) {

代码示例来源:origin: org.wso2.transport.http/org.wso2.transport.http.netty

AccessDescription[] accessDescriptions = authorityInformationAccess.getAccessDescriptions();
for (AccessDescription accessDescription : accessDescriptions) {

代码示例来源:origin: DirectProject/nhin-d

for (AccessDescription accessDescription : aia.getAccessDescriptions())

代码示例来源:origin: org.keycloak/keycloak-common

ASN1Sequence seq = (ASN1Sequence)in.readObject();
AuthorityInformationAccess authorityInfoAccess = AuthorityInformationAccess.getInstance(seq);
for (AccessDescription ad : authorityInfoAccess.getAccessDescriptions()) {
  if (ad.getAccessMethod().equals(AccessDescription.id_ad_ocsp)) {

代码示例来源:origin: GluuFederation/oxAuth

@SuppressWarnings({ "deprecation", "resource" })
private String getOCSPUrl(X509Certificate certificate) throws IOException {
  ASN1Primitive obj;
  try {
    obj = getExtensionValue(certificate, Extension.authorityInfoAccess.getId());
  } catch (IOException ex) {
    log.error("Failed to get OCSP URL", ex);
    return null;
  }
  if (obj == null) {
    return null;
  }
  AuthorityInformationAccess authorityInformationAccess = AuthorityInformationAccess.getInstance(obj);
  AccessDescription[] accessDescriptions = authorityInformationAccess.getAccessDescriptions();
  for (AccessDescription accessDescription : accessDescriptions) {
    boolean correctAccessMethod = accessDescription.getAccessMethod().equals(X509ObjectIdentifiers.ocspAccessMethod);
    if (!correctAccessMethod) {
      continue;
    }
    GeneralName name = accessDescription.getAccessLocation();
    if (name.getTagNo() != GeneralName.uniformResourceIdentifier) {
      continue;
    }
    DERIA5String derStr = DERIA5String.getInstance((ASN1TaggedObject) name.toASN1Primitive(), false);
    return derStr.getString();
  }
  return null;
}

代码示例来源:origin: arhs/sd-dss

final AccessDescription[] accessDescriptions = authorityInformationAccess.getAccessDescriptions();
for (final AccessDescription accessDescription : accessDescriptions) {

相关文章