推荐产品
- IoT设备证书自建PKI与第三方CA怎么选?越来越多企业选了第三条路
- 用户一看到“未知发布者”就关掉?先搞清楚 OV 和 EV 的区别
- 子域名越多证书越难管?沃通 CertBot 加沃通 CaaS 才是完整解法
- 驱动签名证书过期了?旧驱动不用重签,WHQL也不用重做
- Windows 总提示“已保护你的电脑”?别急着点“仍要运行”,先做三件事
- 为了申请HTTPS专门买个域名?其实SSL证书可以直接签给IP
- 小程序突然打不开?先别查服务器,大概率是SSL证书过期了
- SSL 证书有效期已缩至 199 天,还在手动续签的团队该换自动化了
- 域名验证≠身份验证:企业SSL证书选型指南
- 从 DV 到 OV,我们花了一年多才补上金融安全这一课
什么是CSP
CSP(Cryptographic Service Provider)是微软提供的加密服务应用程序接口CryptoAPI所需的独立软件模块,它完成各种加密算法的具体实现。
CryptoAPI是Win32环境下的密码开发接口,其结构模型如图所示:

CryptoAPI结构模型
CryptoAPI分为应用层,CryptoAPI接口层,加密服务提供层CryptoSPI。CryptoAPI接口面向应用系统,而CryptoSPI面向密码模块开发商,CryptoAPI统一由Windows提供,而底层的CSP由开发商提供。这样的分层体系结构,使应用系统不必关心底层的密码实现细节和实现方式(软件和硬件),降低了集成难度,在一个系统中可以同时加载多个CSP,同时为开发商制定了CSP的标准接口,开发商按照标准开放CSP,就可以把自己开放的软件或者硬件密码模块无缝连接到CryptoAPI的体系中。
为了保证底层CSP的安全性,CryptoAPI接口在加载每个CSP时,需要验证CSP签名,如果签名无效则拒绝加载,CSP的签名有微软签发,其签名可以通过发送Email(其中包括编译成功的DLL文件,以及各种加密算法参数介绍)到Cspsign@Microsoft.com,微软将回复一个*sig文件。
CSP模块处于CryptoAPI体系结构的最低层,有实现CryptoSPI(系统程序接口)中函数的动态链接库组成,大多数包括了所有密码函数的实现,也有些主要实现由服务器控制管理程序基于软件实现的功能,也有用硬件实现部分或全部密码函数的,如智能卡和安全协处理器等微型密码设备。
