示例#1
0
 def transferChannel(self,
                     mode,
                     did,
                     channelId,
                     apduList,
                     apdu,
                     timeout=2000):
     response = TransferChannelResponse()
     ret = self.dll.TransferChannel_rq(self.fd, mode, did,
                                       channelId, apduList,
                                       apdu.decode("hex"), timeout)
     self.__printReturn(ret, "transer channel request")
     self.checkReturn(ret, "transferChannel")
     DID = c_int(-1)
     c_channel_id = c_int(-1)
     APDUList = c_int(-1)
     Data = create_string_buffer(128)
     ReturnStatus = c_int(-1)
     ret = self.dll.TransferChannel_rs(self.fd, byref(DID),
                                       byref(c_channel_id), byref(APDUList),
                                       byref(Data), byref(ReturnStatus),
                                       timeout)
     self.__printReturn(ret, "transfer channel response")
     self.checkReturn(ret, "transferChannel")
     response.ret = ret
     response.did = DID.value
     response.channelId = c_channel_id.value
     response.apduList = APDUList.value
     response.data = Data.raw.encode("hex")
     response.returnStatus = ReturnStatus.value
     DataParser.checkChannelResponse(response)
     return response
示例#2
0
 def psamChannel(self, slot, apduList, apdu, timeout=2000):
     res = PsamChannelResponse()
     ret = self.dll.PSAM_CHANNEL_rq(self.fd, slot, apduList,
                                    apdu.decode("hex"), timeout)
     self.__printReturn(ret, "psam channel request")
     self.checkReturn(ret, "psamChannel")
     apduNum = c_int(-1)
     data = create_string_buffer(256)
     ret = self.dll.PSAM_CHANNEL_rs(self.fd, slot, byref(apduNum),
                                    byref(data), timeout)
     self.__printReturn(ret, "psam channel response")
     self.checkReturn(ret, "psamChannel")
     res.ret = ret
     res.apduList = apduNum.value
     res.data = data.raw.encode("hex")
     DataParser.checkChannelResponse(res)
     return res