我们有一个Windows 2008 R2服务器。我们安装了gpg4win,它可以工作。我们可以创建公钥和私钥,并为具有公钥的消息解密消息。问题gnu安装默认为我的用户配置文件,我们希望它属于通用配置文件。根据gnu网站上的文档,我们创建了目录c:\ gpg_keys:gpg --homedir / my / path /,以使GnuPG在该目录中创建其所有文件。“当我们运行此命令时,这是Windows安装:gpg --homedir c:\ gpg_keys \返回是:gpg:钥匙圈c://gpg_keys//secring.gpg' created
gpg: keyringc://gpg_keys//pubring.gpg'创建了gpg:继续并键入您的消息...该过程停止了???
当我们查看目标目录时,我们有:08/28/2013
05:14 PM 0 pubring.gpg 08/28/2013 05:14 PM 0 secring.gpg.lock 08/28/2013 05:14 PM 0发布。 gpg.lock 08/28/2013 05:14 PM 0 secring.gpg已创建4个文件zeroe长度请以任何方式获取主目录的目标目录?
我正在尝试使用python和gnupg进行对称加密。
此代码段适用于我的Windows Vista计算机,其python gnupg模块的版本为0.3.2:
import gnupg
gpg = gnupg.GPG()
data = 'the quick brown fow jumps over the laxy dog.'
passphrase='12345'
crypt = gpg.encrypt(data, recipients=None,
symmetric='AES256',
passphrase=passphrase,
armor=False)
Run Code Online (Sandbox Code Playgroud)
当我尝试在具有1.2.5版python gnupg模块的linux机器上运行它时,出现以下错误:
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
File "/usr/local/lib/python2.7/dist-packages/gnupg/gnupg.py", line 961, in encrypt
result = self._encrypt(stream, recipients, **kwargs)
TypeError: _encrypt() got multiple values for keyword argument 'recipients'
Run Code Online (Sandbox Code Playgroud)
我已经进行了许多搜索,但找不到任何东西。
我正在编写一个 bash 脚本,它可以在 YUM 存储库中自动签署 RPM 包。为了完成这项任务,我使用expect.
到目前为止,这是我的源代码:
/usr/bin/expect <<EOD
spawn bash -c "rpm --resign ${NEW_REPO}/packages/*.rpm"
expect "Enter pass phrase:"
send "${GPG_PASS}\r"
expect eof
EOD
Run Code Online (Sandbox Code Playgroud)
NEW_REPO是 YUM 存储库的路径,GPG_PASS是 GPG 密钥的密码。
在大多数情况下,这非常有效并且可以成功地对包进行签名。
问题:即使该目录包含 42 个包,此代码块也仅对 28-30 RPM 的包进行签名。从命令行手动签署一批 RPM 包工作正常,但expect我的脚本中的块只是在到达所有包之前停止。这是一些奇怪的怪癖expect,还是我做错了什么?欢迎提出解决方法/建议。
谢谢
我只有一个 OpenPGP 密钥的公共指纹。我不知道密钥 ID 或几乎任何其他东西。
我怎样才能得到相应的公钥?有没有在线服务可以做到这一点?
这是我在stackoverflow上遇到的第一个问题,因此我希望它遵循社区准则:
我已经基于一个已经存在的映像构建了一个docker 映像,其唯一目的是在容器中运行双重性以将文件和文件夹备份到欧洲的Amazon S3存储桶。
当在由图像产生的容器内手动运行时,Duplicity工作了几天。现在,我继续使用CoreOS通过主机上的单元文件运行容器,但事情不再起作用-但是该命令也无法正常运行,我在一个双重容器中手动运行了它。
运行命令:
docker run --rm --env-file=<my backup env file>.env --name=<container image> -v <cache container>:/home/duplicity/.cache/duplicity -v <docker volume with gpg keys>:/home/duplicity/.gnupg --volumes-from <docker container of interest> gymnae/duplicity
Run Code Online (Sandbox Code Playgroud)
env文件包含以下内容:
PASSPHRASE=<my super secret passphrase>
AWS_ACCESS_KEY_ID=<my aws access key id>
AWS_SECRET_ACCESS_KEY=<my aws access key>
SOURCE_PATH=<where does the data come from>
REMOTE_URL=s3://s3.eu-central-1.amazonaws.com/<my bucket>
PARAMS_CLEAN="--remove-older-than 3M --force --extra-clean"
ENCRYPT_KEY=<derived from the gpg key>
Run Code Online (Sandbox Code Playgroud)
并且init.sh被调用的docker run看起来像这样:
#!/bin/sh
duplicity \
--verbosity 8 \
--s3-use-ia \
--s3-use-new-style \ …Run Code Online (Sandbox Code Playgroud) 我有一个OpenPGP消息,看起来像这样在文件中给我:
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.9 (MingW32)
jA0EAgMCtCzaGHIQXY9g0sBnAeDOQ9GuVA/uICuP+7Z2dnjNCLgRN0J/TzJs1qcW
aJYBTkH5KQCClCxjwTYbHZCox1sENfIS+KxpCKJQqAX3SNEFm0ORNE6RNwEgb1Zj
uOdIw8auxUsjmQKFLAcZIPKjBjyJqSQVfmEoteVn1n+pwm8RdIZevCHwLF2URStB
nBVuycaxcaxcaxcxccxcxacqweqweqwe123fsMqQPaTusOBGpEQrWC9jArtvYEUpY
aNF6BfQ0y2CYrZrmzRoQnmtnVu10PagEuWmVxCucyhVwlthVgN0iBog9jhjliQkc
rrDTupqB4IimMEjElGUHtkuvrCQ0jQnOHEAJmmefMDH0NkYKGd5Ngt21I5ge5tob
/uBjHKMxjNgg1nWfg6Lz4jqoKe/EweuEeg==
=+N9N
-----END PGP MESSAGE-----
Run Code Online (Sandbox Code Playgroud)
我想,并给了一个15个字符的密码来解密它.但我真的不知道用PHP解密文件.我看一下PHP的GnuPG手册页 ,在gnugpg_decrypt()示例下它给出了这段代码:
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = gnupg_decrypt($res,$encrypted_text);
echo $plain;
Run Code Online (Sandbox Code Playgroud)
所以看看这个功能gnupg_adddecryptkey,它提到我需要一个指纹.实际上是什么?我在哪里可以得到它?
我有一个 dockerfile 可以动态添加 OpenPGP 密钥。问题是密钥服务器hkp://pgp.mit.edu:80有时无法响应。我能做些什么来避免这种浪费时间的失败?
如何通过 GPG(GnuPG) 中的子密钥(多个子密钥(e))加密
pub rsa4096/22E49AB870AD169A 2017-03-09 [SC]
uid [ultimate] Jack Wonda <wangjievibeke@foxmail.com>
uid [ultimate] ?? <jack20130107@qq.com>
sub rsa4096/D39A707D61F13A26 2017-03-09 [E] [expires: 2020-04-25]
sub rsa4096/11FAB3E82F75B202 2017-04-24 [S] [expires: 2019-04-24]
sub rsa4096/B305BA41FD1F7793 2017-04-26 [E] [expires: 2019-04-26]
Run Code Online (Sandbox Code Playgroud)
我有两个用于加密的子密钥,但现在我只能使用最后一个子密钥(B305BA41FD1F7793)。
例如:
gpg2 -r D39A707D61F13A26 -e doc
File 'doc.gpg' exists. Overwrite? (y/N) y
gpg2 -d doc.gpg
gpg: encrypted with 4096-bit RSA key, ID B305BA41FD1F7793, created 2017-04-26
"Jack Wonda <wangjievibeke@foxmail.com>"
123456
Run Code Online (Sandbox Code Playgroud)
即使我指定了第一个子项,它仍然会转到最后一个。
我正在使用 jgit 进行自动化,我想问一下 jgit 上是否可以使用 gpg 签名。我还没有在网上找到实现。
如果它仍然不可用,您能否推荐一个实现为 git 自动执行 gpg 签名?
我创建了一个私有 PGP 密钥,然后在我的 Ubuntu 的密码和密钥管理器中添加了一张照片。我可以在那里看到照片,但是有什么方法可以从 shell 查看它并将其导出为图像文件?