Java 类org.bouncycastle.asn1.DLSet 实例源码

项目:dss    文件:DSSASN1Utils.java   
public static Map<String, String> get(final X500Principal x500Principal) {
    Map<String, String> treeMap = new HashMap<String, String>();
    final byte[] encoded = x500Principal.getEncoded();
    final ASN1Sequence asn1Sequence = ASN1Sequence.getInstance(encoded);
    final ASN1Encodable[] asn1Encodables = asn1Sequence.toArray();
    for (final ASN1Encodable asn1Encodable : asn1Encodables) {

        final DLSet dlSet = (DLSet) asn1Encodable;
        for (int ii = 0; ii < dlSet.size(); ii++) {

            final DLSequence dlSequence = (DLSequence) dlSet.getObjectAt(ii);
            if (dlSequence.size() != 2) {

                throw new DSSException("The DLSequence must contains exactly 2 elements.");
            }
            final ASN1Encodable asn1EncodableAttributeType = dlSequence.getObjectAt(0);
            final String stringAttributeType = getString(asn1EncodableAttributeType);
            final ASN1Encodable asn1EncodableAttributeValue = dlSequence.getObjectAt(1);
            final String stringAttributeValue = getString(asn1EncodableAttributeValue);
            treeMap.put(stringAttributeType, stringAttributeValue);
        }
    }
    return treeMap;
}
项目:ximix    文件:MessageUtils.java   
static ASN1Set toASN1Set(Set<String> set)
{
    ASN1EncodableVector v = new ASN1EncodableVector();

    for (String name : set)
    {
        v.add(new DERUTF8String(name));
    }

    return new DLSet(v);
}
项目:ipack    文件:Attributes.java   
public Attributes(ASN1EncodableVector v)
{
    attributes = new DLSet(v);
}
项目:gwt-crypto    文件:Attributes.java   
public Attributes(ASN1EncodableVector v)
{
    attributes = new DLSet(v);
}
项目:Aki-SSL    文件:Attributes.java   
public Attributes(ASN1EncodableVector v)
{
    attributes = new DLSet(v);
}
项目:dss    文件:DSSASN1Utils.java   
public static String getUtf8String(final X500Principal x500Principal) {

        final byte[] encoded = x500Principal.getEncoded();
        final ASN1Sequence asn1Sequence = ASN1Sequence.getInstance(encoded);
        final ASN1Encodable[] asn1Encodables = asn1Sequence.toArray();
        final StringBuilder stringBuilder = new StringBuilder();
        /**
         * RFC 4514 LDAP: Distinguished Names
         * 2.1. Converting the RDNSequence
         *
         * If the RDNSequence is an empty sequence, the result is the empty or
         * zero-length string.
         *
         * Otherwise, the output consists of the string encodings of each
         * RelativeDistinguishedName in the RDNSequence (according to Section
         * 2.2), starting with the last element of the sequence and moving
         * backwards toward the first.
         * ...
         */
        for (int ii = asn1Encodables.length - 1; ii >= 0; ii--) {

            final ASN1Encodable asn1Encodable = asn1Encodables[ii];

            final DLSet dlSet = (DLSet) asn1Encodable;
            for (int jj = 0; jj < dlSet.size(); jj++) {

                final DLSequence dlSequence = (DLSequence) dlSet.getObjectAt(jj);
                if (dlSequence.size() != 2) {

                    throw new DSSException("The DLSequence must contains exactly 2 elements.");
                }
                final ASN1Encodable attributeType = dlSequence.getObjectAt(0);
                final ASN1Encodable attributeValue = dlSequence.getObjectAt(1);
                String string = getString(attributeValue);

                /**
                 * RFC 4514 LDAP: Distinguished Names
                 * ...
                 * Other characters may be escaped.
                 *
                 * Each octet of the character to be escaped is replaced by a backslash
                 * and two hex digits, which form a single octet in the code of the
                 * character. Alternatively, if and only if the character to be escaped
                 * is one of
                 *
                 * ' ', '"', '#', '+', ',', ';', '<', '=', '>', or '\'
                 * (U+0020, U+0022, U+0023, U+002B, U+002C, U+003B,
                 * U+003C, U+003D, U+003E, U+005C, respectively)
                 *
                 * it can be prefixed by a backslash ('\' U+005C).
                 */
                string = Rdn.escapeValue(string);
                if (stringBuilder.length() != 0) {
                    stringBuilder.append(',');
                }
                stringBuilder.append(attributeType).append('=').append(string);
            }
        }
        return stringBuilder.toString();
    }
项目:TinyTravelTracker    文件:Attributes.java   
public Attributes(ASN1EncodableVector v)
{
    attributes = new DLSet(v);
}
项目:CryptMeme    文件:Attributes.java   
public Attributes(ASN1EncodableVector v)
{
    attributes = new DLSet(v);
}
项目:irma_future_id    文件:Attributes.java   
public Attributes(ASN1EncodableVector v)
{
    attributes = new DLSet(v);
}
项目:bc-java    文件:Attributes.java   
public Attributes(ASN1EncodableVector v)
{
    attributes = new DLSet(v);
}