GNUPG Shell
项目描述
概述
gpgkeys 是一个Python程序,允许您从命令行方便地管理GnuPG密钥和密钥环。它以Shell的形式提供,命令类似于GnuPG CLI命令及其选项。其主要功能是端到端自动补全。
动机
GNUPG CLI非常强大 - 而强大的力量伴随着难以理解。
gpgkeys 通过以下方式使密钥管理变得简单:
提供一组合理的GnuPG命令,
并使用自动补全来简化输入过程并引导用户完成密钥管理任务。
示例会话
gpgkeys 中的所有内容都可以自动补全:命令、帮助主题、选项标志、密钥ID、用户名、文件名、Shell命令和密钥服务器URL。
$ gpgkeys gpgkeys 2.2 (type help for help) gpgkeys> help Available commands (type help <topic>): ======================================= checksig dump fdump genrevoke list quit search sign clear edit fetch help listsig recv send version del export genkey import lsign refresh shell Shortcut commands (type help <topic>): ====================================== ! . ? e ll ls gpgkeys> help export Usage: export <keyspec> Options: --armor --clean --minimal --output --secret Export keys to stdout or to a file gpgkeys> ls Stefan pub 1024R/E1F438AD 1995-10-03 uid Stefan H. Holek (RSA) <stefan@epy.co.at> pub 1024D/355A2D28 2001-11-04 uid Stefan H. Holek <stefan@epy.co.at> sub 2048g/A27E0DBC 2004-10-27 gpgkeys> export --armor 355A2D28 > stefan.asc gpgkeys> .ls alice.asc stefan.asc
功能
命令行上选项和参数的顺序并不重要
gpgkeys> export 355A2D28 --armor > stefan.asc
以“.”或“!”开头的命令行由shell执行。您可以使用cd来更改当前目录,使用umask来更改umask,当然还有其他所有内容。
gpgkeys> .cd subdir/ gpgkeys> .pwd /home/stefan/subdir
您可以使用输入/输出重定向和管道。
gpgkeys> export 355A2D28 | pgpdump | less
要查看发送给GnuPG的命令,请使用带有-v选项的gpgkeys。
$ gpgkeys -v gpgkeys 2.2 (type help for help) gpgkeys> ls 355A2D28 gpgkeys: gpg --list-keys 355A2D28 pub 1024D/355A2D28 2001-11-04 uid Stefan H. Holek <stefan@epy.co.at> sub 2048g/A27E0DBC 2004-10-27
要了解有关GnuPG命令的所有信息,请输入
gpgkeys> .man gpg
gpgkeys可以用参数调用,在这种情况下,它不会进入命令循环。
$ gpgkeys export --armor 355A2D28 > stefan.asc
密钥服务器
为了使send、recv、search和refresh命令生效,至少应在gpg.conf中配置一个密钥服务器。例如
keyserver ldap://keyserver.pgp.com keyserver hkps://hkps.pool.sks-keyservers.net
gpg.conf中的最后一个密钥服务器成为默认密钥服务器。所有密钥服务器在--keyserver选项后都可用于自动完成。
Unicode
OpenPGP允许用户ID使用Latin-1或UTF-8编码。要查找非ASCII ID的密钥,GnuPG需要将搜索字符串正确编码。
gpgkeys的密钥自动完成功能会跟踪原始编码,并且每次您使用Tab键自动完成名称时,都会自动以GnuPG期望的方式编码。有时您可能会在命令行上看到代替非ASCII字符的“?”字符,这是上述情况的结果,无需担心。
开发
安装
安装需要Python 2.7或更高版本。
注意:gpgkeys使用rl库,该库包含一个C扩展。建议您查看其安装说明并确保所有依赖项都已就绪。
要安装gpgkeys脚本,请输入
pip install gpgkeys
然后将其放在您的系统PATH中,例如通过将其符号链接到/usr/local/bin。
要求
系统PATH中必须可用gpg2命令或gpg命令。
变更日志
2.2 - 2022-11-17
升级到rl 3.1和kmd 2.4。[stefan]
在tox.ini中替换已废弃的python setup.py test。[stefan]
从setup.py中删除已废弃的test_suite。[stefan]
添加一个pyproject.toml文件。[stefan]
在sdist中包含测试,但在wheel中不包含。[stefan]
2.1 - 2019-03-20
修复导入错误。[stefan]
2.0 - 2019-03-20
首先尝试gpg2二进制文件,如果找不到,则回退到gpg。[stefan]
始终将--fixed-list-mode添加到--with-colons。[stefan]
添加--ask-cert-level选项。[stefan]
停止使用2to3。[stefan]
修复文档错误:send命令仅接受密钥ID。[stefan]
修复在sign和lsign命令中的换行符问题。[stefan]
1.23 - 2012-10-07
改进代码,以利于2to3。[stefan]
重写Unicode支持。[stefan]
升级到rl 2.4以支持Python 3.3。[stefan]
1.22 - 2012-06-24
--keyserver选项现在将覆盖为密钥配置的任何首选密钥服务器。[stefan]
1.21 - 2012-05-10
修复详细输出。[stefan]
切换到一个更令人愉悦的Sphinx主题。[stefan]
当gpgkeys用参数调用时,不尊重字符串和文件名引号。通过要求kmd >= 2.2修复。[stefan]
1.20 - 2012-04-27
在执行子进程之前保存tty状态,之后恢复。[stefan]
支持Python 2.5。[stefan]
要求term >= 2.0。[stefan]
1.19 - 2012-04-14
在帮助屏幕中包含命令别名。[stefan]
当gpgkeys用参数调用时,返回有用的退出代码。[stefan]
修复在用^D退出编辑菜单时的“双重提示”问题。[stefan]
现在,import和fdump命令支持通过“<”进行输入重定向。[stefan]
1.18 - 2011-11-05
在Python 3中,确保输入函数接受代理。也请参阅Python 问题13342。[stefan]
当找不到gpg.conf文件时,密钥服务器完成功能损坏。[stefan]
导入命令在从stdin读取时忽略了选项标志。[stefan]
添加基于Sphinx的漂亮文档。[stefan]
要求kmd >= 2.1。[stefan]
1.17 - 2011-10-06
使用新的别名字典来设置命令别名。[stefan]
确保错误消息输出到stderr。[stefan]
当分页应用程序在前台时忽略信号。[stefan]
要求kmd >= 2.0。[stefan]
1.16.1 - 2011-07-25
修复1.16版本中静默损坏的历史文件处理。[stefan]
1.16 - 2011-07-14
使用kmd.Kmd而不是cmd.Cmd作为基类。[stefan]
仅通过kmd依赖项依赖rl。[stefan]
1.15 - 2011-05-05
要求rl >= 1.14。[stefan]
1.14 - 2011-03-24
将“!”和“.”添加到快捷命令中,以便在帮助中显示。[stefan]
为了支持较快的字节字符串操作,在后续Python版本中放弃对Python 2.5的支持。[stefan]
1.13 - 2011-03-11
要求rl >= 1.13。[stefan]
1.12 - 2010-05-21
当缺少必需的命令参数时打印帮助。[stefan]
要求rl >= 1.11。[stefan]
1.11 - 2010-05-07
更改导入语句,以便2to3能够解决它。[stefan]
1.10 - 2010-05-05
重构完成:将通用部分提取到基类中。[stefan]
要求rl >= 1.10。[stefan]
1.9 - 2010-03-07
将del命令的–all选项重命名为–secret-and-public。[stefan]
要求rl >= 1.6。[stefan]
1.8.2 - 2010-03-01
修复在Linux上Python 3下失败的测试。[stefan]
1.8.1 - 2010-02-25
恢复Python 2.5兼容性。唉。[stefan]
1.8 - 2010-02-25
通过distribute支持Python 3。[stefan]
–fingerprint选项可以多次给出。[stefan]
1.7.1 - 2010-02-13
显式依赖rl >= 1.4.1,以便setuptools不会忘记升级它。[stefan]
1.7 - 2010-02-13
将许可证更改为GPL。[stefan]
1.6 - 2010-01-31
将–clean和–minimal导入/导出选项添加到相应命令。[stefan]
修复密钥服务器命令的–merge-only导入选项。[stefan]
再次删除–yes选项,因为它没有明显的影响。[stefan]
1.5 - 2010-01-26
从导入命令中删除过时的–secret选项。[stefan]
用户ID完成现在由任何类型的引号触发。[stefan]
允许在参数之后指定命令行选项。[stefan]
1.4 - 2010-01-20
扩展引号和解引号API,使其更易于(重)使用。[stefan]
当默认引号字符为单引号时,解引号不正确。[stefan]
引号中的波浪号可能导致引号关闭,即使波浪号展开的名称匹配目录。[stefan]
1.3 - 2010-01-03
减少文件名完成的架构冗余。个别策略非常小。[stefan]
删除日志记录,因为它使代码杂乱。[stefan]
将示例会话添加到README中。[stefan]
1.2 - 2009-11-24
扩展keyid完成,以便也完成用户ID和名称。[stefan]
将文件名完成功能提取到函数中,因为它在其他地方也很有用。[stefan]
1.1 - 2009-11-16
允许在命令行上指定文件名引号样式,以简化实验。[stefan]
文件名完成:通过早期解引号,我们可以跳过一个有问题的钩子并重新获得对波浪号展开的控制。另请参阅rl 问题/3。[stefan]
1.0 - 2009-11-08
初始发布。
项目详细信息
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
构建分发
gpgkeys-2.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a04e9a887cdb80a71e71789dff73a32a22299bcfbd1a07e88027b33ee07265d5 |
|
MD5 | af4368f81ba03cdb3bf2f19b1956be09 |
|
BLAKE2b-256 | 2c675e97e4eb91778d0a9f6c19d1d176b3fc022ba78d89c7d7fc1c353ed38c67 |
gpgkeys-2.2-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 91e6c2f3cae1fe3cb9509d384765909ab56f9151d72a8fe1f267ab003ee0391d |
|
MD5 | d0726d31488fda842826c1e94447a5e3 |
|
BLAKE2b-256 | 96e303808cd8b177ed6d714dc4b7a8bc918d0d7246744832b49b8ac06a83840b |