You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
trezor-firmware/core/src/apps/webauthn/list_resident_credentials.py

39 lines
1.3 KiB

from trezor import wire
from trezor.messages.WebAuthnCredential import WebAuthnCredential
from trezor.messages.WebAuthnCredentials import WebAuthnCredentials
from trezor.messages.WebAuthnListResidentCredentials import (
WebAuthnListResidentCredentials,
)
from trezor.ui.layouts import confirm_action
from . import resident_credentials
async def list_resident_credentials(
ctx: wire.Context, msg: WebAuthnListResidentCredentials
) -> WebAuthnCredentials:
await confirm_action(
ctx,
"credentials_list",
title="List credentials",
description="Do you want to export information about the resident credentials stored on this device?",
)
creds = [
WebAuthnCredential(
index=cred.index,
id=cred.id,
rp_id=cred.rp_id,
rp_name=cred.rp_name,
user_id=cred.user_id,
user_name=cred.user_name,
user_display_name=cred.user_display_name,
creation_time=cred.creation_time,
hmac_secret=cred.hmac_secret,
use_sign_count=cred.use_sign_count,
algorithm=cred.algorithm,
curve=cred.curve,
)
for cred in resident_credentials.find_all()
]
return WebAuthnCredentials(credentials=creds)