Powershell не работает при расшифровке pgp - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь расшифровать автоматическое pgp-сообщение с powershell, однако оно выдает сообщение об ошибке: «gpg: decrypt_message не удалось: такой файл или каталог не существует»

Знак и шифрование выполнялись с помощью команд командной строки:

$path = "\\networkdrive\folder1\message"
$step2files = Get-ChildItem -Recurse -Path $path | Where-Object{$_.Extension -eq ".asc"}
$z=1
foreach ($files in $step2files) {
    $outputname = "$files.pgp"
    $input = $files
    $z 

    $options = " --output $outputname –-encrypt --recipient XYKey $files"
    $options

    gpg  --output $outputname --encrypt --recipient XYKey $input
    $z++
}

Мне нужно расшифровать ответ аналогичным образом, и хотя powershell находит все соответствующие файлы, отображается вышеупомянутое сообщение об ошибке.

Кодовая часть:

$extracted = "\\networkdrive\folder1\extracted"
$step5files = Get-ChildItem -Recurse -Path $extracted | Where-Object{$_.Extension -eq ".pgp"}
$z=1
foreach ($files in $step5files) {
    $outputname = "$files.xml"
    $input = $files
    $z 

    $options = " -u KeyID --batch --yes --passphrase password --output $outputname --decrypt $files"
    $options

    gpg  -u KeyID --batch --yes --passphrase password --output $outputname --decrypt $input
    $z++
}

Есть идеи?

1 Ответ

0 голосов
/ 13 февраля 2019

Я использую последнюю версию GnuPG, с моей стороны это прекрасно работает:

 $cipher =  "My secret message"  | gpg -ear 'MyRecipient'

 Write-Host $chipher 

 $message = $cipher | gpg --batch --yes --passphrase 'MyPassphrase'

 Write-Host $message
...