List of usage examples for org.bouncycastle.asn1 DLSequence getEncoded
public byte[] getEncoded(String encoding) throws IOException
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()); } }