Compile flag for AuthenticatorConfig (#628)
* Adds a compile flag for AuthenticatorConfig The command can be disabled for authenticators that don't want users to change their configuration. * adds tool for calling Config * std now implies config_command * removes obsolete comment
This commit is contained in:
55
tools/authenticator_config.py
Executable file
55
tools/authenticator_config.py
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright 2023 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
# Lint as: python3
|
||||
"""Tool that sends a config command to OpenSK."""
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
import argparse
|
||||
import colorama
|
||||
from fido2 import hid
|
||||
from fido2.ctap2 import Config
|
||||
import uuid
|
||||
|
||||
from tools.configure import fatal, get_opensk_devices, info
|
||||
|
||||
|
||||
def main(args):
|
||||
colorama.init()
|
||||
|
||||
devices = get_opensk_devices(False)
|
||||
if not devices:
|
||||
fatal("No devices found.")
|
||||
|
||||
for authenticator in devices:
|
||||
if authenticator.device.capabilities & hid.CAPABILITY.WINK:
|
||||
authenticator.device.wink()
|
||||
aaguid = uuid.UUID(bytes=authenticator.get_info().aaguid)
|
||||
info(f"Config of device AAGUID {aaguid} ({authenticator.device}).")
|
||||
|
||||
config = Config(authenticator)
|
||||
if args.ep:
|
||||
info("Enable EP...")
|
||||
config.enable_enterprise_attestation()
|
||||
if args.always_uv:
|
||||
info("Toggle AlwaysUv...")
|
||||
config.toggle_always_uv()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--ep", action=argparse.BooleanOptionalAction)
|
||||
parser.add_argument("--always-uv", action=argparse.BooleanOptionalAction)
|
||||
main(parser.parse_args())
|
||||
Reference in New Issue
Block a user