Java ASN.1 Parser - как декодировать информацию по определенной структуре
Я пытаюсь сделать простой парсер 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
DataTypes.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
Я не могу найти простой пример для чтения объектов по схеме / последовательности. Может кто-нибудь сказать мне, как начать?