如何 Python gnupg (GPG) 使用收件人的电子邮件地址而不是他们的指纹进行加密?
How to Python gnupg (GPG) encrypt with recipient's email address rather than their fingerprint?
如何 Python-gnupg (GnuPG / GPG / OpenPGP) 使用收件人的电子邮件地址而不是他们的指纹进行加密?
This example 显示(在我的 Ubuntu 20.04 / 这样的事情上失败了,但这是一个古老的例子;摘录:
encrypted_data = gpg.encrypt(unencrypted_string, 'testgpguser@mydomain.com')
更多最新(也许?)参考文献(例如 this and this) do not mention recipient email addresses, seemingly requiring numeric-only fingerprints for (presumably) public-key identication. Is it possible in today's environment (to identify a key solely by it's associated email_address/identity)? Possibly requiring a keyserver?
查看您问题中的版本号,您似乎正在使用 pretty-bad-protocol 重写,自 2018 年以来就没有更新过。
如果你只是安装python-gnupg
:
$ pip install python-gnupg
您获得版本 0.4.9
,已发布 just a few days ago:
Collecting python-gnupg
Downloading http://.../python_gnupg-0.4.9-py2.py3-none-any.whl (18 kB)
Installing collected packages: python-gnupg
Successfully installed python-gnupg-0.4.9
使用此版本的 gnupg
模块,您的代码可以正常运行:
>>> import gnupg
>>> gpg = gnupg.G
gnupg.GPG( gnupg.GenKey(
>>> gpg = gnupg.GPG()
>>> res = gpg.encrypt("this is a test", "bob@example.com")
>>> res.data
b'-----BEGIN PGP MESSAGE-----\n...\n-----END PGP MESSAGE-----\n'
>>>
当然更好使用指纹,因为您的钥匙串中可能有多个具有相同电子邮件地址的钥匙,并且您无法确定您使用的是哪一把会得到。使用指纹可确保您获得该特定密钥。
如何 Python-gnupg (GnuPG / GPG / OpenPGP) 使用收件人的电子邮件地址而不是他们的指纹进行加密?
This example 显示(在我的 Ubuntu 20.04 / 这样的事情上失败了,但这是一个古老的例子;摘录:
encrypted_data = gpg.encrypt(unencrypted_string, 'testgpguser@mydomain.com')
更多最新(也许?)参考文献(例如 this and this) do not mention recipient email addresses, seemingly requiring numeric-only fingerprints for (presumably) public-key identication. Is it possible in today's environment (to identify a key solely by it's associated email_address/identity)? Possibly requiring a keyserver?
查看您问题中的版本号,您似乎正在使用 pretty-bad-protocol 重写,自 2018 年以来就没有更新过。
如果你只是安装python-gnupg
:
$ pip install python-gnupg
您获得版本 0.4.9
,已发布 just a few days ago:
Collecting python-gnupg
Downloading http://.../python_gnupg-0.4.9-py2.py3-none-any.whl (18 kB)
Installing collected packages: python-gnupg
Successfully installed python-gnupg-0.4.9
使用此版本的 gnupg
模块,您的代码可以正常运行:
>>> import gnupg
>>> gpg = gnupg.G
gnupg.GPG( gnupg.GenKey(
>>> gpg = gnupg.GPG()
>>> res = gpg.encrypt("this is a test", "bob@example.com")
>>> res.data
b'-----BEGIN PGP MESSAGE-----\n...\n-----END PGP MESSAGE-----\n'
>>>
当然更好使用指纹,因为您的钥匙串中可能有多个具有相同电子邮件地址的钥匙,并且您无法确定您使用的是哪一把会得到。使用指纹可确保您获得该特定密钥。