Используйте GPG в Python с PyNaClPython

Программы на Python
Anonymous
Используйте GPG в Python с PyNaCl

Сообщение Anonymous »

Я пытаюсь поиграть с GPG и PyNaCl.
Я могу импортировать ключ в Python с помощью оболочки gnupg CLI python-gnupg и знать, что его ответ закодирован в base64.< /p>

Код: Выделить всё

import base64
import gnupg

key_id = "..."
gpg = gnupg.GPG()
public_key = "".join(gpg.export_keys(key_id).split("\n")[2:11])
public_key = base64.b64decode(public_key)
Но тогда это не чистый ключ ED25519, и я не могу просто импортировать его с помощью:

Код: Выделить всё

import nacl
nacl.signing.VerifyKey(public_key)
  • Какую обработку мне нужно выполнить, чтобы получить только открытый ключ? Я немного поигрался с gpg -a --export ... | gpg --list-packets, но я не понимаю его вывода.
Как только я это получу, я тоже захочу подписывать сообщения. Я сделаю это напрямую с помощью gpg:

Код: Выделить всё

data, passphrase = ...
signature = gpg.sign(data, keyid=key_id, passphrase=passphrase, detach=True).data
base64.b64decode(signature)
  • Это чистая подпись без дополнительных метаданных?


Подробнее здесь: https://stackoverflow.com/questions/787 ... ith-pynacl

Вернуться в «Python»