3

我有以下问题。

我创建了一个使用 AesCryptoServiceProvider 加密和解密某些数据的类。我在 SharePoint WebPart 中使用该类,一切正常。我还在自定义 SharePoint Web 服务中的同一 Web 应用程序上使用相同的类,并且每次调用 System.Security.Cryptography.AesCryptoServiceProvider 的构造函数时,它都会抛出带有以下堆栈跟踪的 System.PlatformNotSupportedException。

System.PlatformNotSupportedException: The specified cryptographic algorithm is not supported on this platform.
   at System.Security.Cryptography.CapiNative.AcquireCsp(String keyContainer, String providerName, ProviderType providerType, CryptAcquireContextFlags flags, Boolean throwPlatformException)
   at System.Security.Cryptography.AesCryptoServiceProvider..ctor()
   at m2009_wu.ProvisioningLibrary.ConfigManager..ctor()

我试图为不同的平台编译 web 服务和包含类的库,而没有任何改变。

运行我的开发环境的系统是 Windows Server 2008 Standard SP1 x64,带有 Microsoft Office SharePoint Server 2007 SP2 x64 和 Visual Studio 2008 SP1。.Net Framework 3.5 SP1 安装在服务器上。

如果有人能指出我正确的方向,我将不胜感激。

亲切的问候雷内温德格

4

4 回答 4

0

我踢了 ASP.Net Web 服务并引入了 WCF 服务,现在一切正常。

于 2009-08-27T20:49:54.847 回答
0

你的例外状态:

此平台不支持指定的加密算法

您需要尝试另一个加密提供者。并非所有密码提供程序都适用于所有系统。MSDN 有完整的列表。

于 2009-08-26T09:20:19.477 回答
0

来自 MSDN:

PlatformNotSupportedException - 当前平台不支持密钥大小。[关联]

您使用什么密钥大小?

密钥的最小大小为 128 位,最大大小为 256 位。[关联]

于 2009-08-24T15:33:27.510 回答
0

你的服务器在哪里?微软不允许在世界某些地区(中国、朝鲜等)使用高密钥强度加密。

此外,可以强制执行组策略设置以防止使用某些加密(例如,政府机构要求通过组策略仅允许 FIPS 算法)。

于 2009-08-26T09:24:33.603 回答