test / bt-source /panel /class /webauthn /helpers /parse_attestation_object.py
GGSheng's picture
feat: deploy Gemma 4 to hf space
08c964e verified
from .parse_attestation_statement import parse_attestation_statement
from .parse_authenticator_data import parse_authenticator_data
from .structs import AttestationObject
from .parse_cbor import parse_cbor
def parse_attestation_object(val: bytes) -> AttestationObject:
"""
Decode and peel apart the CBOR-encoded blob `response.attestationObject` into
structured data.
"""
attestation_dict = parse_cbor(val)
decoded_attestation_object = AttestationObject(
fmt=attestation_dict["fmt"],
auth_data=parse_authenticator_data(attestation_dict["authData"]),
)
if "attStmt" in attestation_dict:
decoded_attestation_object.att_stmt = parse_attestation_statement(
attestation_dict["attStmt"]
)
return decoded_attestation_object