File: //usr/lib/python3/dist-packages/acme/__pycache__/jws.cpython-38.pyc
U
[^+ � @ sF d Z ddlZG dd� dej�ZG dd� dej�ZG dd� dej�ZdS ) z�ACME-specific JWS.
The JWS implementation in josepy only implements the base JOSE standard. In
order to support the new header fields defined in ACME, this module defines some
ACME-specific classes that layer on top of josepy.
� Nc @ sL e Zd ZdZejddejd�Zejddd�Zejddd�Z ej
dd � �Zd
S )�Headerz?ACME-specific JOSE Header. Implements nonce, kid, and url.
�nonceT)� omitempty�encoder�kid)r �urlc
C sF zt �| �W S t jk
r@ } zt �d�|���W 5 d }~X Y nX d S )NzInvalid nonce: {0})�joseZdecode_b64joseZDeserializationError�format)�value�error� r �*/usr/lib/python3/dist-packages/acme/jws.pyr s zHeader.nonceN)�__name__�
__module__�__qualname__�__doc__r �FieldZencode_b64joser r r �decoderr r r r
r
s r c @ s2 e Zd ZdZejjZeZ ej
dde � e jd�ZdS )� SignaturezGACME-specific Signature. Uses ACME-specific Header for customer fields.�headerT)r �defaultr N)
r r r r r r �_orig_slots� __slots__r Z
header_clsr Z from_jsonr r r r r
r s �r c s2 e Zd ZdZeZejjZ e
d� fdd� �Z� ZS )�JWSzCACME-specific JWS. Includes none, url, and kid in protected header.Nc
s6 |d k}t t| �j|||tdddddg�||||d�S )Nr r r Zjwk�alg)�keyr Zprotectr r r �include_jwk)�superr �sign� frozenset)�clsZpayloadr r r r r r �� __class__r r
r - s �zJWS.sign)NN)
r r r r r Z
signature_clsr r r r �classmethodr �
__classcell__r r r! r
r ( s
r )r Zjosepyr r r r r r r r
�<module> s