gpt4 book ai didi

encryption - GnuPG:如何使用特定 key 加密/解密文件?

转载 作者:行者123 更新时间:2023-12-01 17:31:56 25 4
gpt4 key购买 nike

长话短说,我的问题是:如何强制 GnuPG 在加密/解密文件时使用哪个私钥/公钥?

<小时/>

一些解释/长话

我有一个应用程序,必须在将文件发送到 S3 之前对其进行加密。

用户可以使用浏览器从我的网站下载文件,在这种情况下,我必须先解密文件,然后再提供文件。

客户端(delphi 2010):我最有可能选择 OpenPGPBlackbox

服务器端(PHP 5),我需要弄清楚如何使用非交互式命令加密/解密文件。

我在我的服务器上安装了 GnuPG,尝试了以下代码:

clear_file='/full/path/my-file.zip'
encrypted_file='/full/path/my-file.zip.pgp'

# Encrypt file
/usr/bin/gpg2 --encrypt "$clear_file"

# Decrypt file
/usr/bin/gpg2 --decrypt "$encrypted_file"

但我似乎无法在命令行中指定要使用哪些键。

每个用户都有自己的公钥/私钥,因此我需要能够指定使用哪个 key 来加密/解密相关文件。

我的问题是:在加密/解密文件时如何强制 GnuPG 使用哪个私钥/公钥?

最佳答案

您正在寻找的选项是:

--default-key $name$
Use $name$ as the default key to sign with. If this option is not used, the default key is
the first key found in the secret keyring. Note that -u or --local-user overrides this
option.
--local-user $name$
-u Use $name$ as the key to sign with. Note that this option overrides --default-key.

或者可能:

--recipient $name$
-r Encrypt for user id $name$. If this option or --hidden-recipient is not specified,
GnuPG asks for the user-id unless --default-recipient is given.
--default-recipient $name$
Use $name$ as default recipient if option --recipient is not used and don't ask if
this is a valid one. $name$ must be non-empty.

这些可用于指定谁是预期接收者,例如使用哪个公钥进行签名/加密。解密文件时,如果当前 key 环中存在,GnuPG 会自动选择正确的 key ,如果存在多个 key ,可以使用 --keyring 选项进行选择。 GnuPG 还可以配置为从 key 服务器获取必要的 key (如果可用)。

您可能还对选项 --batch 感兴趣,该选项可确保在执行过程中不会提出交互式问题。

我建议您仔细阅读 GnuPG 手册页。有很多选项有时可能有用。

关于encryption - GnuPG:如何使用特定 key 加密/解密文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11292196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com