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

x33g5p2x  于2022-01-19 转载在 其他  
字(10.0k)|赞(0)|评价(0)|浏览(79)

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

GeneralNames.getNames介绍

暂无

代码示例

代码示例来源:origin: apache/cloudstack

final Extensions extensions = Extensions.getInstance(attribute.getAttrValues().getObjectAt(0));
final GeneralNames gns = GeneralNames.fromExtensions(extensions, Extension.subjectAlternativeName);
if (gns != null && gns.getNames() != null && gns.getNames().length > 0) {
  for (final GeneralName name : gns.getNames()) {
    if (name.getTagNo() == GeneralName.dNSName) {
      dnsNames.add(name.getName().toString());

代码示例来源:origin: apache/pdfbox

for (GeneralName genName : GeneralNames.getInstance(dpn.getName()).getNames())

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

public GeneralNamesBuilder addNames(GeneralNames names)
{
  GeneralName[] n = names.getNames();
  for (int i = 0; i != n.length; i++)
  {
    this.names.addElement(n[i]);
  }
  return this;
}

代码示例来源:origin: redfish64/TinyTravelTracker

public GeneralNamesBuilder addNames(GeneralNames names)
{
  GeneralName[] n = names.getNames();
  for (int i = 0; i != n.length; i++)
  {
    this.names.addElement(n[i]);
  }
  return this;
}

代码示例来源:origin: com.yahoo.vespa/security-utils

static List<SubjectAlternativeName> fromGeneralNames(GeneralNames generalNames) {
  return Arrays.stream(generalNames.getNames()).map(SubjectAlternativeName::new).collect(toList());
}

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

private Principal[] getPrincipals(GeneralNames names)
{
  Object[] p = this.getNames(names.getNames());
  List l = new ArrayList();
  for (int i = 0; i != p.length; i++)
  {
    if (p[i] instanceof Principal)
    {
      l.add(p[i]);
    }
  }
  return (Principal[])l.toArray(new Principal[l.size()]);
}

代码示例来源:origin: org.codeartisans.qipki/qipki-crypto

@Override
@SuppressWarnings( "MapReplaceableByEnumMap" )
public Map<X509GeneralName, String> asMap( GeneralNames generalNames )
{
  if ( generalNames == null ) {
    return Collections.emptyMap();
  }
  Map<X509GeneralName, String> map = new LinkedHashMap<X509GeneralName, String>();
  for ( GeneralName eachGeneralName : generalNames.getNames() ) {
    Map.Entry<X509GeneralName, String> entry = asImmutableMapEntry( eachGeneralName );
    map.put( entry.getKey(), entry.getValue() );
  }
  return map;
}

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

/**
 * Load the GeneralNamesTableModel with general names.
 *
 * @param generalNames
 *            The general names
 */
public void load(GeneralNames generalNames) {
  GeneralName[] generalNamesArray = generalNames.getNames();
  data = new ArrayList<>(Arrays.asList(generalNamesArray));
  Collections.sort(data, new GeneralNameComparator());
  fireTableDataChanged();
}

代码示例来源:origin: mesosphere/dcos-commons

/**
  * Creates SHA1 string representation of {@link #getSANs()}.
  */
 public String getSANsHash() {
  String allSans = Arrays.stream(getSANs().getNames())
    .map(name -> name.getName().toString())
    .collect(Collectors.joining(";"));
  byte[] digest = SHA1_HASHER.digest(allSans.getBytes(StandardCharsets.UTF_8));
  return new String(Hex.encode(digest), StandardCharsets.UTF_8);
 }
}

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

private String getCertificateIssuerStringValue(byte[] value) throws IOException {
  // @formatter:off
  /*
   * certificateIssuer ::= GeneralNames
   *
   * GeneralNames ::= ASN1Sequence SIZE (1..MAX) OF GeneralName
   */
  // @formatter:on
  StringBuilder sb = new StringBuilder();
  GeneralNames certificateIssuer = GeneralNames.getInstance(value);
  for (GeneralName generalName : certificateIssuer.getNames()) {
    sb.append(GeneralNameUtil.toString(generalName));
    sb.append(NEWLINE);
  }
  return sb.toString();
}

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

private String getSubjectAlternativeNameStringValue(byte[] value) throws IOException {
  // @formatter:off
  /*
   * SubjectAltName ::= GeneralNames
   *
   * GeneralNames ::= ASN1Sequence SIZE (1..MAX) OF GeneralName
   */
  // @formatter:on
  StringBuilder sb = new StringBuilder();
  GeneralNames subjectAltName = GeneralNames.getInstance(value);
  for (GeneralName generalName : subjectAltName.getNames()) {
    sb.append(GeneralNameUtil.toString(generalName));
    sb.append(NEWLINE);
  }
  return sb.toString();
}

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

private String getIssuerAlternativeNameStringValue(byte[] value) throws IOException {
  // @formatter:off
  /*
   * IssuerAltName ::= GeneralNames
   *
   * GeneralNames ::= ASN1Sequence SIZE (1..MAX) OF GeneralName
   */
  // @formatter:on
  StringBuilder sb = new StringBuilder();
  GeneralNames issuerAltName = GeneralNames.getInstance(value);
  for (GeneralName generalName : issuerAltName.getNames()) {
    sb.append(GeneralNameUtil.toString(generalName));
    sb.append(NEWLINE);
  }
  return sb.toString();
}

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

private String getUrl(DistributionPointName distributionPoint) {
  if ((distributionPoint != null) && (DistributionPointName.FULL_NAME == distributionPoint.getType())) {
    final GeneralNames generalNames = (GeneralNames) distributionPoint.getName();
    if ((generalNames != null) && (generalNames.getNames() != null && generalNames.getNames().length > 0)) {
      for (GeneralName generalName : generalNames.getNames()) {
        if (GeneralName.uniformResourceIdentifier == generalName.getTagNo()) {
          ASN1String str = (ASN1String) ((DERTaggedObject) generalName.toASN1Primitive()).getObject();
          return str.getString();
        }
      }
    }
  }
  return null;
}

代码示例来源:origin: eu.eu-emi.security/canl

/**
 * Parses the information in the byte array (GeneralNames ASN1 sequence
 * of GeneralName) into a proxy tracing extension object.
 * 
 * @param bytes
 *                The bytes of ASN1 encoded proxy tracing extension.
 * @throws IOException
 *                 In case the byte array does not contain a valid ASN1
 *                 encoded proxy tracing extension.
 */
public ProxyTracingExtension(byte[] bytes) throws IOException
{
  names = GeneralNames.getInstance(ASN1Primitive.fromByteArray(bytes));
  name = names.getNames()[0];
}

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

/**
 * Creates a {@link GeneralNameList} object from DER data.
 *
 * @param  enc  DER encoded general names data.
 *
 * @return  Collection of general names.
 */
public static GeneralNameList createGeneralNameList(final DEREncodable enc)
{
 final List<GeneralName> nameList = new ArrayList<GeneralName>();
 for (
  org.bouncycastle.asn1.x509.GeneralName name :
  org.bouncycastle.asn1.x509.GeneralNames.getInstance(enc).getNames()) {
  nameList.add(createGeneralName(name));
 }
 return new GeneralNameList(nameList);
}

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

private void okPressed() {
  GeneralNames issuerAlternativeName = jgnAlternativeName.getGeneralNames();
  if (issuerAlternativeName.getNames().length == 0) {
    JOptionPane.showMessageDialog(this, res.getString("DIssuerAlternativeName.ValueReq.message"), getTitle(),
        JOptionPane.WARNING_MESSAGE);
    return;
  }
  try {
    value = issuerAlternativeName.getEncoded(ASN1Encoding.DER);
  } catch (IOException e) {
    DError.displayError(this, e);
    return;
  }
  closeDialog();
}

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

private void okPressed() {
  GeneralNames alternativeName = jgnAlternativeName.getGeneralNames();
  if (alternativeName.getNames().length == 0) {
    JOptionPane.showMessageDialog(this, res.getString("DSubjectAlternativeName.ValueReq.message"), getTitle(),
        JOptionPane.WARNING_MESSAGE);
    return;
  }
  try {
    value = alternativeName.getEncoded(ASN1Encoding.DER);
  } catch (IOException e) {
    DError.displayError(this, e);
    return;
  }
  closeDialog();
}

代码示例来源:origin: mesosphere/dcos-commons

@Test
public void testDiscoveryNameAddedAsSan() {
  Mockito.when(mockTaskSpec.getDiscovery()).thenReturn(Optional.of(mockDiscoverySpec));
  Mockito.when(mockDiscoverySpec.getPrefix()).thenReturn(Optional.of("custom-name"));
  CertificateNamesGenerator certificateNamesGenerator =
      new CertificateNamesGenerator(TestConstants.SERVICE_NAME, mockTaskSpec, mockPodInstance, SCHEDULER_CONFIG);
  GeneralNames sans = certificateNamesGenerator.getSANs();
  Assert.assertEquals(1, sans.getNames().length);
  List<String> names = Arrays.stream(sans.getNames())
      .map(name -> name.getName().toString())
      .collect(Collectors.toList());
  Assert.assertEquals(1, names.size());
  Assert.assertTrue(names.toString(), names.contains(taskDnsName("custom", "name-0", TestConstants.SERVICE_NAME)));
  Assert.assertEquals(toSansHash("custom-name-0.service-name." + SCHEDULER_CONFIG.getAutoipTLD()), certificateNamesGenerator.getSANsHash());
}

代码示例来源:origin: mesosphere/dcos-commons

@Test
public void testGetSANs() throws Exception {
  CertificateNamesGenerator certificateNamesGenerator =
      new CertificateNamesGenerator(TestConstants.SERVICE_NAME, mockTaskSpec, mockPodInstance, SCHEDULER_CONFIG);
  GeneralNames sans = certificateNamesGenerator.getSANs();
  Assert.assertEquals(1, sans.getNames().length);
  List<String> names = Arrays.stream(sans.getNames())
      .map(name -> name.getName().toString())
      .collect(Collectors.toList());
  Assert.assertEquals(1, names.size());
  Assert.assertTrue(names.toString(), names.contains(taskDnsName(TestConstants.TASK_NAME, TestConstants.SERVICE_NAME)));
  Assert.assertFalse(names.contains(taskDnsName("*", TestConstants.SERVICE_NAME)));
  Assert.assertFalse(names.contains(taskVipName("*", TestConstants.SERVICE_NAME)));
  Assert.assertEquals(
      toSansHash("some-pod-test-task-name.service-name." + SCHEDULER_CONFIG.getAutoipTLD()),
      certificateNamesGenerator.getSANsHash());
}

代码示例来源:origin: mesosphere/dcos-commons

@Test
public void testSlashesInServiceName() throws Exception {
  String serviceNameWithSlashes = "service/name/with/slashes";
  String serviceNameWithoutSlashes = "servicenamewithslashes";
  CertificateNamesGenerator certificateNamesGenerator =
      new CertificateNamesGenerator(serviceNameWithSlashes, mockTaskSpec, mockPodInstance, SCHEDULER_CONFIG);
  Assert.assertEquals(String.format("%s-%s.%s", POD_NAME, TestConstants.TASK_NAME, serviceNameWithoutSlashes),
      certificateNamesGenerator.getSubject().getRDNs(BCStyle.CN)[0].getFirst().getValue().toString());
  List<String> names = Arrays.stream(certificateNamesGenerator.getSANs().getNames())
      .map(name -> name.getName().toString())
      .collect(Collectors.toList());
  Assert.assertEquals(1, names.size());
  Assert.assertTrue(names.toString(), names.contains(taskDnsName(TestConstants.TASK_NAME, serviceNameWithoutSlashes)));
  Assert.assertFalse(names.contains(taskDnsName("*", serviceNameWithoutSlashes)));
  Assert.assertFalse(names.contains(taskVipName("*", serviceNameWithoutSlashes)));
  Assert.assertEquals(
      toSansHash("some-pod-test-task-name.servicenamewithslashes." + SCHEDULER_CONFIG.getAutoipTLD()),
      certificateNamesGenerator.getSANsHash());
}

相关文章