关于CSP通过CpSetKeyParam存入证书相关问题
2013-01-26 23:12
267 查看
CpSetKeyParam函数原型为:
BOOL CPSetKeyParam(
__in HCRYPTPROV hProv,
__in HCRYPTKEY hKey,
__in DWORD dwParam,
__in BYTE* pbData,
__in DWORD dwFlags
);
在MSDN中说到当参数 dwParam为 KP_CERTFICATE时,导入证书。
问题是参数 pbData数据的长度和格式是什么呢?在MSDN中没有相关方档说明。
问题答案是:证书二进制采用TLV(TAG-LENGTH-VALUE)格式。证书二进制数据总是以0x30,0x82,SizeHighByte,SizeLowByte,….这些开头。证书大小不包括开始4个字节,因此应该加上4字节去计算证书的大小。
证书为DER编码
BOOL CPSetKeyParam(
__in HCRYPTPROV hProv,
__in HCRYPTKEY hKey,
__in DWORD dwParam,
__in BYTE* pbData,
__in DWORD dwFlags
);
在MSDN中说到当参数 dwParam为 KP_CERTFICATE时,导入证书。
KP_CERTIFICATE | pbData is the address of a buffer that contains the DER-encoded X.509 certificate. The public key in the certificate must match the corresponding signature or exchange key. |
问题答案是:证书二进制采用TLV(TAG-LENGTH-VALUE)格式。证书二进制数据总是以0x30,0x82,SizeHighByte,SizeLowByte,….这些开头。证书大小不包括开始4个字节,因此应该加上4字节去计算证书的大小。
证书为DER编码
相关文章推荐
- 关于在html中通过js解析xml相关问题:
- Windows 8 系列(十):关于AppBar持久显示的相关问题
- 关于QTableView和QTableWidget设置代理的相关问题
- 证书相关注意问题
- linux下编程的gcc编译中关于头文件与库文件搜索路径相关问题(一)
- 关于最大子序列和问题以及相关衍生问题的分析
- app开发 关于证书遇到的问题
- 27 关于mysql 的binlog相关的几个问题
- 关于从表中取相关列的唯一值问题,返回全部列
- 【matlab】:matlab关于原图修改及画图的相关问题
- 关于iOS 录音并且转码上传的相关问题
- 关于HTML标签 和属性的相关问题
- 关于找回Iphone设备的相关问题
- 关于cas server无法通过session持久化方式实现集群的问题
- 关于Windows 10只能在启动选项中通过F7禁用驱动签名才能启动的问题
- Android 关于支持https的相关问题
- 关于nth-child()伪类选择器选取元素设置transform样式但是无法通过hover改变transform的问题
- 关于Elasticsearch 运行过程出现问题的相关思考
- 关于Drawable资源加载的相关问题
- 关于Microsoft Unified Communications Managed API 3.0开发的相关技术问题(UserEndpoint 、ApplicationEndpoint的区别是什么?)