草庐IT

SECURITY

全部标签

c# - 如何在 Win7 和 Win8 上访问存储的凭据(PasswordVault?)?

我刚刚发现Win8的控制面板上有一个名为用户帐户和家庭安全的部分,其中包含凭据管理器。我想访问存储在其中的凭据(不是检索密码,而是将它们用作登录token)。所以,基本上,我想搭上已经安装的软件。最接近解决方案的建议已在thisdiscussion中提出而且还不是接近。在哪里可以找到Windows.Security.Credentials.PasswordVault的程序集?我已经在谷歌上搜索了两个小时,但我只获得了有关应用程序的信息开发,而我将以桌面为目标。有没有办法解决对Win7和Win8的预存凭据的访问?我有点担心Win8中的保险库设施已被彻底改造,使其成为不可能同时针对两个平台

c# - 如何验证 JWT token

我正在尝试使用JWTtoken。我设法生成了一个有效的JWTTokenString并在JWTdebugger上对其进行了验证但我无法在.Net中验证token。这是我到目前为止的代码:classProgram{staticstringkey="401b09eab3c013d4ca54922bb802bec8fd5318192b0a75f201d8b3727429090fb337591abd3e44453b954555b7a0812e1081c39b740293f765eae731f5a65ed1";staticvoidMain(string[]args){varstringToken=

c# - 语句 "delegates are secure"是什么意思?

在C#documentation对于委托(delegate),它说“委托(delegate)是一种引用类型,可用于封装命名或匿名方法。委托(delegate)类似于C++中的函数指针;但是,委托(delegate)是类型安全的并且安全”我的问题是,委托(delegate)“安全”是什么意思? 最佳答案 委托(delegate)强制对方法进行类型安全调用。这通常通过编译器执行的静态类型检查来工作。但这不是唯一的方法,您可以使用Delegate.DynamicInvoke()来绕过编译器类型检查。一个例子:usingSystem;cla

c# - 不知道如何创建 SOAP <wsse :Security> header

我几乎没有使用SOAP协议(protocol)的经验。我需要连接到所需header的服务。我认为这在Java中有点标准,但在C#中必须手动创建此header。这里有没有人能够连接到类似的服务:已经创建了标题或者甚至可能知道一些可以简化标题创建的标准库?您可以分享一些代码或引用资料吗?我还发现了一个线索,如果使用WS2005可能会生成header,因为它有WS3插件。有人可以对此发表评论吗?快速查看此插件后,我发现了与安全header中类似的字段,但仍然无法创建header。 最佳答案 我们可以用下面的代码解决这个问题:publicc

c# - 如何用零删除 StringBuilder 内存

我在StringBuilder对象中存储了一个密码。我正在寻找一种方法来删除内存中的密码。以下任何一种方法都可以实现这一点:遍历StringBuilder字符并分配'\0'。是如果我已经分配,​​这保证使用相同的内存最初有足够的内存吗?我可以使用任何非托管API,例如ZeroMemory()或SecureZeroMemory()使用StringBuilder?有代码示例吗?编辑:使用SecureString不是我的选择,因为我正在调用CredUIPromptForCredentials()来获取凭据。 最佳答案 简单的答案是,您提出

c# - HMACSHA256 和 HMACSHA512 之间的区别

我们使用以下代码在C#中针对敏感值生成HMac哈希publicstringGenerateHMac(stringkey,stringmessage){vardecodedKey=Convert.FromBase64String(key);varhasher=newHMACSHA256(decodedKey);varmessageBytes=Encoding.Default.GetBytes(message);varhash=hasher.ComputeHash(messageBytes);returnConvert.ToBase64String(hash);}传入的key是一个256位

c# - 避免从 C# 代码在 MSSQL Server 上进行 SQL 注入(inject)的算法?

在C#.net平台上避免SQL注入(inject)的最佳方法是什么。如果有的话,请发布C#实现。 最佳答案 不需要算法-只是不使用字符串连接来构建SQL语句。请改用SqlCommand.Parameters集合。这会执行所有必要的值转义(例如将'替换为'')并确保该命令是安全的,因为其他人(即Microsoft)已经完成了所有测试.例如调用存储过程:using(varconnection=newSqlConnection("..."))using(varcommand=newSqlCommand("MySprocName",conn

c# - 在 C# 中以编程方式将证书和私钥转换为 .PFX

我有一个成功的LetsEncrypt证书请求输出的.cer文件。我有用于为LetsEncrypt创建证书签名请求(CSR)的原始私钥。现在我们需要使用.NET以编程方式将这两个文件合并到IIS的PFX包中由于我们试图以编程方式执行此操作,pvk2pfx不切实际,我们希望尽可能避免使用openssl。不过,为了演示,我们尝试复制此功能,但使用CS.NET而不是pvk2pfx:pvk2pfx.exe-pvkServer.pvk-spcServer.cer-pfxServer.pfx我已经进行了详尽的研究,以下是我看到的可能性:一种方法似乎是使用X509Certificate2,例如://I

c# - 存储 key 的最佳实践

我有一个asp.net应用程序,我想存储一个机器范围的加密key,我将在使用DPAPI加密系统时在应用程序中使用它。存储key的最佳做法是什么-我应该将它存储在哪里?谢谢。 最佳答案 将任何key以明文形式存储在任何非volatile和本质上不安全的介质(例如硬盘)中是非常不安全的。在此类介质上,您应该只存储key的签名加密版本,并且对加密key的写入访问应该受到保护。手头的实际工作是对安全需求建模,确定key管理策略和实现。 关于c#-存储key的最佳实践,我们在StackOverfl

c# - 绑定(bind) PasswordBox 密码是个坏主意吗?

我读到WPFPasswordBox中的密码没有用于绑定(bind)密码的依赖属性出于安全原因。尽管如此,还是有waystobinditanyway.MVVM模式的用户需要这种数据绑定(bind);viewmodel不能在不破坏模式的情况下直接接触PasswordBox。在MVVM设置中使用PasswordBoxes的一种方法是passtheentirePasswordBoxcontrol到ViewModel,但这无论如何都会打破模式。绑定(bind)密码可能是使用MVVM处理密码的最干净的方法。有一个argumentagainstbindingthePassword因为这会将明文密码保