Powershell - 使 SecureString 可供其他用户使用
Powershell - Make SecureString available for other user
我有一个应用程序,我必须在其中存储密码。此应用程序正在使用 SYSTEM 用户调用。我已经混淆了脚本并将其存储在安全位置。
现在我的问题是:是否有可能创建一个可以由一个或多个其他用户解密的 SecureString?
我读过有关使用密钥加密然后将此密钥存储在文件中的可能性,但在我看来这只不过是一种混淆,因为可以访问密钥文件的每个人都可以解密密码。
感谢您的帮助:)
编辑:
澄清我的问题:我想知道除了使用密钥文件之外是否还有其他解决方案。
是的,众所周知,如果您强制用户输入安全字符串,输入者可以使用
将其撤消
$credential = Get-Credential
$credential.UserName
$credential.Password
# Results
<#
cmdlet Get-Credential at command pipeline position 1
Supply values for the following parameters:
$credential.UserName
testuser
$credential.Password
System.Security.SecureString
#>
或使用 .Net 命名空间。那么,如何采用将凭据存储在用户计算机上的 Windows 凭据管理器中的方法。在您的应用程序安装中,您动态生成凭据来存储您随后用于执行的凭据。每当他们 运行 您的代码时,您的代码都会从 Credential Manager 调用 creds,而无需用户交互。
MS PowerShellGallery.com 中有几个模块,在针对凭据管理器使用时可以轻松访问和部署在系统上。
Find-Module -Name '*credential*'
<#
Version Name Repository Description
------- ---- ---------- -----------
2.0 CredentialManager PSGallery Provides access to credentials in the Windows Credential Manager
...
1.0.11 pscredentialmanager PSGallery This module allows management and automation of Windows cached credentials.
4.5 BetterCredentials PSGallery A (compatible) major upgrade for Get-Credential, including support for storing cred...
0.0.1 SecureCredentials PSGallery This module allow to secure store encrypted credentials for running powershell daemon
1.1.7 CredentialStore PSGallery CredentialStore saves powershell credentials securely to file
...
1.1 CredentialsManager PSGallery The module Credentials Manager provides you with convenient and safe way to store y...
...
1.0.2 CredentialManagement PSGallery Manage Credentials stored in the Windows Credential Manager
1.1.0 PSCredentialTools PSGallery PSCredentialTools provides various methods for securely storing and retrieving cred...
1.1 New-Credential PSGallery Simply creates an object (System.Management.Automation.PSCredential) that can be us...
...
#>
我有一个应用程序,我必须在其中存储密码。此应用程序正在使用 SYSTEM 用户调用。我已经混淆了脚本并将其存储在安全位置。
现在我的问题是:是否有可能创建一个可以由一个或多个其他用户解密的 SecureString?
我读过有关使用密钥加密然后将此密钥存储在文件中的可能性,但在我看来这只不过是一种混淆,因为可以访问密钥文件的每个人都可以解密密码。
感谢您的帮助:)
编辑:
澄清我的问题:我想知道除了使用密钥文件之外是否还有其他解决方案。
是的,众所周知,如果您强制用户输入安全字符串,输入者可以使用
将其撤消$credential = Get-Credential
$credential.UserName
$credential.Password
# Results
<#
cmdlet Get-Credential at command pipeline position 1
Supply values for the following parameters:
$credential.UserName
testuser
$credential.Password
System.Security.SecureString
#>
或使用 .Net 命名空间。那么,如何采用将凭据存储在用户计算机上的 Windows 凭据管理器中的方法。在您的应用程序安装中,您动态生成凭据来存储您随后用于执行的凭据。每当他们 运行 您的代码时,您的代码都会从 Credential Manager 调用 creds,而无需用户交互。
MS PowerShellGallery.com 中有几个模块,在针对凭据管理器使用时可以轻松访问和部署在系统上。
Find-Module -Name '*credential*'
<#
Version Name Repository Description
------- ---- ---------- -----------
2.0 CredentialManager PSGallery Provides access to credentials in the Windows Credential Manager
...
1.0.11 pscredentialmanager PSGallery This module allows management and automation of Windows cached credentials.
4.5 BetterCredentials PSGallery A (compatible) major upgrade for Get-Credential, including support for storing cred...
0.0.1 SecureCredentials PSGallery This module allow to secure store encrypted credentials for running powershell daemon
1.1.7 CredentialStore PSGallery CredentialStore saves powershell credentials securely to file
...
1.1 CredentialsManager PSGallery The module Credentials Manager provides you with convenient and safe way to store y...
...
1.0.2 CredentialManagement PSGallery Manage Credentials stored in the Windows Credential Manager
1.1.0 PSCredentialTools PSGallery PSCredentialTools provides various methods for securely storing and retrieving cred...
1.1 New-Credential PSGallery Simply creates an object (System.Management.Automation.PSCredential) that can be us...
...
#>