示例#1
0
def find_device():
    """Returns first WebUSB or HID transport."""
    for d in WebUsbTransport.enumerate():
        return WebUsbTransport(d)

    for d in HidTransport.enumerate():
        return HidTransport(d)
示例#2
0
    def enumerate(self):
        from keepkeylib.transport_webusb import WebUsbTransport

        results = []

        for dev in WebUsbTransport.enumerate():
            path = ":".join(str(x) for x in ["%03i" % (dev.getBusNumber(),)] + dev.getPortNumberList())
            usb_id = (dev.getVendorID(), dev.getProductID())
            serial = dev.getSerialNumber()
            results.append(Device(path=path, interface_number=-1, id_=serial, product_key=usb_id, usage_page=0))

        return results
示例#3
0
 def enumerate(self):
     from keepkeylib.transport_webusb import WebUsbTransport
     results = []
     for dev in WebUsbTransport.enumerate():
         path = self._dev_to_str(dev)
         results.append(Device(path=path,
                               interface_number=-1,
                               id_=path,
                               product_key=(dev.getVendorID(), dev.getProductID()),
                               usage_page=0,
                               transport_ui_string=f"webusb:{path}"))
     return results
示例#4
0
 def webusb_transport(self, device):
     from keepkeylib.transport_webusb import WebUsbTransport
     for d in WebUsbTransport.enumerate():
         if device.id_.startswith(d.getSerialNumber()):
             return WebUsbTransport(d)
     return WebUsbTransport(device)
示例#5
0
 def webusb_transport(self, device):
     from keepkeylib.transport_webusb import WebUsbTransport
     for dev in WebUsbTransport.enumerate():
         if device.path == self._dev_to_str(dev):
             return WebUsbTransport(dev)
示例#6
0
 def _enumerate_web_usb(self):
     if self.libraries_available:
         from keepkeylib.transport_webusb import WebUsbTransport
         return WebUsbTransport.enumerate()
     return []
示例#7
0
#
# The script has been modified for KeepKey Device.

from __future__ import print_function

import sys
sys.path = ['../',] + sys.path

from keepkeylib.transport_pipe import PipeTransport
from keepkeylib.transport_hid import HidTransport
from keepkeylib.transport_socket import SocketTransportClient
from keepkeylib.transport_webusb import WebUsbTransport
from keepkeylib.transport_udp import UDPTransport

hid_devices = HidTransport.enumerate()
webusb_devices = WebUsbTransport.enumerate()

reload(sys)
sys.setdefaultencoding('utf8')

# Only count a hid device if it has more than just the U2F interface exposed
onlyU2F = len(hid_devices) > 0 and \
    hid_devices[0][0] == None and hid_devices[0][1] == None and hid_devices[0][2] != None

if len(hid_devices) > 0 and not onlyU2F:
    if hid_devices[0][1] != None:
        print('Using KeepKey over HID')
        TRANSPORT = HidTransport
        TRANSPORT_ARGS = (hid_devices[0],)
        TRANSPORT_KWARGS = {'debug_link': False}
        DEBUG_TRANSPORT = HidTransport
示例#8
0
 def webusb_transport(self, device):
     from keepkeylib.transport_webusb import WebUsbTransport
     for d in WebUsbTransport.enumerate():
         if device.id_.startswith(d.getSerialNumber()):
             return WebUsbTransport(d)
     return WebUsbTransport(device)