实现ASN.1描述

时间:2013-05-19 10:00:38

标签: java c 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);

enter image description here

1 个答案:

答案 0 :(得分:0)

这看起来像是一个问题,您应该询问您正在使用的ASN.1工具的供应商。每个ASN.1工具都有自己的方式从您的值转换到编码的字节流,即使所有ASN.1工具的结果字节流应该相同。您尚未指出正在使用的ASN.1工具。