Example usage for org.bouncycastle.asn1.x500 RDN toASN1Primitive

List of usage examples for org.bouncycastle.asn1.x500 RDN toASN1Primitive

Introduction

In this page you can find the example usage for org.bouncycastle.asn1.x500 RDN toASN1Primitive.

Prototype

public ASN1Primitive toASN1Primitive() 

Source Link

Document

 RelativeDistinguishedName ::= SET OF AttributeTypeAndValue AttributeTypeAndValue ::= SEQUENCE { type     AttributeType, value    AttributeValue } 

Usage

From source file:com.foilen.smalltools.crypt.bouncycastle.cert.RSACertificate.java

License:Open Source License

/**
 * Get the certificate's common names./*www  .  jav a 2  s  . c o  m*/
 *
 * @return the common names
 */
public Set<String> getCommonNames() {
    AssertTools.assertNotNull(certificateHolder, "The certificate is not set");
    X500Name subject = certificateHolder.getSubject();
    Set<String> commonNames = new HashSet<>();
    for (RDN rdn : subject.getRDNs()) {
        ASN1Primitive primitive = rdn.toASN1Primitive();
        if (primitive instanceof ASN1Set) {
            ASN1Set asn1Set = (ASN1Set) primitive;
            for (int i = 0; i < asn1Set.size(); ++i) {
                AttributeTypeAndValue next = AttributeTypeAndValue.getInstance(asn1Set.getObjectAt(i));
                if (OID_COMMON_NAME.equals(next.getType().toString())) {
                    commonNames.add(next.getValue().toString());
                }
            }
        }
    }
    return commonNames;
}