最近开始涉及一个不太了解的项目,csp开发。前人没做完,只有蹩脚的代码和繁杂的数据结构。
通过前期偶尔的兴趣所致,也了解到开发自己的csp(硬件或软件)只需要实现CryptoSPI函数接口即可;该接口与CryptoAPI函数一一对应,供操作系统调用。
最近一周一直在建立CSP的开发环境,加密卡很早前就已安装并通过测试,安装了windows 2003系统以及vc6.0(现在在用vs2008,而原先的代码都是由vc6.0开发。经过转换后的sln编译出现很多数据类型转换错误,遂放弃)。
即使用vc6.0,编译仍然失败,40多个错误,主要是标识符未定义引起。后经反复查找,终于搞清原因是vc6.0自带的wincrypt.h文件过于陈旧,遂用工程中的相应文件覆盖,编译通过。
给微软发了要签名的csp dll文件,三天的时间返回签名文件,附带还有个sig文件,暂时无用。
在调用硬件csp安装企业根证书服务时,最后出现如下错误: