org.spongycastle.asn1.x500.X500Name.getRDNs()方法的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(7.3k)|赞(0)|评价(0)|浏览(93)

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

X500Name.getRDNs介绍

[英]return an array of RDNs in structure order.
[中]按结构顺序返回RDN数组。

代码示例

代码示例来源:origin: com.madgag.spongycastle/core

public boolean areEqual(X500Name name1, X500Name name2)
  {
    RDN[] rdns1 = name1.getRDNs();
    RDN[] rdns2 = name2.getRDNs();

    if (rdns1.length != rdns2.length)
    {
      return false;
    }

    for (int i = 0; i != rdns1.length; i++)
    {
      if (!rdnAreEqual(rdns1[i], rdns2[i]))
      {
        return false;
      }
    }

    return true;
  }
}

代码示例来源:origin: com.madgag/sc-light-jdk15on

public boolean areEqual(X500Name name1, X500Name name2)
  {
    RDN[] rdns1 = name1.getRDNs();
    RDN[] rdns2 = name2.getRDNs();

    if (rdns1.length != rdns2.length)
    {
      return false;
    }

    for (int i = 0; i != rdns1.length; i++)
    {
      if (rdnAreEqual(rdns1[i], rdns2[i]))
      {
        return false;
      }
    }

    return true;
  }
}

代码示例来源:origin: com.madgag.spongycastle/core

public String toString(X500Name name)
{
  StringBuffer buf = new StringBuffer();
  boolean first = true;
  RDN[] rdns = name.getRDNs();
  for (int i = 0; i < rdns.length; i++)
  {
    if (first)
    {
      first = false;
    }
    else
    {
      buf.append(',');
    }
    IETFUtils.appendRDN(buf, rdns[i], defaultSymbols);
  }
  return buf.toString();
}

代码示例来源:origin: com.madgag.spongycastle/core

public String toString(X500Name name)
{
  StringBuffer buf = new StringBuffer();
  boolean first = true;
  RDN[] rdns = name.getRDNs();
  for (int i = rdns.length - 1; i >= 0; i--)
  {
    if (first)
    {
      first = false;
    }
    else
    {
      buf.append(',');
    }
    IETFUtils.appendRDN(buf, rdns[i], defaultSymbols);
  }
  return buf.toString();
}

代码示例来源:origin: fr.acinq/bitcoinj-core

