首页 > 解决方案 > 使用 Chocolatey 时隐藏安装参数中的键的选项?

问题描述

是否有任何特定方法可以隐藏安装软件包所需的密钥?我想使用 Chocolatey 将应用程序安装到多个服务器。安装命令需要使用密钥进行安装。

Chocolateyinstall.ps1 包含:

....
$silentArgs = '/S /V" /qn SECRETKEY=555444333"'

在 Windows 服务器上安装软件包后,Chocolatey 将 Chocolateyinstall.ps1 文件留在计算机上。这包含用于安装的密钥。是否有任何隐藏此密钥的特定方法?我不希望用户能够查看此密钥。我应该编写一个命令来删除 Chocolateyinstall.ps1 文件还是该文件用于更新软件?

标签: chocolatey

解决方案


在开源版本中,您的选择是有限的。有几个建议浮现在脑海:

  1. 创建一个包参数并以这种方式将密钥传递给包;

  2. 使用密钥在每个服务器上创建一个环境变量,并在您的 ChocolateyInstall.ps1 中引用该变量(并围绕健全性检查它编写一些代码);

  3. 使用某种风格的保险库将钥匙保存在其中,然后将它们拉出到 ChocolateyInstall.ps1 中;

  4. 根据 Chocolatey 在哪个用户下运行,您可能能够使用 Windows DPAPI 来安全地保存密钥;

所有这些的缺点是,如果打开日志记录,密钥仍然在日志中可用。

在 Chocolatey For Business 中--package-parameters-sensitive,没有记录使用它传递的参数:

--package-parameters-sensitive=VALUE
     PackageParametersSensitive - Package Parameters to pass the package that
       are sensitive and you do not want logged. Defaults to unspecified.
       Available in 0.10.1+. [Licensed editions](https://chocolatey.org/compare) only.

推荐阅读