
    Djn	                        d dl mZ d dlmZ d dlmZ d dlmZ ddlm	Z	 ddl
mZmZmZmZmZ  ej        d	          Z G d
 de          ZdS )    )annotations)x509)default_backend)bytes_eq   )sha256   )AttestationAttestationResultAttestationTypeInvalidDatacatch_builtinsz1.2.840.113635.100.8.2c                  (    e Zd ZdZed             ZdS )AppleAttestationapplec                v   |d         }t          ||z             }t          j        |d         t                                }|j                            t                    }|j                                        dd          }t          ||          st          d          t          t          j        |          S )Nx5cr      zNonce does not match!)r   r   load_der_x509_certificater   
extensionsget_extension_for_oid	OID_APPLEvaluepublic_bytesr   r   r   r   ANON_CA)	self	statement	auth_dataclient_data_hashr   expected_noncecertext	ext_nonces	            R/home/thesage/.hermes/venv/lib/python3.11/site-packages/fido2/attestation/apple.pyverifyzAppleAttestation.verify1   s    	,< <==-c!fo6G6GHHo33I>>I**,,QRR0		22 	75666 !8#>>>    N)__name__
__module____qualname__FORMATr   r%    r&   r$   r   r   .   s2        F	? 	? ^	? 	? 	?r&   r   N)
__future__r   cryptographyr   cryptography.hazmat.backendsr   ,cryptography.hazmat.primitives.constant_timer   utilsr   baser
   r   r   r   r   ObjectIdentifierr   r   r+   r&   r$   <module>r3      s   8 # " " " " "       8 8 8 8 8 8 A A A A A A                    "D!":;;	? ? ? ? ?{ ? ? ? ? ?r&   