X500Name name = new X500Name(certificate.getSubjectX500Principal().getName());
String commonName = null, org = null, location = null, country = null;
for (RDN rdn : name.getRDNs()) {
  AttributeTypeAndValue pair = rdn.getFirst();
  String val = ((ASN1String) pair.getValue()).getString();

代码示例来源:origin: cash.bitcoinj/bitcoinj-core

X500Name name = new X500Name(certificate.getSubjectX500Principal().getName());
String commonName = null, org = null, location = null, country = null;
for (RDN rdn : name.getRDNs()) {
  AttributeTypeAndValue pair = rdn.getFirst();
  String val = ((ASN1String) pair.getValue()).getString();

代码示例来源:origin: greenaddress/GreenBits

X500Name name = new X500Name(certificate.getSubjectX500Principal().getName());
String commonName = null, org = null, location = null, country = null;
for (RDN rdn : name.getRDNs()) {
  AttributeTypeAndValue pair = rdn.getFirst();
  String val = ((ASN1String) pair.getValue()).getString();

代码示例来源:origin: com.madgag/sc-light-jdk15on

boolean first = true;
RDN[] rdns = name.getRDNs();

代码示例来源:origin: HashEngineering/dashj

X500Name name = new X500Name(certificate.getSubjectX500Principal().getName());
String commonName = null, org = null, location = null, country = null;
for (RDN rdn : name.getRDNs()) {
  AttributeTypeAndValue pair = rdn.getFirst();
  String val = ((ASN1String) pair.getValue()).getString();

代码示例来源:origin: com.madgag/sc-light-jdk15on

boolean first = true;
RDN[] rdns = name.getRDNs();

代码示例来源:origin: com.madgag/sc-light-jdk15on

return builder.build().getRDNs();

代码示例来源:origin: oVirt/moVirt

/**
 * @param certificate certificate
 * @return common name
 * @throws IllegalArgumentException if certificate is incorrect type
 */
@NonNull
public static String getCommonName(Certificate certificate) {
  assertX509Certificate(certificate);
  String result = null;
  try {
    X500Name x500name = new JcaX509CertificateHolder((X509Certificate) certificate).getSubject();
    RDN cn = x500name.getRDNs(BCStyle.CN)[0];
    result = IETFUtils.valueToString(cn.getFirst().getValue());
  } catch (CertificateEncodingException ignored) {
  }
  return (result == null) ? "" : result;
}

代码示例来源:origin: com.madgag.spongycastle/core

public boolean areEqual(X500Name name1, X500Name name2)
{
  RDN[] rdns1 = name1.getRDNs();
  RDN[] rdns2 = name2.getRDNs();
  if (rdns1.length != rdns2.length)
  {
    return false;
  }
  boolean reverse = false;
  if (rdns1[0].getFirst() != null && rdns2[0].getFirst() != null)
  {
    reverse = !rdns1[0].getFirst().getType().equals(rdns2[0].getFirst().getType());  // guess forward
  }
  for (int i = 0; i != rdns1.length; i++)
  {
    if (!foundMatch(reverse, rdns1[i], rdns2))
    {
      return false;
    }
  }
  return true;
}

代码示例来源:origin: com.google/bitcoinj

private @Nullable String getNameFromCert(TrustAnchor rootAuthority) throws PaymentRequestException.PkiVerificationException {
    org.spongycastle.asn1.x500.X500Name name = new X500Name(rootAuthority.getTrustedCert().getSubjectX500Principal().getName());
    String commonName = null, org = null, location = null, country = null;
    for (RDN rdn : name.getRDNs()) {
      AttributeTypeAndValue pair = rdn.getFirst();
      String val = ((ASN1String)pair.getValue()).getString();
      if (pair.getType().equals(RFC4519Style.cn))
        commonName = val;
      else if (pair.getType().equals(RFC4519Style.o))
        org = val;
      else if (pair.getType().equals(RFC4519Style.l))
        location = val;
      else if (pair.getType().equals(RFC4519Style.c))
        country = val;
    }
    if (org != null) {
      return Joiner.on(", ").skipNulls().join(org, location, country);
    } else {
      return commonName;
    }
  }
}

代码示例来源:origin: com.madgag/sc-light-jdk15on

public boolean areEqual(X500Name name1, X500Name name2)
{
  RDN[] rdns1 = name1.getRDNs();
  RDN[] rdns2 = name2.getRDNs();
  if (rdns1.length != rdns2.length)
  {
    return false;
  }
  boolean reverse = false;
  if (rdns1[0].getFirst() != null && rdns2[0].getFirst() != null)
  {
    reverse = !rdns1[0].getFirst().getType().equals(rdns2[0].getFirst().getType());  // guess forward
  }
  for (int i = 0; i != rdns1.length; i++)
  {
    if (!foundMatch(reverse, rdns1[i], rdns2))
    {
      return false;
    }
  }
  return true;
}

代码示例来源:origin: com.madgag/sc-light-jdk15on

public boolean areEqual(X500Name name1, X500Name name2)
{
  RDN[] rdns1 = name1.getRDNs();
  RDN[] rdns2 = name2.getRDNs();
  if (rdns1.length != rdns2.length)
  {
    return false;
  }
  boolean reverse = false;
  if (rdns1[0].getFirst() != null && rdns2[0].getFirst() != null)
  {
    reverse = !rdns1[0].getFirst().getType().equals(rdns2[0].getFirst().getType());  // guess forward
  }
  for (int i = 0; i != rdns1.length; i++)
  {
    if (!foundMatch(reverse, rdns1[i], rdns2))
    {
      return false;
    }
  }
  return true;
}

代码示例来源:origin: com.madgag.spongycastle/core

return builder.build().getRDNs();

代码示例来源:origin: com.madgag/sc-light-jdk15on

public int calculateHashCode(X500Name name)
{
  int hashCodeValue = 0;
  RDN[] rdns = name.getRDNs();
  // this needs to be order independent, like equals
  for (int i = 0; i != rdns.length; i++)
  {
    if (rdns[i].isMultiValued())
    {
      AttributeTypeAndValue[] atv = rdns[i].getTypesAndValues();
      for (int j = 0; j != atv.length; j++)
      {
        hashCodeValue ^= atv[j].getType().hashCode();
        hashCodeValue ^= calcHashCode(atv[j].getValue());
      }
    }
    else
    {
      hashCodeValue ^= rdns[i].getFirst().getType().hashCode();
      hashCodeValue ^= calcHashCode(rdns[i].getFirst().getValue());
    }
  }
  return hashCodeValue;
}

代码示例来源:origin: com.madgag.spongycastle/core

public int calculateHashCode(X500Name name)
{
  int hashCodeValue = 0;
  RDN[] rdns = name.getRDNs();
  // this needs to be order independent, like equals
  for (int i = 0; i != rdns.length; i++)
  {
    if (rdns[i].isMultiValued())
    {
      AttributeTypeAndValue[] atv = rdns[i].getTypesAndValues();
      for (int j = 0; j != atv.length; j++)
      {
        hashCodeValue ^= atv[j].getType().hashCode();
        hashCodeValue ^= calcHashCode(atv[j].getValue());
      }
    }
    else
    {
      hashCodeValue ^= rdns[i].getFirst().getType().hashCode();
      hashCodeValue ^= calcHashCode(rdns[i].getFirst().getValue());
    }
  }
  return hashCodeValue;
}

代码示例来源:origin: com.madgag/sc-light-jdk15on

public int calculateHashCode(X500Name name)
{
  int hashCodeValue = 0;
  RDN[] rdns = name.getRDNs();
  // this needs to be order independent, like equals
  for (int i = 0; i != rdns.length; i++)
  {
    if (rdns[i].isMultiValued())
    {
      AttributeTypeAndValue[] atv = rdns[i].getTypesAndValues();
      for (int j = 0; j != atv.length; j++)
      {
        hashCodeValue ^= atv[j].getType().hashCode();
        hashCodeValue ^= calcHashCode(atv[j].getValue());
      }
    }
    else
    {
      hashCodeValue ^= rdns[i].getFirst().getType().hashCode();
      hashCodeValue ^= calcHashCode(rdns[i].getFirst().getValue());
    }
  }
  return hashCodeValue;
}

相关文章