CSP(CryptographicServiceProvider)加密服务提供层是Microsoft在Windows平台上提供第三方加密模块的接口标准。它提供一套基于软件或硬件的加密解密服务,包括加密标准和加密算法的实现。作为一个CSP,它包含一个动态链接库DLL文件和一个签名文件来验证CSP,以确保CSP不会被非法篡改。CryptoAPI(CryptoApplicationProgrammingInterface)它是由操作系统开发人员提供给应用程序的开发界面,是PKI推荐的一组加密API。CryptoSPI(CryptoSystemProgrammingInterface)它也是一组API接口,由操作系统开发人员提供给密码服务开发人员的系统接口,其实际应用如图1所示。安装CSP后,应用程序开发人员通过CryptoAPI将应用程序的呼叫交给操作系统。操作系统内部选择指定的CSP,通过CryptoSPI驱动CSP进行实际操作,完成一系列完整的加密服务,如加密解密、签名认证、证书导入导出等。