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); }
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))