Submit
Path:
~
/
/
usr
/
lib64
/
python3.6
/
site-packages
/
borg
/
crypto
/
__pycache__
/
File Content:
keymanager.cpython-36.pyc
3 y��b� � @ s� d dl Z d dlZd dlZd dl mZmZmZ d dlmZ ddlm Z m Z mZmZm Z mZ ddlmZ ddlmZmZmZmZmZ G d d � d e�ZG dd� de�ZG d d� de�ZG dd� de�Zdd� ZG dd� d�ZdS )� N)� unhexlify� a2b_base64� b2a_base64)�sha256� )�Manifest�NoManifestError�Error�yes� bin_to_hex� dash_open)� Repository� )� KeyfileKey�KeyfileNotFoundError�RepoKeyNotFoundError�KeyBlobStorage�identify_keyc @ s e Zd ZdZdS )�UnencryptedRepoz9Keymanagement not available for unencrypted repositories.N)�__name__� __module__�__qualname__�__doc__� r r �"/usr/lib64/python3.6/keymanager.pyr s r c @ s e Zd ZdZdS )�UnknownKeyTypezKeytype {0} is unknown.N)r r r r r r r r r s r c @ s e Zd ZdZdS )�RepoIdMismatchzHThis key backup seems to be for a different backup repository, aborting.N)r r r r r r r r r s r c @ s e Zd ZdZdS )�NotABorgKeyFilez-This file is not a borg key backup, aborting.N)r r r r r r r r r s r c C s t � }|j| � |j� d |� S )N)r �updateZ hexdigest)�dataZnum�hr r r �sha256_truncated s r! c @ s\ e Zd Zdd� Zdd� Zdd� Zdd� Zd d � Zdd� Zd d� Z dd� Z dd� Zdd� ZdS )� KeyManagerc C sf || _ d | _d | _y| j jtj�}W n tjk r> t�Y nX t |�}|j | _| jtjkrbt � �d S )N)� repository�keyblob�keyblob_storage�getr ZMANIFEST_IDr ZObjectNotFoundr r ZSTORAGEr Z NO_STORAGEr )�selfr# Z manifest_data�keyr r r �__init__$ s zKeyManager.__init__c C s� | j tjkrNt| j�}|j� }t|d��}dj|j� dd � �| _ W d Q R X n:| j tj kr�| jj� j� }|s�| jj j� }t|�d �|| _ d S )N�r� r )r% r �KEYFILEr r# �find_key�open�join� readlinesr$ �REPOZload_key�decodeZ _locationZcanonical_pathr )r'