Tag: 安全

C#Web服务中的加密

我正在寻找一种简单的方法来加密我在C#Web服务中的肥皂通信。 我正在研究WSE 3.0,但似乎微软放弃了对它的支持,因此使用它并不简单。 看来WCF可能是一个选项,但我不想从.NET 2.0升级。 任何简单 ,直接的加密方法?

从Thread.CurrentPrincipal设置HttpContext.Current.User

我的应用程序中有一个安全管理器,适用于Windows和Web,过程很简单,只需要用户和pwd并对数据库进行身份validation,然后使用自定义主体设置Thread.CurrentPrincipal。 对于Windows应用程序,这工作正常,但我有Web应用程序的问题。 在身份validation过程之后,当我尝试将Current.User设置为Thread.CurrentPrincipal中的自定义主体时,最后一个包含GenericPrincipal。 难道我做错了什么? 这是我的代码: 为Login.aspx protected void btnAuthenticate_Click(object sender, EventArgs e) { SecurityManager.Authenticate(“user”,”pwd”); // This is where I set the custom principal in Thread.CurrentPrincipal FormsAuthenticationTicket authenticationTicket = new FormsAuthenticationTicket(1, “user”, DateTime.Now, DateTime.Now.AddMinutes(30), false, “”); string ticket = FormsAuthentication.Encrypt(authenticationTicket); HttpCookie authenticationCookie = new HttpCookie(FormsAuthentication.FormsCookieName, ticket); Response.Cookies.Add(authenticationCookie); Response.Redirect(FormsAuthentication.GetRedirectUrl(“user”, false)); } Global.asax(这是出现问题的地方) protected void Application_AuthenticateRequest(object sender, EventArgs […]

加密WCF连接的其他方法

我目前正在开发一个需要在WCF主机之间传递加密数据的项目。 据我所知,只有两种方法可以确保通过WCF传递的数据是安全的。 使用证书 使用域(或在网络上的每台机器上使用相同的用户名和密码) 使用证书可能很昂贵且管理起来很复杂,因为我们无法保证在每次部署时都有一台服务器类机器,域名也是不可能的。 如果需要更改密码,则每台计算机使用相同的用户名和密码也会出现问题。 目前,我们使用OpenSSH来隧道连接主机之间的连接。 框架内置了另一个我不知道的选项吗?

如何在注册表中保存密码

我有一个带有远程接口的桌面应用程序。 通过用户名和密码保护对远程接口的访问。 什么是安全保存这些密码的最佳方法,最好是在注册表中?

C#validation签名

我有以下代码在发送之前签署我的数据(http): internal static byte[] Encode(byte[] arMessage, string signerCert, string signerPassword) { X509Certificate2 cert = new X509Certificate2(signerCert, signerPassword); //debug data var msg = System.Text.ASCIIEncoding.ASCII.GetString(arMessage); //– ContentInfo contentInfo = new ContentInfo(arMessage); SignedCms signedCms = new SignedCms(contentInfo, true); // <- true detaches the signature CmsSigner cmsSigner = new CmsSigner(cert); signedCms.ComputeSignature(cmsSigner); byte[] signature = signedCms.Encode(); return signature; } 执行以下操作后,我可以看到签名: […]

.NET / Security:限制运行时加载的程序集访问某些API

在shell应用程序中,我需要能够在运行时加载和执行其他.NET程序集,但不能给予它们完全的信任。 本质上,我想限制它们(加载的程序集)接触任何系统资源(线程,网络等),唯一的例外是隔离存储。 但是,来自“我”的程序集需要以完全信任的方式执行。 我一直在考虑代码访问安全性,但我不太确定这是我应该使用的。 你会怎么做?

有人在子类化Windows控件时可以解释此LinkDemand警告吗?

我有这个HeaderlessTabControl,它是经典TabControl的子类。 // From http://social.msdn.microsoft.com/forums/en-US/winforms/thread/c290832f-3b84-4200-aa4a-7a5dc4b8b5bb/ // Author: Hans Passant (nobugz) public class HeaderlessTabControl : TabControl { protected override void WndProc(ref Message m) { // Hide tabs by trapping the TCM_ADJUSTRECT message if (m.Msg == 0x1328 && !DesignMode) { m.Result = (IntPtr)1; } else { base.WndProc(ref m); } } } 当我在项目上运行代码分析时,我收到此警告: 警告1 CA2122:Microsoft.Security:’HeaderlessTabControl.WndProc(ref Message)’调用具有LinkDemand的’Message.Msg.get()’。 通过进行此调用,’Message.Msg.get()’间接地暴露给用户代码。 查看以下可能揭示绕过安全保护的方法的调用堆栈: – […]

启动Windows服务时出现TypeInitializationException,因为无法创建config部分

启动Windows服务时,我在特定的Windows Server 2008 R2计算机上遇到了一个奇怪的错误(它可以在其他2008 R2计算机上运行)。 该服务使用Common.Logging和log4net 。 但是,在此特定计算机上,无法创建Common.Logging的配置节处理程序。 它使用以下堆栈跟踪失败(格式化以获得更好的可读性)。 最令我惊讶的是SecurityException 。 是什么导致这种情况? 有人有线索吗? System.TypeInitializationException: The type initializer for ‘MyWindowsService.Program’ threw an exception. —> Common.Logging.ConfigurationException: Failed obtaining configuration for Common.Logging from configuration section ‘common/logging’. —> System.Configuration.ConfigurationErrorsException: An error occurred creating the configuration section handler for common/logging: Request failed. (C:\Path\MyWindowsService.exe.Config line 7) —> System.Security.SecurityException: Request failed. at […]

如何脱机存储密码

虽然这是专注于Windows Phone 7,但我猜这个原则是普遍的。 我想在我的应用程序中有一个密码保护区域。 但是,我的应用程序完全脱机,因此我必须在手机上存储凭据详细信息。 我最初的想法是存储密码和盐的哈希值。 这会是最好的方式吗? 如果是这样,哈希和盐是否应以纯文本forms存储,或者是否有办法确保即使它们已加密? 我知道手机上的整个方案最终会被破解,但是什么是提高障碍的最佳途径? 谢谢你的任何建议

在运行时执行C#或VB.NET代码

最近在Codility.com上度过了一段时间,它在我脑海中浮现; 他们如何执行你创建的代码(特别是与C#和VB.NET有关)? 我基本上想知道的是我如何在表单上使用文本框中的某些代码,然后运行该代码? 没有第三方工具,这可能吗? 另外,您如何防止特别与基于Web的此类程序实施相关的安全违规?