Tag: 安全

在c#中安全连接到mySQL数据库

我对C#很陌生,我一直在做很多事情,但我缺少很多基础知识。 无论如何,我正在创建一个用户必须登录的程序,然后检查输入的密码是否与数据库中的密码相同。 无论如何,我知道有办法进入编译程序的代码,我想知道是否有任何我应该做的事情,以确保没有人能够以某种方式看到MySQL数据的登录信息。 谢谢

Bitstamp – C#中的新身份validation – 签名

bitstamp的新身份validation说明如下: Signature是HMAC-SHA256编码的消息,包含:nonce,客户端ID和API密钥。 必须使用通过API密钥生成的密钥生成HMAC-SHA256代码。 此代码必须转换为hex表示forms(64个大写字符)。示例(Python):message = nonce + client_id + api_key signature = hmac.new(API_SECRET,msg = message,digestmod = hashlib.sha256).hexdigest()。上() 来源: 链接 我有以下代码来添加新签名(和其他参数): public void AddApiAuthentication(RestRequest restRequest) { var nonce = DateTime.Now.Ticks; var signature = GetSignature(nonce, apiKey, apiSecret, clientId); restRequest.AddParameter(“key”, apiKey); restRequest.AddParameter(“signature”, signature); restRequest.AddParameter(“nonce”, nonce); } private string GetSignature(long nonce, string key, string secret, string clientId) { string […]

使用C#中的.Pem / .Pkcs8密钥文件中的MD5WithRSA对数据进行签名

我在Java中有以下代码示例,我需要在C#中重新编写它: PKCS8EncodedKeySpec privKeySpec = new PKCS8EncodedKeySpec(pkcs8PrivateKey); KeyFactory keyFactory = KeyFactory.getInstance(“RSA”); PrivateKey privKey = keyFactory.generatePrivate(privKeySpec); Signature sign = Signature.getInstance(“MD5withRSA”); sign.initSign(privKey); sign.update(data); byte[] signature = sign.sign(); 是否可以使用标准的.Net Crypto API,还是应该使用BouncyCastle? 谢谢, 湾

对于WCF服务,没有证书的TransportWithMessageCredential是否足够安全?

我开发了一个WCF自托管服务,我有两个基本的安全要求,因为它将通过Internet访问: 传输层应防止篡改和嗅探,尤其是检索身份validation凭据。 这就是SSL所做的,但是从我所看到的设置SSL需要安装证书(除非可能通过这个使用普通证书文件的hack ),我不想这样做。 身份validation层应包含用户名/密码validation程序。 我配置我的服务使用: 即使传输层是HTTP(而不是HTTPS),这是否会使WCF创建另一个与SSL等效的安全层? 如果没有,安全强度方面有什么不同? 另外,有没有办法在不使用SSL证书的情况下保护元数据端点(不是必需的但是会受到赞赏)? 以下是我自托管服务的完整配置代码: 谢谢!

ASP.NET MVC授权具有许多角色的用户

我需要在我的ASP.NET MVC应用程序中向具有两个角色的用户授权Controller。 我正在使用这样的Authorize属性: [授权(角色=“制片人,编辑”)] 但是这允许生产者和编辑者到控制器。 我只希望允许用户同时拥有这两种角色,而不仅仅是其中之一。 我怎么能得到这个?

以编程方式向文件夹添加权限

我有一个问题,我需要为所有经过身份validation的用户添加对文件夹的访问权限,以存储与应用程序相关的设置。 我发现这可以通过以下代码完成… var Info = new DirectoryInfo(settingsdir); var Security = Info.GetAccessControl(AccessControlSections.Access); Security.AddAccessRule( new FileSystemAccessRule( “Authenticated Users”, FileSystemRights.Modify, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Allow)); 我发现的问题是“Authenticated Users”是Windows上的系统帐户,但是在Windows的不同语言版本上,此帐户名被翻译,例如在德国,该帐户被称为“Authentifizierte Benutzer”。 有没有办法知道这个帐户的正确名称(显而易见的是通过每种语言并找到正确的帐户名称)。

当项目是开源的时,谁应该拥有用于签署.NET程序集的私钥?

更具体地说,是一个类库程序集。 我最初的想法: 让一些指定的管理员进行所有程序集签名。 但是当bug修复和编写新版本时,二进制文件最终将取决于它们的存在(即使由于私人原因它只是一个小的变化)。 关键可以公开。 但这违背了公钥加密实践,您失去了信任和身份的优势。 允许最终开发人员和分销商使用自己的密钥对其进行签名。 但是,由于每次新签名都会使其与其他一些版本不兼容,因此您将失去模块化。 当然,你可以不签署assembly。 但是,如果需要对其程序集进行签名的另一个项目引用了您的库,则会出现编译错误。

ASP.NET:权限/身份validation体系结构

我正在考虑在我的ASP.NET应用程序中构建一个具有以下要求的身份validation 。 用户只有一个角色(即Admin,SalesManager,Sales,….) 角色具有一组CRUD访问现有对象子集的权限。 即“Sales对对象类型”产品具有CREAD,READ,WRITE权限“但不是DELETE” 不知怎的,我喜欢在具有inheritance的层次结构中的权限,因此我对于管理员不需要指定所有可用对象。 系统必须能够快速回答“用户X是否有权对Y进行对象Z”的问题 所有数据库管理(MSSQL),在C#/ ASP.NET中实现 我想获得有关这些要求的反馈意见吗? 任何想法如何使用ASP.NET框架(尽可能)实现这一点? (但是,我也有兴趣知道如果没有会员资格可以实现这一目标)

使业务层的方法安全。 最佳实践/最佳模式

我们正在使用ASP.NET进行大量的AJAX“页面方法”调用。 页面中定义的Web服务调用BusinessLayer中的方法。 为了防止黑客调用页面方法,我们希望在BusinessLayer中实现一些安全性。 我们正在努力解决两个不同的问题。 第一: public List GetAllEmployees() { // do stuff } 此方法应由具有角色“HR”的授权用户调用。 第二个: public Order GetMyOrder(int orderId) { // do sutff } 此方法只应由订单所有者调用。 我知道为每种方法实现安全性很容易,例如: public List GetAllEmployees() { // check if the user is in Role HR } 要么 public Order GetMyOrder(int orderId) { // check if the order.Owner = user } 我正在寻找的是一些模式/最佳实践,以通用的方式实现这种安全性(不用每次编码if […]

通过C#登录网站

我已经尝试了我可以在网上找到的关于如何实现这一点来登录这个网站的所有内容。 这是最近的失败。 // I have tried with multiple different URLS this one // and http://www.movable.com/login do not throw errors string url = “http://portal.movable.com/”; string username = “”; string password = “”; string authTok = @”+HOt3NTkkIAHkMSMvzQisEquhun9xvIG1mHzIEh6CAo=”; string postData = “utf8=✓” + “&authenticity_token=” + authTok + “&user[login]=” + username + “&user[password]=” + password + “&user[offset]=-5”; var container […]