Exemplo n.º 1
0
        public void TestTlvEncode()
        {
            var tlvBytes = Helpers.HexStringToByteArray("9f2701009f360200419f2608c74d18b08248fefc9f10120110201009248400000000000000000029ff");
            var tlv      = new Tlv.Tlv();

            tlv.Decode(tlvBytes);

            var encoded = tlv.Encode();
            var tlv2    = new Tlv.Tlv();

            tlv2.Decode(encoded);

            Assert.Equal(tlvBytes, encoded);
        }
Exemplo n.º 2
0
        public async Task <ProcessingOptions> GetProcessingAsync(Tlv.Tlv pdol)
        {
            var pdolData = pdol.Encode();
            var res      = await SendApduAsync(new APDUCommand
            {
                Class = 0x80, Instruction = 0xA8, Data = pdolData
            });

            var body = new Tlv.Tlv(res.Body);

            if (body.ContainsKey(0x77))
            {
                return(TlvSerializer.Deserialize <ProcessingOptions>(body, 0x77));
            }

            if (!body.TryGetValue(0x80, out byte[] raw))