我有一个Powershell应用程序,可以检索一些机密数据 - 然后需要执行传递该数据的.NET exe(本地)。似乎将数据作为原始参数传递可能会将其暴露给机器上的用户,因此我正在寻找一种确保其安全的方法。
可能的解决方案-
- 直接从 C# 应用获取数据(可能,但不理想)
- 将数据放入 EFS 加密文件中并传递文件位置
- 使用共享密钥加密参数(内置于Windows中的东西?
任何提示/指导将不胜感激。
请参阅这篇 Microsoft Technet 文章:
在 Windows Powershell 中使用密码和安全字符串
以上文章的要点:
加密字符串的基本示例:
$PlainParam = "param you want to encrypt"
$SecureParam = $PlainParam | ConvertTo-SecureString -AsPlainText -Force
要研究的 cmdlet:
ConvertTo-SecureString
ConvertFrom-SecureString