Реализовать описание ASN.1

Я написал это описание ASN.1

Demo-module DEFINITIONS ::=       -- Module-name DEFINITIONS ::= BEGIN

BEGIN

ClientFirstRequest ::= SEQUENCE {                  
   clientInt     INTEGER
}        

ServerFirstResponse ::= SEQUENCE {                
   serverInt    INTEGER ,        
   serverString     IA5String  
 }  

ClientSecondRequest ::= SEQUENCE {                  
   clientString     IA5String
}    

ServerSecondResponse ::= SEQUENCE {                
   serverResponse     IA5String
}  



END                                      -- end of module, END required

У меня есть код, который отправляет целое число на сервер, он отлично работает

DataOutputStream dos = new DataOutputStream(_socket.getOutputStream());
 dos.writeInt(4);

Но я попытался использовать классы ASN.1, и у меня возникла проблема, я попробовал следующий код, но у меня есть ошибка в методе setValue.

ClientFirstRequest h = new ClientFirstRequest();
        h.setValue(4);
        BerOutputStream bos = new BerOutputStream(_socket.getOutputStream());
         h.encode(bos);

введите здесь описание изображения


person user2355359    schedule 19.05.2013    source источник


Ответы (1)


Это похоже на вопрос, который вы должны задать поставщику инструмента ASN.1, который вы используете. У каждого инструмента ASN.1 есть свой способ перехода от ваших значений к закодированному потоку байтов, даже если результирующий поток байтов должен быть одинаковым для всех инструментов ASN.1. Вы не указали, какие инструменты ASN.1 вы используете.

person Paul Thorpe    schedule 21.05.2013