问题标签 [securestring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1182 浏览

powershell-3.0 - 我似乎无法将安全字符串传递给我的 cmdlet

我有一个调用 cmdlet 的函数

在这个函数内部,我检查了是否$passwordfile提供$password

最终,如果$quiet提供,则调用以下 cmdlet 的变体

但由于某种原因,我一直遇到这个问题

Connect-Appliance:无法绑定参数“密码”。无法将“System.String”类型的“System.Security.SecureString”值转换为“System.Security.SecureString”类型。在 line:1 char:69 + Connect-Appliance -host 172.25.2.110 -user admin -Password System.Secur ... + ~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Connect -Appliance],ParameterBindingException + FullyQualifiedErrorId:CannotConvertArgumentNoMessage,CPowerCLI.ConnectAppliance

我不知道为什么。起初我想,这是因为我提供了一个字符串,但变量被声明为 SecureString。

是否有可能做到这一点?

我能做的是

这似乎工作得很好。但是当我从 psm1 文件中调用它时,它不适用于上面的错误。

谢谢

0 投票
1 回答
455 浏览

powershell - Sysprep 后无法解密安全字符串

我正在为 Windows 7 映像构建两个 PowerShell 脚本。在我运行的图像之前PRE-IMAGE.ps1,它有这样一行:

然后我将$strPass安全字符串保存到注册表,并运行 sysprep。

使用 sysprep 重新启动后,POST-IMAGE.ps1然后$strPass从注册表中提取,并有如下一行:

但是,当您以不同的 Windows 用户运行时,这些行POST-IMAGE.ps1会出现“密钥无效”错误。(类似于这个问题) - 但这里的问题是我 -AM- 使用同一个用户来转换安全字符串。我猜这与 sysprep 有关 - 但我无法理解它。convertto-securestringconvertfrom-securestring

如果之前有人问过这个问题,我深表歉意,我发现了一些涉及部分内容的问题,但不要描述我的确切问题。

0 投票
1 回答
2570 浏览

c# - 将 SecureString 与 LogonUser 一起使用

出于学习目的,我正在编写自己的 Active Directory 客户端。为了执行解锁帐户和重置密码等命令,我必须输入我的管理员帐户和密码,并以我的管理员帐户使用和WindowsIdentity.Impersonate运行代码。我想知道我的密码保护选项,因为它必须在我的程序中多次使用。

据我了解,我可以SecureString用来存储密码。但是要以我的管理员帐户运行代码,我有 use WindowsIdentity.Impersonate,并且要使用它,我必须从中获取一个令牌,LogonUser该令牌需要常规string而不是SecureString.

所以我必须:

  1. 启动时登录

  2. 将输入转换为SecureString

  3. 清除输入

然后稍后当我想执行需要提升的功能时:

  1. 将之前创建的转换SecureStringstring

  2. 将转换后的字符串传递给LogonUser

  3. 清除转换字符串为null

  4. 执行命令

  5. 清除LogonUser对象

这是解决这个问题的正确方法吗?SecureString必须将其转换为使用它似乎很奇怪string......似乎它会破坏目的并使密码在我转换它时更容易受到攻击。

编辑:修复了 LogonUser 的名称

0 投票
2 回答
22655 浏览

powershell - Powershell 文本框 SecureString

是否可以使用System.Windows.Forms.TextBox(或任何其他方法)输入可以转换为安全字符串的文本?我希望能够获取输入的值,将其转换为安全字符串并将其写入文件,然后如果需要可以调用该文件,并且如果我们需要识别该值,安全字符串会转换回来。

我已经研究过类似的东西,但由于我使用的是 TextBox 表单,我不想依赖 Read-Host

本质上,我想让一个文本框使用掩码/密码字符(我可以使用它$TextBox.PasswordChar = "*",然后将该输入转储到一个安全字符串文本文件中。然后,我可以使用另一个脚本来调用该文件并显示文本如果最终用户需要知道当前值,则以纯文本形式提供给他们。

0 投票
1 回答
669 浏览

c# - 如何将 SecureString 的内容写入响应流?

在 Asp.net MVC 5 应用程序中,我通过模型将 SecureString 传递到我的视图中。我现在想将该 SecureString 的内容写入响应流,而不必先将其转换为字符串。我怎样才能做到这一点?

0 投票
0 回答
317 浏览

string - Convert-ToSecureSting ampersand issue powershell

I have the following code

I am unable to connect to my Azure-Account if I set my password having & in it. I am not sure does the Convert-To is treating & as any special character.

Setting other special character such as % in the password works smoothly for me.

I have tried applying escape characters before & in my password but it didn't worked.

Any help would be highly appreciated on this.

0 投票
4 回答
149273 浏览

powershell - 将安全字符串转换为纯文本

我在 PowerShell 中工作,并且我有成功将用户输入的密码转换为纯文本的代码:

我已经尝试了几种将其转换回来的方法,但它们似乎都不能正常工作。最近,我尝试了以下方法:

这也给了我一个错误。

有谁知道一种方法可以解决这个问题?

0 投票
1 回答
611 浏览

c# - 为什么 SecureString 解密在可执行文件之间给出不同的结果?

proxy.exe我通过以下方式创建一个安全字符串:

然后在main.exe我使用这个函数解密它:

问题是返回的字符串是空的,除非我在main.exe中加密了初始字符串,否则返回的解密字符串确实是“8charPwd”。为什么会这样?SecureString 加密是否绑定到可执行文件?

0 投票
1 回答
259 浏览

powershell - 连续的 SecureString 哈希不匹配

加密的密码存储在我的 .ps1 脚本中。在新环境中设置脚本时,用户必须在脚本开头手动配置此密码。我已经设置了一个开关参数,这样用户就可以以这种方式运行脚本,它会给用户提供所需的哈希值。但是,当提示输入密码两次以确保其中没有拼写错误或类似错误时,我无法使密码哈希值匹配。为了演示,我可以在 PowerShell中连续两次手动输入,输入完全相同的密码会得到不同的结果:

这是有或没有-Key-SecureKey参数。如何提示用户输入密码(两次以确保它们匹配)以及如果/当​​它们匹配时,输出密码哈希?

0 投票
1 回答
5844 浏览

c# - SecureString 密码存储在数据库中

我相信我误解了SecureString. 我知道string's 是不可变的,并且在堆上以明文形式找到密码或敏感数据。

我很难理解的是,如何SecureString在需要验证数据库中的散列密码的客户端应用程序中使用?

这是我的背景:

  • 我正在使用 WPF 客户端应用程序。
  • 我有一个本地 SQL 数据库(在客户端的机器上)
  • 密码经过哈希处理并存储在数据库中。
  • 用户尝试登录到我的 WPF 应用程序
  • SecureStringPasswordBox 控件通过SecurePassword属性将密码存储在 a中。

怎么办?如何在SecureString不先将其转换回字符串的情况下散列一个?

到目前为止,我收到的所有建议都是编写转换SecureString为的扩展方法String,对其进行哈希处理,然后将其发送到 db 进行验证。但这会破坏整个练习!

我必须接受SecureString在我提到的上下文中没用并使用 plainstring吗?