我在 Windows 2003 服务器上,我需要编写一个批处理文件来使用 GnuPG 自动解密。解密命令需要密码才能使用私钥。
以下是一些不完全让我满意的可行选项:
echo thisIsMyPassphrase|gpg.exe --passphrase-fd 0 --output %1 --decrypt %2
这种硬编码的密码看起来不像是一种安全的方法!此外,更改也不方便(直接嵌入在 .cmd 文件中)。将密码存储在不同的文件中,并确保只有运行解密过程的 Windows 用户才能访问它(使用 NTFS 安全设置)。
gpg.exe --passphrase-file X:\passphrase.txt --output %1 --decrypt %2
我不太喜欢这里..是我们在某个地方有一个裸文件,其中只包含这些高度敏感的信息。奇怪的维护?容易找到 ?..我不觉得将密码存储在环境变量中听起来不错(看起来很暴露)..
echo %MY_PASSPHRASE%|gpg.exe --passphrase-fd 0 --output %1 --decrypt %2
那么,您对实现这一目标的最佳(或“最不坏”)解决方案有何看法?