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

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

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

AccessDescription.getAccessLocation介绍

暂无

代码示例

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

@Override
  public int compare(AccessDescription description1, AccessDescription description2) {
    return GeneralNameUtil.safeToString(description1.getAccessLocation(), false).compareToIgnoreCase(
        GeneralNameUtil.safeToString(description2.getAccessLocation(), false));
  }
}

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

cell.setText(accessDescription.getAccessMethod().getId());
} else {
  cell.setText(GeneralNameUtil.safeToString(accessDescription.getAccessLocation(), false));

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

private void populate(AccessDescription accessDescription) {
  if (accessDescription != null) {
    joiAccessMethod.setObjectId(accessDescription.getAccessMethod());
    jgnAccessLocation.setGeneralName(accessDescription.getAccessLocation());
  }
}

代码示例来源: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

GeneralName accessLocation = accessDescription.getAccessLocation();

代码示例来源: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: 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: arhs/sd-dss

continue;
final GeneralName gn = accessDescription.getAccessLocation();
if (uniformResourceIdentifier != gn.getTagNo()) {
  LOG.warn("Not a uniform resource identifier!");

代码示例来源: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: org.keycloak/keycloak-common

if (ad.getAccessMethod().equals(AccessDescription.id_ad_ocsp)) {
  if (ad.getAccessLocation().getTagNo() == GeneralName.uniformResourceIdentifier) {
    DERIA5String value = DERIA5String.getInstance(ad.getAccessLocation().getName());
    responderURIs.add(value.getString());

代码示例来源: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

continue;
GeneralName gn = accessDescription.getAccessLocation();
if (gn.getTagNo() != GeneralName.uniformResourceIdentifier) {
  LOG.debug("not a uniform resource identifier");

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

retVal.add(accessDescription.getAccessLocation().getName().toString());

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

accessDescription.getAccessLocation().getName().toString());

代码示例来源: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: org.xipki/ca-server

private static ASN1Sequence createSubjectInfoAccess(Extensions requestedExtensions,
  Map<ASN1ObjectIdentifier, Set<GeneralNameMode>> modes) throws BadCertTemplateException {
 if (modes == null) {
  return null;
 }
 ASN1Encodable extValue = requestedExtensions.getExtensionParsedValue(
   Extension.subjectInfoAccess);
 if (extValue == null) {
  return null;
 }
 ASN1Sequence reqSeq = ASN1Sequence.getInstance(extValue);
 int size = reqSeq.size();
 ASN1EncodableVector vec = new ASN1EncodableVector();
 for (int i = 0; i < size; i++) {
  AccessDescription ad = AccessDescription.getInstance(reqSeq.getObjectAt(i));
  ASN1ObjectIdentifier accessMethod = ad.getAccessMethod();
  Set<GeneralNameMode> generalNameModes = modes.get(accessMethod);
  if (generalNameModes == null) {
   throw new BadCertTemplateException("subjectInfoAccess.accessMethod "
     + accessMethod.getId() + " is not allowed");
  }
  GeneralName accessLocation = BaseCertprofile.createGeneralName(
    ad.getAccessLocation(), generalNameModes);
  vec.add(new AccessDescription(accessMethod, accessLocation));
 } // end for
 return vec.size() > 0 ? new DERSequence(vec) : null;
} // method createSubjectInfoAccess

相关文章