多年来我积累了几把钥匙.当我生成它们时,当我向它们添加各种uid时,我没有明智地使用"注释"功能.
此时我想纠正这个问题并更新每个uid上的注释字段 - 但不会丢失它们累积的签名.没有eddress更改,没有名称更改,只有uids上的注释.
可以这样做而不必为每个人提供/ {del,rev} uid并丢失签名吗?
我想用python加密一些文件,哪种方法可以使用gpg/pgp使用任何标准/着名的python库?
有没有办法可视化GnuPG信任网?使用我的(或任何其他)密钥在中间,第一个圆圈中的签名密钥,下一个信任员的信任者等等?
如果没有这样的东西,我应该能够根据我的lokal钥匙圈的关键签名来构建类似的东西,对吧?
我在目录中有几百个gpg加密文件,格式为filename.xyz.gpg,其中"xyz"是一些任意扩展名.我需要解密所有文件以生成filename.xyz解密,这样我就不必手动输入每个文件的密码.
我已尝试以下目录"测试":
for file in 'ls Testing'; do (echo <password>|gpg --passphrase-fd 0 -d $file
--output $file.decrypted);
Run Code Online (Sandbox Code Playgroud)
我结束了命令提示>,没有任何反应.
我的语法有什么问题?没有bash shell循环,有没有更有效的方法来做到这一点?
我一直在设置我的开发环境,所以当我创建一个提交时,它会自动由GPG签名.我在这里关注了Githubs的文档:https://help.github.com/categories/gpg/ .
我试图使用IntelliJ的git接口来创建一个提交,但它始终失败并出现此错误.
Run Code Online (Sandbox Code Playgroud)gpg: cannot open `/dev/tty`: Device not configured error: gpg failed to sign the data fatal: failed to write commit object
我直接从我的终端使用git时没有遇到这个错误,我发现有人遇到类似问题的问题(使用Source Tree)并且提到了一些关于GUI没有弹出来输入密码的问题.我假设这与该问题类似.
我该如何解决这个问题呢?
问题如何在Windows上使用IntelliJ等IDE进行git提交?
如果你有兴趣,请阅读我在这里尝试的内容:
我主要跟随Github的指南.我确保在更改配置文件后不要忘记重启bash/IntelliJ.
.gitconfig是相同的.git config --global commit.gpgsign true(我正在使用git 2.12).我做了一个新的提交并验证它已签名git verify-commit HEAD当我尝试在IntelliJ中提交时,我gpg: cannot open tty 'no tty'发现IntelliT在尝试签名提交(GPG)并添加no-tty到我的C:\Users\username\.gnupg\gpg.conf文件并重新启动时未能提交更改.
然后我得到了gpg: Sorry, no terminal at all requested - can't get input似乎合理的错误,因为我刚添加了与没有终端有关的选项.像gpg:抱歉,没有终端请求 - 无法获得输入说解决方案是删除no-tty我希望不适用于我的情况.
第一个问题中的其他答案建议use-agent在gpg.conf文件中添加,这会导致额外的错误gpg: gpg-agent is not available in this session.等等,也许我需要设置gpg-agent.
我能找到的最佳Windows指南是Archlinux wiki(是的,右).它指定添加到C:/Users/username/.gnupg/gpg-agent.conf …
每次我签署某些内容时,它都会显示下一个错误:
\n\xe2\x9e\x9c ~ echo "test" | gpg --clearsign\ngpg: error reading symlink \'/proc/curproc/file\': No such file or directory\ngpg: using "8D5850D90161A3C94B9985084F40757FE4E85476" as default secret key for signing\n-----BEGIN PGP SIGNED MESSAGE-----\nHash: SHA512\n\ntest\n-----BEGIN PGP SIGNATURE-----\n\niHUEARYKAB0WIQSNWFDZAWGjyUuZhQhPQHV/5OhUdgUCYXWvIwAKCRBPQHV/5OhU\ndgTpAQCvVt1M/nu5lIZ92fDO1FvNG1j/m3jLwuifaat4SqOVbgD+I2+Qu54blco6\n4YXzVYyr0xpSJYzh9a2m0WmrG08v4AI=\n=LZsF\n-----END PGP SIGNATURE-----\nRun Code Online (Sandbox Code Playgroud)\n我的~/.gnupg/gpg-agent.conf看起来很正常并且工作正常。
有人知道这是怎么回事吗?
\n我正在使用GNUPG来加密我的ascii文件.
我学会了生成密钥,以及如何使用它来加密和解密文件.
我使用了两种方法:
gpg -d foo.txt.gpg
Run Code Online (Sandbox Code Playgroud)
和
gpg --output foo.txt --decrypt
foo.txt.gpg
Run Code Online (Sandbox Code Playgroud)
我意识到第一种方法会在屏幕上显示解密文件,例如当我通过SSH执行命令时.
关于第二种方法,我担心它是否会在本地pc上留下痕迹--foo.txt文件.
最重要的是,我不知道如何动态编辑foo文件的内容.理想情况下,我想通过SSH打开文件使用nano/pico,键入我的密码来解密,然后编辑文件,保存并加密.我非常希望避免将任何文件保存到本地磁盘.
欢迎任何评论.
先感谢您.
我更改了我的全局Git配置以签署所有提交.我也使用gpg-agent,这样我就不必每次都输入密码.
现在,每次我进行新的提交时,我都会在控制台上看到以下五行:
[blank line]
You need a passphrase to unlock the secret key for
user: "John Doe <mail@gmail.com>"
2048-bit RSA key, ID ABCDEF12, created 2016-01-01
[blank line]
Run Code Online (Sandbox Code Playgroud)
更糟糕的是,当我执行一个简单的存储时,此消息被打印两次,不必要地填充我的控制台(我假设为创建的两个提交对象中的每一个都有一个).
有没有办法抑制这个输出?