예제 #1
0
user = {"id": b"user_id", "name": "A. User"}

# Prepare parameters for makeCredential
create_options, state = server.register_begin(
    user,
    resident_key=True,
    user_verification=uv,
    authenticator_attachment="cross-platform",
)

# Create a credential
if use_prompt:
    print("\nTouch your authenticator device now...\n")

attestation_object, client_data = client.make_credential(
    create_options["publicKey"], pin=pin
)

# Complete registration
auth_data = server.register_complete(state, client_data, attestation_object)
credentials = [auth_data.credential_data]

print("New credential created!")

print("CLIENT DATA:", client_data)
print("ATTESTATION OBJECT:", attestation_object)
print()
print("CREDENTIAL DATA:", auth_data.credential_data)


# Prepare parameters for getAssertion
예제 #2
0
        print("Authenticator supports User Verification")

server = Fido2Server(
    {
        "id": "example.com",
        "name": "Example RP"
    },
    attestation="direct",
    verify_attestation=YubicoAttestationVerifier(),
)

user = {"id": b"user_id", "name": "A. User"}

# Prepare parameters for makeCredential
create_options, state = server.register_begin(
    user, user_verification=uv, authenticator_attachment="cross-platform")

# Create a credential
if use_prompt:
    print("\nTouch your authenticator device now...\n")

result = client.make_credential(create_options["publicKey"])

# Complete registration
auth_data = server.register_complete(state, result.client_data,
                                     result.attestation_object)
credentials = [auth_data.credential_data]

print("New credential created, attestation verified!")
print("Yubico device AAGUID:", auth_data.credential_data.aaguid.hex())
예제 #3
0
        print("Authenticator supports User Verification")


server = Fido2Server({"id": "example.com", "name": "Example RP"}, attestation="direct")

user = {"id": b"user_id", "name": "A. User"}

# Prepare parameters for makeCredential
create_options, state = server.register_begin(
    user, user_verification=uv, authenticator_attachment="cross-platform"
)

# Create a credential
try:
    result = client.make_credential(
        create_options["publicKey"], on_keepalive=on_keepalive
    )
except PinRequiredError as e:
    if isinstance(e.cause, CtapError):
        print(e.cause)
    result = client.make_credential(
        create_options["publicKey"],
        on_keepalive=on_keepalive,
        pin=getpass("Enter PIN: "),
    )

# Complete registration
auth_data = server.register_complete(
    state, result.client_data, result.attestation_object
)
credentials = [auth_data.credential_data]