标签: gnupg

防止 VSCode 远程容器中的 GPG 密钥共享

官方文档中的以下段落描述了如何在 VSCode 中启用 GPG 密钥共享(从本地主机到远程容器)(https://code.visualstudio.com/docs/remote/containers#_sharing-gpg-keys)。

说明(适用于 Linux)仅指出要共享 GPG 密钥,请gnupg2在本地和容器中安装。但是,如果我已经gnupg2安装但不想共享密钥怎么办?据我所知,VSCode 在完成密钥共享的容器内执行启动后命令,例如:

Copy /home/karlschriek/.gnupg/pubring.kbx to /home/vscode/.gnupg/pubring.kbx
Copy /home/karlschriek/.gnupg/trustdb.gpg to /home/vscode/.gnupg/trustdb.gpg
...
Run Code Online (Sandbox Code Playgroud)

我无法找到可以防止这种情况的设置。据推测,它也使用gpg-agent与本地主机相同的方式。我想阻止这种情况发生。

gnupg docker visual-studio-code gpg-agent

5
推荐指数
1
解决办法
882
查看次数

非对称密钥容器的可互换性(例如:X.509,PGP,OpenSSH)

非对称加密密钥是否在主要密钥容器格式之间从根本上可以互换?例如,我可以将X.509密钥文件转换为PGP或OpenGPG密钥文件吗?

并且 - 假设答案是肯定的 - 以任何格式保留一个密钥对并转换成适合该场合的容器文件格式是"安全中立"吗?

我有点厌倦为X.509,OpenGPG和SSH维护这么多密钥对,当它们都是RSA的核心时.

security ssh cryptography gnupg x509

4
推荐指数
1
解决办法
2817
查看次数

如何在不使用本地存储的情况下从gpg获取私钥(在〜/ .gpg下)?

Subj:如何在不使用本地存储的情况下(在〜/ .gpg下)从gpg获取私钥?

该解决方案不满足要求:

  $ gpg --import priv.key
  $ gpg --export $KEYID >pub.key
  $ gpg --delete-secret-and-public-key $KEYID

gnupg pgp

4
推荐指数
1
解决办法
5297
查看次数

Git GPG错误签名标签

在谈到Git时,我有点像新秀.所以我决定阅读Scott Chacon的Pro Git.BTW好书,强烈推荐它.

无论如何得到了关于签名标签的部分.要使用GPG对标签进行签名,您必须设置私钥.但是,当我跑:

git tag -s v1.6 -m "my signed 1.6 tag"
Run Code Online (Sandbox Code Playgroud)

我得到以下内容:

C:\Users\Name\Desktop\git>git tag -s v1.6 -m "my signed 1.6 tag"
gpg: error loading `iconv.dll': The specified module could not be found.

gpg: please see http://www.gnupg.org/download/iconv.html for more information
gpg: skipped "Name <name@gmail.com>": secret key not available
gpg: signing failed: secret key not available
error: gpg failed to sign the data
error: unable to sign the tag
Run Code Online (Sandbox Code Playgroud)

所以,我完成了错误消息告诉我要做的事情,然后转到链接并按照说明进行操作.我将iconv.dll复制到包含gpg.exe(\ Git\bin)的文件夹中.再次执行命令并得到:

C:\Users\Name\Desktop\git>git tag -s v1.6 -m "my signed 1.6 tag" …
Run Code Online (Sandbox Code Playgroud)

git gnupg

4
推荐指数
1
解决办法
5075
查看次数

需要将单个GnuPG公钥导入pubring

这是基于Python的GnuPg用户友好的前端程序.一直试图找到只导入一个公钥的命令,而不是全部.这会阻止文件gpg中的所有键--import Some_pub_keys.txt

我试过这个:gpg --import 6CA398EA Some_pub_keys.txt

要仅导入此密钥6CA398EA,但它不起作用.

是否只有导入一个键的命令?

gnupg

4
推荐指数
1
解决办法
2014
查看次数

使用BouncyCastle和GnuPG 2.1的`pubring.kbx`文件

我正在尝试使用BouncyCastle和PGP2来读取公钥.问题是,因为GnuPG 2.1存储在pubring.kbx而不是pubring.gpg.这导致IOExceptionpublic key ring doesn't start with public key tag: tag 0x0

知道我是否以及如何使用BC与GnuPG 2.1?

java bouncycastle gnupg openpgp

4
推荐指数
2
解决办法
1709
查看次数

获取OpenPGP密钥的指纹

我正在尝试从ActiveMQ的公开OpenPGP密钥获取指纹。它们发布在http://www.apache.org/dist/activemq/KEYS上

不幸的是,并非所有键旁边都列出了指纹。您知道如何进行吗?

gnupg pgp openpgp

4
推荐指数
3
解决办法
8500
查看次数

禁用每次提交的输入密码

1.总结

我不能每次都禁用输入密码,我如何进行提交。


2.环境

  • Windows 10企业版LTSB 64位EN,
  • git 2.16.2.windows.1,
  • gpg-agent(GnuPG)2.2.4,
  • gpg4win 3.0.3。

3.复制步骤

我安装并设置了Gpg4win吗?我移到带有.git子文件夹的文件夹?

  • git add .
  • git commit -m "Any description"

4.预期行为

成功签署的提交,无需输入密码。


5.实际行为

我进入窗口,在这里我需要输入密码:

输入密码

pinentry-qt

请输入密码以解锁OpenPGP密钥:

每次提交时,我都需要输入密码。

???? exclude:两次提交之间的间隔时间。


6.没有帮助

我发现我的USERPROFILE文件夹- C:\Users\SashaChernykh- .gnupg\gpg-agent.conf文件。我尝试将no-ttybatchno-use-agent行添加到此文件:

no-tty
batch
no-use-agent
Run Code Online (Sandbox Code Playgroud)

我仍然得到实际的行为,这不是预期的。


7.不提供

  1. 请不要提供我每次必须输入密码的信息;
  2. 或者我可以进行未签名的提交;
  3. 我可以在文件中为default-cache-ttlmax-cache-ttl参数设置较大的值C:\Users\SashaChernykh\.gnupg\gpg-agent.conf,但不能禁用密码输入。

git gnupg git-sign gpg-agent

4
推荐指数
1
解决办法
1323
查看次数

gpg:找不到密钥块资源pubring.kbx,因为回购路径以gnupg主页为前缀

我曾经用gpg签名过我的提交,一切都很好,但是我突然收到了以下消息:

gpg: keyblock resource '/c/Users/username/path/to/project/C:\Users\username\.gnupg/pubring.kbx': No such file or directory
gpg: skipped "my_key": No secret key
gpg: signing failed: No secret key
error: gpg failed to sign the data
fatal: failed to write commit object
Run Code Online (Sandbox Code Playgroud)

请注意,关键块资源的路径由两个路径组成,实际上是无效的。

有关我的设置的信息

我的提交已自动签名,我的设置来自于这个答案,总而言之:我像平常一样设置了gpg,然后安装了gpg2并每次使用shell文件将密码短语通过管道传输到gpg中。不,我没有得到gpg-agent来执行此操作,尽管如果您知道该怎么做,请回答以下问题:密钥ID在签名中的密钥未对此提交进行签名

我有一个GNUPGHOME指向的环境变量C:\Users\username\.gnupg。我尝试将其更改为,C:/Users/username/.gnupg但斜杠也更改了错误。我尝试将其更改为,/c/Users/username/.gnupg但错误消息变为

gpg: Fatal: can't create directory '/c/Users/username/path/to/project/C:/Users/username/.gnupg': No such file or directory
Run Code Online (Sandbox Code Playgroud)

我也不知道导致此问题的系统上发生了什么变化。

相关问题

这个问题与不同的路径非常相似,但是没有解决:Git提交签名GPG问题 该评论是检查gitconfig中的路径,但是我在任何gitconfig中都没有指向gnupg目录的路径,并且它不会我认为无论如何都不要以回购路径作为前缀。我主要有这个~\.gitconfig

[user]
    signingkey = my_key
[commit]
    gpgsign = true
[gpg]
    program = C:\\Users\\username\\gpg-no-tty.sh …
Run Code Online (Sandbox Code Playgroud)

git gnupg

4
推荐指数
1
解决办法
2394
查看次数

如何使用*.pub/*.sec文件加密/解密另一个文件?

我使用这里给出的说明和代码创建了一对*.pub*.sec文件:

https://www.gnupg.org/documentation/manuals/gnupg/Unattended-GPG-key-generation.html

(我正在使用此文档,因为我想到的最终应用程序是自动加密/解密管道.)

Q1:如何使用gpg2和*.pub文件加密另一个文件?

Q2:如何使用gpg2和协同工具*.sec解密使用配套*.pub文件加密的文件?


重要提示: 我只对那些适合无监督操作的程序化实现的答案感兴趣.请不要发布只能以交互方式进行的答案.我对可以在Python中实现的解决方案特别感兴趣.


请提供相关文档的精确指示.

gnupg

4
推荐指数
1
解决办法
561
查看次数