Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib/python3.7/site-packages/wheel/signatures/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/wheel/signatures/__pycache__/keys.cpython-37.pyc

B

Dt�Z��@s<dZddlZddlZddlmZmZmZGdd�de�Z	dS)aStore and retrieve wheel signing / verifying keys.

Given a scope (a package name, + meaning "all packages", or - meaning
"no packages"), return a list of verifying keys that are trusted for that
scope.

Given a package name, return a list of (scope, key) suggested keys to sign
that package (only the verifying keys; the private signing key is stored
elsewhere).

Keys here are represented as urlsafe_b64encoded strings with no padding.

Tentative command line interface:

# list trusts
wheel trust
# trust a particular key for all
wheel trust + key
# trust key for beaglevote
wheel trust beaglevote key
# stop trusting a key for all
wheel untrust + key

# generate a key pair
wheel keygen

# import a signing key from a file
wheel import keyfile

# export a signing key
wheel export key
�N�)�native�load_config_paths�save_config_pathc@sVeZdZdZdZdd�Zdd�Zdd�Zd	d
�Zdd�Z	ddd�Z
dd�Zdd�Zd
S)�	WheelKeys�z
wheel.jsoncCsggd�|_dS)N)�signers�	verifiers)�data)�self�r�F/opt/alt/python37/lib/python3.7/site-packages/wheel/signatures/keys.py�__init__,szWheelKeys.__init__c
Cs�x�td�D]�}tj�t|�|j�}tj�|�r
t|d��t}t�	|�|_
x dD]}||j
krLg|j
|<qLWd|j
kr�|j|j
d<n(|j
d|jkr�td�
|j
d|j���WdQRXPq
W|S)N�wheel�r)rr	Zschemaz(Bad wheel.json version {0}, expected {1})r�os�path�joinr�CONFIG_NAME�exists�open�json�loadr
�SCHEMA�
ValueError�format)rr�conf�infile�xrrr
r/s 


zWheelKeys.loadc	CsHtd�}tj�t|�|j�}t|d��}tj|j	|dd�WdQRX|S)Nrzw+r)�indent)
rrrrrrrr�dumpr
)rrr�outrrr
�saveBs
zWheelKeys.savecCs|jd�||d��|S)z0Start trusting a particular key for given scope.r	)�scope�vk)r
�append)rr#r$rrr
�trustJszWheelKeys.trustcCs|jd�||d��|S)z/Stop trusting a particular key for given scope.r	)r#r$)r
�remove)rr#r$rrr
�untrustOszWheelKeys.untrustNcs4�fdd�|jdD�}|jdd�d�|��|S)z;Return list of [(scope, trusted key), ...] for given scope.cs,g|]$}|d�dfkr|d|df�qS)r#�+r$r)�.0r)r#rr
�
<listcomp>Vsz%WheelKeys.trusted.<locals>.<listcomp>r	cSs|dS)Nrr)rrrr
�<lambda>X�z#WheelKeys.trusted.<locals>.<lambda>)�key)r
�sort�reverse)rr#r&r)r#r
�trustedTszWheelKeys.trustedcs4�fdd�|jdD�}|jdd�d�|��|S)zReturn list of signing key(s).cs,g|]$}|d�dfkr|d|df�qS)r#r)r$r)r*r)r#rr
r+^sz%WheelKeys.signers.<locals>.<listcomp>rcSs|dS)Nrr)rrrr
r,_r-z#WheelKeys.signers.<locals>.<lambda>)r.)r
r/r0)rr#�signr)r#r
r\szWheelKeys.signerscCs|jd�||d��dS)z>Remember verifying key vk as being valid for signing in scope.r)r#r$N)r
r%)rr#r$rrr
�
add_signercszWheelKeys.add_signer)N)
�__name__�
__module__�__qualname__rrrrr"r&r(r1rr3rrrr
r(s
r)
�__doc__r�os.pathr�utilrrr�objectrrrrr
�<module> s