void encode(DEROutputStream out) throws IOException {
    if (!empty) {
      ByteArrayOutputStream bOut = new ByteArrayOutputStream();
      DEROutputStream dOut = new DEROutputStream(bOut);

      dOut.writeObject(obj);
      dOut.close();

      byte[] bytes = bOut.toByteArray();

      if (explicit) {
        out.writeEncoded(CONSTRUCTED | TAGGED | tagNo, bytes);
      } else {
        //
        // need to mark constructed types...
        //
        if ((bytes[0] & CONSTRUCTED) != 0) {
          bytes[0] = (byte) (CONSTRUCTED | TAGGED | tagNo);
        } else {
          bytes[0] = (byte) (TAGGED | tagNo);
        }

        out.write(bytes);
      }
    } else {
      out.writeEncoded(CONSTRUCTED | TAGGED | tagNo, new byte[0]);
    }
  }
 void encode(DEROutputStream out) throws IOException {
   out.writeEncoded(GENERALIZED_TIME, this.getOctets());
 }
Beispiel #3
0
 void encode(DEROutputStream out) throws IOException {
   out.writeEncoded(UTC_TIME, time.getBytes());
 }