首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加密加速器和.NET

加密加速器和.NET
EN

Stack Overflow用户
提问于 2012-02-13 17:53:06
回答 3查看 279关注 0票数 4

.NET是否会检测并使用硬件加密加速器进行加密操作(就像它检测GPU并将其用于图形操作一样)?

如果不是,你有什么建议的托管库?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-13 21:39:21

.NET相当大。

在微软的.NET中,在Windows下,你可以找到名为:

完全托管实现的

  • *Managed,,例如SHA1Managed。在them;
  • *CryptoServiceProvider,上不会有任何硬件加速,例如使用CryptoAPI (原生)代码的SHA1CryptoServiceManager。如果原生CSP有硬件加速,那么你会得到它。
  • 在较新的框架版本上,*CNG (Cryptography Next Generation)。这是CryptoAPI的替代品-同样的规则适用(如果原生代码可以使用硬件加速,您将获得它)。

在所有平台的Mono中,默认情况下您将拥有完全托管的实现(无论类型的名称是什么)。

现在,在这两种情况下(MS和Mono),您也可以使用自己的(或第三方)实现。当您使用CryptoConfig.CreateFrom (直接或间接,例如SHA1.Create)并且您的machine.config文件包含对替代实现的引用时,这甚至对您的应用程序是完全透明的。这允许您(或其他任何人)添加(或替换)任何实现为另一个(包括硬件加速的)实现。

注意:该框架的4.0版通过新的AddAlgorithm方法使这一点变得更加容易。

票数 5
EN

Stack Overflow用户

发布于 2012-02-13 21:46:59

那得看情况。一些HSM(硬件安全模块)附带了针对CAPI和/或CNG的额外提供程序实现。它们通常都带有一个PKCS#11驱动程序(基于C语言)。

现代硬件将用它们的自定义实现替换您的默认CNG提供商,实际上导致了您所要求的那种自动检测。

对于不支持此功能的HSM,您要么必须手动注册提供程序,要么在最坏的情况下,如果没有提供自定义提供程序,您将不得不手动连接到PKCS#11或使用类似this的东西。

票数 2
EN

Stack Overflow用户

发布于 2012-02-13 21:38:56

一些硬件供应商设法将默认的SChannel和其他供应商替换为自己的供应商。如果他们这样做了,那么.NET将使用替代产品,而不是股票供应商。但是没有办法自动检测和使用加密硬件。

大多数加速器都可以通过PKCS#11接口使用。通常,您可以使用我们的SecureBlackbox,它将通过PKCS#11使用此类加速器,但您必须“手动”指定要调用的PKCS#11动态链接库(不可能进行自动检测,因为此类DLL未在系统中注册)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9258472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档