docs: def get(self, key_use, key_type="", owner="", kid=None, **kwargs):
          """
          Get all keys that matches a set of search criteria
  
          :param key_use: A key useful for this usage (enc, dec, sig, ver)
          :param key_type: Type of key (rsa, ec, oct, ..)
          :param owner: Who is the owner of the keys, "" == me (default)
          :param kid: A Key Identifier
          :return: A possibly empty list of keys
          """
  
          if key_use in ["dec", "enc"]:
              use = "enc"
          else:
              use = "sig"
  
          _kj = None
          if owner != "":
              try:
                  _kj = self.issuer_keys[owner]
              except KeyError:
                  if owner.endswith("/"):
                      try:
                          _kj = self.issuer_keys[owner[:-1]]
                      except KeyError:
                          pass
                  else:
                      try:
                          _kj = self.issuer_keys[owner + "/"]
                      except KeyError:
                          pass
          else:
              try:
                  _kj = self.issuer_keys[owner]
              except KeyError:
                  pass
  
          if _kj is None:
              return []
  
          lst = []
          for bundle in _kj:
              if key_type:
                  if key_use in ['ver', 'dec']:
                      _bkeys = bundle.get(key_type, only_active=False)
                  else:
                      _bkeys = bundle.get(key_type)
              else:
                  _bkeys = bundle.keys()
              for key in _bkeys:
                  if key.inactive_since and key_use != "sig":
                      # Skip inactive keys unless for signature verification
                      continue
                  if not key.use or use == key.use:
                      if kid:
                          if key.kid == kid:
                              lst.append(key)
                              break
                          else:
                              continue
                      else:
                          lst.append(key)
  
          # if elliptic curve, have to check if I have a key of the right curve
          if key_type == "EC" and "alg" in kwargs:
              name = "P-{}".format(kwargs["alg"][2:])  # the type
              _lst = []
              for key in lst:
                  if name != key.crv:
                      continue
                  _lst.append(key)
              lst = _lst
  
          if use == 'enc' and key_type == 'oct' and owner != '':
              # Add my symmetric keys
              for kb in self.issuer_keys['']:
                  for key in kb.get(key_type):
                      if key.inactive_since:
                          continue
                      if not key.use or key.use == use:
                          lst.append(key)
  
          return lst