Encryption 通过GnuPG加密对文件进行签名和加密

Encryption 通过GnuPG加密对文件进行签名和加密,encryption,gnupg,Encryption,Gnupg,我试图从命令行通过GnuPG加密对文本文件进行签名和加密,但出现以下错误: 签名+加密失败:没有密钥 我对GnuPG知之甚少。我们的客户给了我两个文件扩展名为.asc的OpenPGP密钥。他说文件1是签署文件,文件2是加密文件 File1.asc(对文件进行签名)类似于: -----BEGIN PGP PRIVATE KEY BLOCK----- Version: PGP 7.0.1 (key code here) -----END PGP PRIVATE KEY BLOCK----- ---

我试图从命令行通过GnuPG加密对文本文件进行签名和加密,但出现以下错误:

签名+加密失败:没有密钥

我对GnuPG知之甚少。我们的客户给了我两个文件扩展名为
.asc
的OpenPGP密钥。他说文件1是签署文件,文件2是加密文件

File1.asc(对文件进行签名)类似于:

-----BEGIN PGP PRIVATE KEY BLOCK-----
Version: PGP 7.0.1

(key code here)
-----END PGP PRIVATE KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGP 7.0.1

(key code here)
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGP for Personal Privacy 5.0

(key code here)
-----END PGP PUBLIC KEY BLOCK-----
File2.asc(要加密)如下所示:

-----BEGIN PGP PRIVATE KEY BLOCK-----
Version: PGP 7.0.1

(key code here)
-----END PGP PRIVATE KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGP 7.0.1

(key code here)
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGP for Personal Privacy 5.0

(key code here)
-----END PGP PUBLIC KEY BLOCK-----
然后,我尝试通过以下命令行运行GnuPG:

gpg -r [file ame of encryption key] -s -u [password client gave for signing]  -o DirectoryWhereToOutputFile\sample.pgp -e DirectoryOfSampleFile\SampleFile

要成功对文件进行签名和加密,我需要做哪些更改?

GnuPG不使用密钥作为文件,您必须在导入密钥之前使用密钥ID

gpg --import [private-key]
gpg --import [public-key]
然后,使用公钥(要加密的公钥)的密钥ID:


如果您不知道ID,请使用
gpg--list key
获取所有已知密钥的列表
gpg--list secret key
将只显示那些您拥有私钥的密钥,因此可以用于签名的密钥。

在GnuPG中,我们生成keypair
gpg--gen key

  • 使用共享/导入的公钥加密-
    gpg--收件人bob--加密文件名
  • 使用私钥解密-
    gpg——解密sharedMessage.asc
提及