Example usage for org.bouncycastle.asn1 DLSequence getEncoded

List of usage examples for org.bouncycastle.asn1 DLSequence getEncoded

Introduction

In this page you can find the example usage for org.bouncycastle.asn1 DLSequence getEncoded.

Prototype

public byte[] getEncoded(String encoding) throws IOException 

Source Link

Document

Return either the default for "BER" or a DER encoding if "DER" is specified.

Usage

From source file:org.jruby.ext.openssl.X509Name.java

License:LGPL

@JRubyMethod
public IRubyObject to_der() {
    DLSequence seq = null;
    if (oids.size() > 0) {
        ASN1EncodableVector vec = new ASN1EncodableVector();
        ASN1EncodableVector sVec = new ASN1EncodableVector();
        ASN1ObjectIdentifier lstOid = null;
        for (int i = 0; i != oids.size(); i++) {
            ASN1EncodableVector v = new ASN1EncodableVector();
            ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier) oids.get(i);
            v.add(oid);//from  w ww. j  av  a  2  s .  com
            String str = (String) values.get(i);
            v.add(convert(oid, str, RubyNumeric.fix2int(((RubyFixnum) types.get(i)))));
            if (lstOid == null) {
                sVec.add(new DLSequence(v));
            } else {
                vec.add(new DLSet(sVec));
                sVec = new ASN1EncodableVector();
                sVec.add(new DLSequence(v));
            }
            lstOid = oid;
        }
        vec.add(new DLSet(sVec));
        seq = new DLSequence(vec);
    } else {
        seq = new DLSequence();
    }
    try {
        return RubyString.newString(getRuntime(), seq.getEncoded(ASN1Encoding.DER));
    } catch (IOException ex) {
        throw newX509NameError(getRuntime(), ex.getMessage());
    }
}