jp.bitmeister.asn1.codec.ber
Class DerEncoder

java.lang.Object
  extended by jp.bitmeister.asn1.codec.ber.DerEncoder
All Implemented Interfaces:
ASN1Encoder, ASN1Visitor<ASN1EncodingException>

public class DerEncoder
extends java.lang.Object
implements ASN1Encoder, ASN1Visitor<ASN1EncodingException>

DER (Distinguished Encoding Rules) encoder.

DerEncoder is an implementation of ASN1Encoder. It encodes an ASN.1 data to an array of byte with Distinguished Encoding Rules(DER) and writes the result to OutputStream that is specified when the encoder was instantiated. The result octets can be decoded by any BER decoder because DER is a sub-set of Basic Encoding Rules(BER) and compatible with it.

Author:
WATANABE, Jun.
See Also:
ASN1Encoder, BerDecoder

Constructor Summary
DerEncoder(java.io.OutputStream out)
          Instantiates a DER encoder.
 
Method Summary
 int encode(ASN1Type data)
          Encodes an ASN.1 data.
 void visit(ANY data)
          Visits the ANY data.
 void visit(BIT_STRING data)
          Visits the BIT_STRING data.
 void visit(BOOLEAN data)
          Visits the BOOLEAN data.
 void visit(CHOICE data)
          Visits the CHOICE data.
 void visit(ENUMERATED data)
          Visits the ENUMERATED data.
 void visit(INTEGER data)
          Visits the INTEGER data.
 void visit(NULL data)
          Visits the NULL data.
 void visit(OBJECT_IDENTIFIER data)
          Visits the OBJECT_IDENTIFIER data.
 void visit(OCTET_STRING data)
          Visits the OCTET_STRING data.
 void visit(REAL data)
          Visits the REAL data.
 void visit(SEQUENCE_OF<? extends ASN1Type> data)
          Visits the SEQUENCE_OF data.
 void visit(SEQUENCE data)
          Visits the SEQUENCE data.
 void visit(SET_OF<? extends ASN1Type> data)
          Visits the SET_OF data.
 void visit(SET data)
          Visits the SET data.
 void visit(StringType data)
          Visits the StringType data.
 void visit(TimeType data)
          Visits the TimeType data.
 void visit(UnknownType data)
          Visits the UnknownType data.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DerEncoder

public DerEncoder(java.io.OutputStream out)
Instantiates a DER encoder.

Parameters:
out - The OutputStream that encoded octets are written.
Method Detail

encode

public int encode(ASN1Type data)
           throws ASN1EncodingException
Encodes an ASN.1 data.

Specified by:
encode in interface ASN1Encoder
Parameters:
data - The ASN.1 data to be encoded
Returns:
The size of encoded octets.
Throws:
ASN1EncodingException - When an error occurred while the encoding process.

visit

public void visit(BOOLEAN data)
Description copied from interface: ASN1Visitor
Visits the BOOLEAN data.

Specified by:
visit in interface ASN1Visitor<ASN1EncodingException>
Parameters:
data - The data to be visited.

visit

public void visit(INTEGER data)
Description copied from interface: ASN1Visitor
Visits the INTEGER data.

Specified by:
visit in interface ASN1Visitor<ASN1EncodingException>
Parameters:
data - The data to be visited.

visit

public void visit(ENUMERATED data)
Description copied from interface: ASN1Visitor
Visits the ENUMERATED data.

Specified by:
visit in interface ASN1Visitor<ASN1EncodingException>
Parameters:
data - The data to be visited.

visit

public void visit(REAL data)
Description copied from interface: ASN1Visitor
Visits the REAL data.

Specified by:
visit in interface ASN1Visitor<ASN1EncodingException>
Parameters:
data - The data to be visited.

visit

public void visit(BIT_STRING data)
Description copied from interface: ASN1Visitor
Visits the BIT_STRING data.

Specified by:
visit in interface ASN1Visitor<ASN1EncodingException>
Parameters:
data - The data to be visited.

visit

public void visit(OCTET_STRING data)
           throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the OCTET_STRING data.

Specified by:
visit in interface ASN1Visitor<ASN1EncodingException>
Parameters:
data - The data to be visited.
Throws:
ASN1EncodingException

visit

public void visit(NULL data)
           throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the NULL data.

Specified by:
visit in interface ASN1Visitor<ASN1EncodingException>
Parameters:
data - The data to be visited.
Throws:
ASN1EncodingException

visit

public void visit(SEQUENCE data)
           throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the SEQUENCE data.

Specified by:
visit in interface ASN1Visitor<ASN1EncodingException>
Parameters:
data - The data to be visited.
Throws:
ASN1EncodingException

visit

public void visit(SEQUENCE_OF<? extends ASN1Type> data)
           throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the SEQUENCE_OF data.

Specified by:
visit in interface ASN1Visitor<ASN1EncodingException>
Parameters:
data - The data to be visited.
Throws:
ASN1EncodingException

visit

public void visit(SET data)
           throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the SET data.

Specified by:
visit in interface ASN1Visitor<ASN1EncodingException>
Parameters:
data - The data to be visited.
Throws:
ASN1EncodingException

visit

public void visit(SET_OF<? extends ASN1Type> data)
           throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the SET_OF data.

Specified by:
visit in interface ASN1Visitor<ASN1EncodingException>
Parameters:
data - The data to be visited.
Throws:
ASN1EncodingException

visit

public void visit(CHOICE data)
           throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the CHOICE data.

Specified by:
visit in interface ASN1Visitor<ASN1EncodingException>
Parameters:
data - The data to be visited.
Throws:
ASN1EncodingException

visit

public void visit(OBJECT_IDENTIFIER data)
           throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the OBJECT_IDENTIFIER data.

Specified by:
visit in interface ASN1Visitor<ASN1EncodingException>
Parameters:
data - The data to be visited.
Throws:
ASN1EncodingException

visit

public void visit(StringType data)
           throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the StringType data.

Specified by:
visit in interface ASN1Visitor<ASN1EncodingException>
Parameters:
data - The data to be visited.
Throws:
ASN1EncodingException

visit

public void visit(TimeType data)
           throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the TimeType data.

Specified by:
visit in interface ASN1Visitor<ASN1EncodingException>
Parameters:
data - The data to be visited.
Throws:
ASN1EncodingException

visit

public void visit(ANY data)
           throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the ANY data.

Specified by:
visit in interface ASN1Visitor<ASN1EncodingException>
Parameters:
data - The data to be visited.
Throws:
ASN1EncodingException

visit

public void visit(UnknownType data)
           throws ASN1EncodingException
Description copied from interface: ASN1Visitor
Visits the UnknownType data.

Specified by:
visit in interface ASN1Visitor<ASN1EncodingException>
Parameters:
data - The data to be visited.
Throws:
ASN1EncodingException