通过java socket接收asn.1消息

时间:2016-06-07 13:54:32

标签: java asn.1

我正在使用BinaryNotes来编码和解码我的ASN.1消息,并且我有使用bnotes编译器编译的类。我在这里使用pdf中包含的编码/解码示例:

http://bnotes.sourceforge.net/BinaryNotes.pdf第11页

这是示例代码:

// Encoding for Java
TestSequence sequence = new TestSequence();
sequence.setField1(10L);
sequence.setField3("Hello");
// Inner class for implicitly ASN.1 type declaration
TestSequence.Field4ChoiceType choice = sequence.new Field4ChoiceType();
choice.selectField2(0.5);
sequence.setField4(choice);
IEncoder< TestSequence> encoder=CoderFactory.getInstance).newEncoder("BER");
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
encoder.encode(sequence, outputStream);`

现在我有一个输入流,其中包含我的编码数据,但为了解码,我需要知道序列的类,在示例中是#34; TestSequence&#34;。

// Decoding for Java
IDecoder decoder = CoderFactory.getInstance().newDecoder("BER");
// Decoding the specified input stream
TestSequence seq = decoder.decode(stream, TestSequence.class);
System.out.println(seq.getField1());
if(seq.isField3Present())
System.out.println(seq.getField3());

如果我以ByteArrayInputStream的形式接收数据,如何确定要传递给decoder.decode方法的类名?

0 个答案:

没有答案