本文整理汇总了Java中org.bouncycastle.asn1.x500.RDN.getFirst方法的典型用法代码示例。如果您正苦于以下问题:Java RDN.getFirst方法的具体用法?Java RDN.getFirst怎么用?Java RDN.getFirst使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.bouncycastle.asn1.x500.RDN
的用法示例。
在下文中一共展示了RDN.getFirst方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getCommonName
import org.bouncycastle.asn1.x500.RDN; //导入方法依赖的package包/类
public static String getCommonName(X500Name name) {
ParamUtil.requireNonNull("name", name);
RDN[] rdns = name.getRDNs(ObjectIdentifiers.DN_CN);
if (rdns != null && rdns.length > 0) {
RDN rdn = rdns[0];
AttributeTypeAndValue atv = null;
if (rdn.isMultiValued()) {
for (AttributeTypeAndValue m : rdn.getTypesAndValues()) {
if (m.getType().equals(ObjectIdentifiers.DN_CN)) {
atv = m;
break;
}
}
} else {
atv = rdn.getFirst();
}
return (atv == null) ? null : rdnValueToString(atv.getValue());
}
return null;
}
示例2: match
import org.bouncycastle.asn1.x500.RDN; //导入方法依赖的package包/类
public boolean match(Certificate cert) {
if (!(cert instanceof X509Certificate)) {
return false;
}
if (rdnArray == null) {
return true;
}
try {
X500Name x500name = getX500SubjectName((X509Certificate) cert);
boolean ok = true;
for (RDN rdn : rdnArray) {
AttributeTypeAndValue expectedTypeAndValue = rdn.getFirst();
ok = ok && contains(x500name, expectedTypeAndValue);
}
return ok;
} catch (CertificateEncodingException e) {
return false;
}
}
示例3: appendRDN
import org.bouncycastle.asn1.x500.RDN; //导入方法依赖的package包/类
public static void appendRDN(
StringBuffer buf,
RDN rdn,
Hashtable oidSymbols)
{
if (rdn.isMultiValued())
{
AttributeTypeAndValue[] atv = rdn.getTypesAndValues();
boolean firstAtv = true;
for (int j = 0; j != atv.length; j++)
{
if (firstAtv)
{
firstAtv = false;
}
else
{
buf.append('+');
}
IETFUtils.appendTypeAndValue(buf, atv[j], oidSymbols);
}
}
else
{
if (rdn.getFirst() != null)
{
IETFUtils.appendTypeAndValue(buf, rdn.getFirst(), oidSymbols);
}
}
}
示例4: extractCommonName
import org.bouncycastle.asn1.x500.RDN; //导入方法依赖的package包/类
private static String extractCommonName(X500Name name) {
for (RDN rdn : name.getRDNs()) {
AttributeTypeAndValue atav = rdn.getFirst();
if (atav.getType().equals(BCStyle.CN)) {
return atav.getValue().toString();
}
}
return null;
}
示例5: appendRDN
import org.bouncycastle.asn1.x500.RDN; //导入方法依赖的package包/类
public static void appendRDN(
StringBuilder buf,
RDN rdn,
Map<ASN1ObjectIdentifier, String> oidSymbols)
{
if (rdn.isMultiValued())
{
AttributeTypeAndValue[] atv = rdn.getTypesAndValues();
boolean firstAtv = true;
for (int j = 0; j != atv.length; j++)
{
if (firstAtv)
{
firstAtv = false;
}
else
{
buf.append('+');
}
ExtendedIETFUtils.appendTypeAndValue(buf, atv[j], oidSymbols);
}
}
else
{
if (rdn.getFirst() != null)
{
ExtendedIETFUtils.appendTypeAndValue(buf, rdn.getFirst(), oidSymbols);
}
}
}
示例6: extractCn
import org.bouncycastle.asn1.x500.RDN; //导入方法依赖的package包/类
public static String extractCn(X509Certificate certificate) {
X500Name dn = JcaX500NameUtil.getSubject(certificate);
for (RDN rdn : dn.getRDNs()) {
AttributeTypeAndValue first = rdn.getFirst();
if (first.getType().equals(BCStyle.CN)) {
return first.getValue().toString();
}
}
throw new IllegalArgumentException("certificate subject has no common name (CN)");
}