File: //usr/lib64/python3.9/site-packages/borg/crypto/__pycache__/keymanager.cpython-39.pyc
a
HZ�h@ � @ 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.9/site-packages/borg/crypto/keymanager.pyr
s r c @ s e Zd ZdZdS )�UnknownKeyTypezKeytype {0} is unknown.Nr r r r r r s r c @ s e Zd ZdZdS )�RepoIdMismatchzHThis key backup seems to be for a different backup repository, aborting.Nr r r r r r s r c @ s e Zd ZdZdS )�NotABorgKeyFilez-This file is not a borg key backup, aborting.Nr r r r r r s r c C s t � }|�| � |�� 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 sd || _ d | _d | _z| j �tj�}W n tjy< t�Y n0 t |�}|j
| _| jtjkr`t
� �d S r )�
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 tjkr`t| j�}|�� }t|��(}d�|�� dd � �| _ W d � q�1 sT0 Y n:| j tj
kr�| j�� �� }|s�| jj
�� }t|�d �|| _ d S )N� r )r'