我尝试使用充气城堡库做一个简单的 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
我找不到通过方案/序列读取对象的任何简单示例。有人可以告诉我如何开始吗?