Você diz que a frase secreta em ${signPass}
vem de algum armazenamento seguro. Se você puder armazenar uma frase secreta com segurança, também poderá armazenar um chaveiro com chave secreta sem senha com segurança.
-
Altere a senha da chave para vazia. Você pode usar seu gerenciador de cadeias de chaves favorito ou o seguinte comando:
GNUPGHOME=... gpg2 --passwd user_id
-
Armazene o chaveiro no armazenamento seguro.
-
Execute
dpkg-sig
com opções de GPG que usam o chaveiro armazenado com segurança:dpkg-sig --gpg-options "--secret-keyring /path/to/secret-keyring.gpg"
Como alternativa, você pode usar um arquivo de frase secreta diretamente com dpkg-sig
( veja a edição abaixo ):
dpkg-sig -f /path/to/pass-phrase ...
Você pode até usar a entrada padrão:
printf '%s' "${signPass}" | dpkg-sig -f - ...
Editar: parece que um erro de longa data quebra a opção -f
, mas você pode contorná-la via --gpg-options '--passphrase-file /path/to/pass-phrase'
(exceto que você não pode usar nomes de arquivos de frase secreta com espaço em branco).