1

我尝试使用充气城堡库做一个简单的 asn1 解析器。我有 3 个文件 - 2 个方案(或序列)和 BAR 文件。首先,我尝试从文件中读取模式,然后使用 BER 文件进行解密。

CDR-HLR.asn:

CDR-HLR-Version3 DEFINITIONS IMPLICIT TAGS ::=
BEGIN
EXPORTS
CDR-HLR-VERSION3
;

IMPORTS
Timestamp,
IMSI,
CdrType,
ISDN-AddressString 
FROM DataTypes
;


CDR-HLR-VERSION3 ::= 
SEQUENCE {
timestamp  Timestamp,
type       CdrType,
msisdn  [0] ISDN-AddressString OPTIONAL,
imsi    [1] IMSI,
vlr     [2] ISDN-AddressString
}
END

数据类型.txt

DataTypes DEFINITIONS IMPLICIT TAGS ::=
BEGIN

EXPORTS
AddressString,
ISDN-AddressString,
Timestamp,
IMSI,
CdrType
;

AddressString        ::= OCTET STRING (SIZE (0..maxAddressLength))
ISDN-AddressString   ::= AddressString (SIZE (1..maxISDN-AddressLength))
Timestamp   ::= OCTET STRING
IMSI        ::= TBCDSTRING (SIZE (3..8))
CdrType ::= ENUMERATED {updateLocation(2), cancelLocation(3)}

END

接下来我想通过加载的模式读取/编码 BER 文件。

testcdr.ber:

   031512907038000€48790005968260060018293827‚1

我找不到通过方案/序列读取对象的任何简单示例。有人可以告诉我如何开始吗?

4

0 回答 0