小编Dmi*_*ets的帖子

具有可导出私钥的证书的"坏密钥"例外

我试图加密,然后使用非对称加密解密文件.我使用makecert创建了一个测试证书,并将其安装到我的个人本地机器商店中.将来我必须在几台服务器上安装这个证书,这就是为什么我用"-pe"标志创建它,也就是说,用可导出的私钥创建它.证书已成功创建和安装,我在mmc中看到"您有一个与此证书对应的私钥".

现在我尝试使用.NET 3.5中的RSACryptoServiceProvider加密数据.它成功了.但是当我试图解密它时,我得到"坏键"异常.

如果我创建没有"-pe"选项的证书,相同的代码适用于解密.这是代码:

RSA rsaKey = (RSA)myCertificate.PrivateKey;
RSACryptoServiceProvider rsaCsp = (RSACryptoServiceProvider)rsaKey;
byte[] plainText = rsaCsp.Decrypt(encryptedText, true);
Run Code Online (Sandbox Code Playgroud)

我还尝试了另一种方法,使用System.Security.Cryptography.Pkcs命名空间:

EnvelopedCms envelope = new EnvelopedCms();
envelope.Decode(encryptedText);
envelope.Decrypt();
byte[] plainText = envelope.ContentInfo.Content;
Run Code Online (Sandbox Code Playgroud)

结果是一样的...任何人都可以帮忙吗?

c# cryptography certificate pki

14
推荐指数
1
解决办法
5729
查看次数

通过WCF服务实现寻呼机

我正在开发一个包含WCF服务及其ASP.NET MVC客户端的应用程序.ASP.NET MVC网站必须显示一个对象网格 - 比如产品.这些产品存储在可通过WCF服务访问的数据库中.所以在MVC控制器内的某处我调用WCF服务的方法,它返回一个我需要显示的产品数组.

那么我的问题是什么?我想为我的产品网格实现一个寻呼机功能,因为可能会有很多产品.所以有几种方法可以做到这一点:

  1. 我的控制器可以获得整个产品列表,只需进行内存中的分页
  2. WCF可以选择所有产品并将它们存储在缓存中的某个位置,然后根据请求的页码将其中的一部分传递给控制器​​.
  3. WCF可以根据请求的页码仅从数据库中选择部分产品.
  4. WCF可以将IQueryable返回给控制器,然后控制器将随时选择他想要的任何内容.

据我了解(并纠正我,如果不是这样),第一个选项是无用的,所以我必须在其他选项之间做出选择.

第二个选项浪费了我服务器的内存.

第三个选项是OK,但在WCF端实现分页似乎有点难看.

而第四个选项听起来令人困惑.我实际上将一些查询传递给客户端,然后他通过WCF服务自己查询我的数据库.我无法弄清楚如何正确实现这一点.

那么请你帮我选择正确的方法来实现这个目的吗?

asp.net-mvc wcf web-services

12
推荐指数
1
解决办法
6109
查看次数

我为什么要添加对DLL的引用?

奇怪的,可能是琐碎的问题.我在一个解决方案中有三个项目(.NET 2.0,Visual Studio 2005,C#).第一个产生GenericService.dll,它包含一个名为GenericService的抽象泛型类:

public abstract class GenericService< T > { } 
Run Code Online (Sandbox Code Playgroud)

第二个是ServiceImplementation.dll,它包含继承GenericService的ServiceImplementation类:

public class ServiceImplementation : GenericService< SomeType > { }
Run Code Online (Sandbox Code Playgroud)

第三个是使用ServiceImplementation的Windows应用程序:

ServiceImplementation si = new ServiceImplementation();
Run Code Online (Sandbox Code Playgroud)

所以ServiceImplementation项目引用了GenericService项目,而windows应用程序项目引用了ServiceImplementation项目.这个windows应用程序无法编译,需要引用GenericService.

为什么?我怎么解决这个问题?

.net c#

1
推荐指数
1
解决办法
178
查看次数

标签 统计

c# ×2

.net ×1

asp.net-mvc ×1

certificate ×1

cryptography ×1

pki ×1

wcf ×1

web-services ×1