1

我想用多个公钥加密一个文件,并使用与那里相同的语法作为文档的一部分,并且抛出下面的错误。GPG使用PowerShell脚本中的多个公钥加密文件

错误消息

GPG:用法:GPG [选项] --encrypt [文件名] 在行:10字符:1 + GPG --encrypt \ --recipient “SREE” \ - -recipient “马塔姆” \“C:报告\ ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: NotSpecified:(用法:gpg [opt ... rypt [文件名]:字符串)[],RemoteException + FullyQualifiedErrorId:NativeCommandError

P.S:此加密是作为powershell脚本的一部分完成的

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

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

我用这个主题来指导我,但看起来像我错过了你加密在一时刻一个关键的东西

Encryption with multiple different keys?

+0

什么“以下错误”? – TessellatingHeckler

+0

这两个用户将如何访问该文件,您是否会提供自定义解密代码? – zaph

+1

我可能不清楚。我很抱歉。我想用两个不同用户的公钥对文件进行加密,这样每个用户都可以用他/她自己的私钥对其进行解密。通过Kleopatra是可能的,我们正试图通过PowerShell实现这个手动任务的自动化。 –

回答

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 
2

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

但是,这没有语义上的合法目的。公钥用于以规定的方式提供保密和保密。我用我的私钥签署了一些东西,然后用公钥对您进行加密。你用你的私钥恢复它,然后用我的公钥验证它。这个公钥或该私钥的任何超级邻居使用最多都是有问题的。

+0

我有两个不同的用户应该能够使用自己的密钥访问文件。如果我再次加密文件并再次运行加密脚本,它是否会创建一个扩展名为.gpg.gpg的文件。因此,要访问该文件,用户也需要其他用户的密钥,这将不起作用。如果我在这里想错,请纠正我。 –