您的位置:首页 > 其它

关于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时,导入证书。

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.

问题是参数 pbData数据的长度和格式是什么呢?在MSDN中没有相关方档说明。

问题答案是:证书二进制采用TLV(TAG-LENGTH-VALUE)格式。证书二进制数据总是以0x30,0x82,SizeHighByte,SizeLowByte,….这些开头。证书大小不包括开始4个字节,因此应该加上4字节去计算证书的大小。

证书为DER编码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: