Beispiel #1
0
def put_gpg(cred, email, data, key_name, *, key_type="pub", password=None):
    logger.debug(f"pushing gpg key for: {email} (firebase registry)")
    db = get_firestore_db(cred)
    collection_id, name = doc_path(email=email, key_type=key_type, key_name=key_name)
    pub_key = db.collection(collection_id).document(name)
    document = {"data": data}
    if key_type == "priv" and password:
        document["password"] = password
    pub_key.set(document)
Beispiel #2
0
def get_gpg(cred, email, key_name, *, key_type="pub"):
    logger.debug(f"fetching gpg key for: {email} (firebase registry)")
    db = get_firestore_db(cred)
    collection_id, name = doc_path(email=email, key_type=key_type, key_name=key_name)
    key = db.collection(collection_id).document(name).get().to_dict()
    try:
        return key["data"]
    except KeyError:
        return None
Beispiel #3
0
def get_message(args):
    if args.files:
        for fn in args.files:
            logger.debug(f"adding content of {fn} to messages")
            with open(fn, "r") as f:
                args.messages.append(f.read())
    if not args.messages:
        logger.warning("No message to encrypt")
        sys.exit(1)
    return args.messages
Beispiel #4
0
def put_gpg(cred, email, data, key_name, key_type="pub", password=""):
    query = create_gpg_query % (
        key_type.capitalize(),
        data.encode("utf-8"),
        key_name,
        email,
        password,
    )
    client = get_client(cred)
    logger.debug(query)
    return client.execute(gql(query))
Beispiel #5
0
def delete_gpg(cred, email, key_name, *, key_type="pub"):
    logger.debug(f"deleting gpg key for: {email} (firebase registry)")
    db = get_firestore_db(cred)
    collection_id, name = doc_path(email=email, key_type=key_type, key_name=key_name)
    return db.collection(collection_id).document(name).delete()