mirror of
https://github.com/solokeys/python-fido2.git
synced 2026-06-20 04:16:25 -07:00
45 lines
972 B
Python
45 lines
972 B
Python
from . import base
|
|
import socket
|
|
|
|
class HidOverUDP(base.HidDevice):
|
|
|
|
@staticmethod
|
|
def Enumerate():
|
|
a = [
|
|
{
|
|
'vendor_id':0x1234,
|
|
'product_id':0x5678,
|
|
'product_string': 'software test interface',
|
|
'usage': 0x01,
|
|
'usage_page': 0xf1d0,
|
|
'path': 'localhost:8111'
|
|
},]
|
|
return a
|
|
|
|
def __init__(self, path):
|
|
self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
|
self.sock.bind(('127.0.0.1',7112))
|
|
addr,port = path.split(':')
|
|
port = int(port)
|
|
self.token = (addr,port)
|
|
self.sock.settimeout(1.0)
|
|
|
|
def GetInReportDataLength(self):
|
|
return 64
|
|
|
|
def GetOutReportDataLength(self):
|
|
return 64
|
|
|
|
def Write(self, packet):
|
|
self.sock.sendto(bytearray(packet), self.token)
|
|
|
|
def Read(self):
|
|
msg = [0]*64
|
|
pkt, _ = self.sock.recvfrom(64)
|
|
for i,v in enumerate(pkt):
|
|
msg[i] = ord(v)
|
|
return msg
|
|
|
|
|
|
|