GPG使用PowerShell脚本中的多个公钥加密文件

时间:2016-07-13 23:18:12

标签: powershell encryption public-key-encryption gnupg encryption-asymmetric

我正在尝试使用多个公钥加密文件,并使用与文档中相同的语法,并抛出以下错误。

错误消息

gpg:用法:gpg [options] --encrypt [filename]     在行:10 char:1     + gpg --encrypt \ --recipient" Sree" \ - 收件人" Matam" \" C:报告\ ...     + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     + CategoryInfo:NotSpecified :(用法:gpg [opt ... rypt [filename]:String)[],RemoteException     + FullyQualifiedErrorId:NativeCommandError

P.S:此加密是作为powershell脚本

的一部分完成的

当我使用单个密钥加密时,它可以正常工作。有人能指出我做错了什么吗?

gpg --encrypt \ --recipient "Sree" \ --recipient "Matam" \ "C:\Reports\test_encryption.xlsx"

我用这个帖子来指导我,但看起来我错过了什么

Encryption with multiple different keys?

2 个答案:

答案 0 :(得分:2)

您一次只能使用一个密钥进行加密。

使用一个密钥加密后,您可以使用第二个密钥重新加密密文。

但是,这没有任何语义上的合法目的。公钥用于以规定的方式提供保密和机密性。我使用我的私钥签名,并使用您的公钥为您加密。您使用私钥恢复它并使用我的公钥进行验证。这个公钥或私钥的任何上层使用充其量都是值得怀疑的。

答案 1 :(得分:0)

最后有点工作了。感谢@ user2864740

$BeforeEncryptfilePathGPG = "C:\Reports\Test_Encryption.xlsx"
$SignedOrEncryptedLoc = "C:\Reports\Test_Encryption.xlsx.gpg"
gpg --output $SignedOrEncryptedLoc --always-trust --encrypt --recipient "Sreekar" --recipient "Matam" $BeforeEncryptfilePathGPG