
    \Ah`
                         S r SSKJrJr  SSKJrJr  Sr " S S\R                  5      r	 " S S\R                  5      r
 " S	 S
\R                  5      rS rS rS rS rg)zuASN1 encoding helpers for converting between PKCS1 and PKCS8.

Required by rsa_backend but not cryptography_backend.
    )decoderencoder)	namedtypeunivz1.2.840.113549.1.1.1c                       \ rS rSrSr\R                  " \R                  " S\R                  " 5       5      \R                  " S\R                  " 5       5      5      rSrg)RsaAlgorithmIdentifier   zAASN1 structure for recording RSA PrivateKeyAlgorithm identifiers.rsaEncryption
parameters N)__name__
__module____qualname____firstlineno____doc__r   
NamedTypes	NamedTyper   ObjectIdentifierNullcomponentType__static_attributes__r       ZC:\Users\julio\Documents\inmobiliaria_backend\env\Lib\site-packages\jose/backends/_asn1.pyr   r      sH    K((OT-B-B-DEyGZGZ[gimiriritGuMr   r   c            	           \ rS rSrSr\R                  " \R                  " S\R                  " 5       5      \R                  " S\
" 5       5      \R                  " S\R                  " 5       5      5      rSrg)PKCS8PrivateKey   z0ASN1 structure for recording PKCS8 private keys.versionprivateKeyAlgorithm
privateKeyr   N)r   r   r   r   r   r   r   r   r   Integerr   OctetStringr   r   r   r   r   r   r      sY    :((It||~613I3KLL$*:*:*<=Mr   r   c                       \ rS rSrSr\R                  " \R                  " S\" 5       5      \R                  " S\	R                  " 5       5      5      rSrg)PublicKeyInfo   z/ASN1 structure for recording PKCS8 public keys.	algorithm	publicKeyr   N)r   r   r   r   r   r   r   r   r   r   	BitStringr   r   r   r   r   r#   r#      sC    9((K)?)ABIDWDWXceieseseuDvMr   r#   c                     [         R                  " U [        5       S9n US   nUS   $ ! [         a    [	        S5      ef = f)1Convert a PKCS8-encoded RSA private key to PKCS1.asn1Specr   zInvalid private key encodingr   )r   decoder   
IndexError
ValueError	pkcs8_keydecoded_valuesdecoded_keys      r   rsa_private_key_pkcs8_to_pkcs1r3   &   sN    ^^I8IJN9$Q' |$$  97889s   ) ?c                     [        5       n[        US'   [        5       nSUS'   XS'   XS'   [        R                  " U5      $ )1Convert a PKCS1-encoded RSA private key to PKCS8.r
   r   r   r   r   )r   RSA_ENCRYPTION_ASN1_OIDr   r   encode	pkcs1_keyr%   r0   s      r   rsa_private_key_pkcs1_to_pkcs8r:   2   sF    &(I!8Io!IIi'0#$'l>>)$$r   c                     [        5       n[        US'   [        5       nXS'   [        R                  R                  U 5      US'   [        R                  " U5      $ )r5   r
   r%   r&   )r   r6   r#   r   r'   fromOctetStringr   r7   r8   s      r   rsa_public_key_pkcs1_to_pkcs8r=   ?   sK    &(I!8IoI&k!^^;;IFIk>>)$$r   c                     [         R                  " U [        5       S9n US   nUS   R                  5       $ ! [         a    [	        S5      ef = f)r)   r*   r   zInvalid public key encoding.r&   )r   r,   r#   r-   r.   asOctetsr/   s      r   rsa_public_key_pkcs8_to_pkcs1r@   K   sV    ^^IHN9$Q' {#,,..  97889s	   7 AN)r   pyasn1.codec.derr   r   pyasn1.typer   r   r6   Sequencer   r   r#   r3   r:   r=   r@   r   r   r   <module>rD      s\   
 . '0 T]] dmm DMM 	%
%	%	/r   