由于开发中需要使用到证书,所以我们自己生成并进行测试,通过 Visual Studio 自带的命令行工具实现:
1.使用 makecert 创建证书
makecert -n "CN=test" -sv test.pvk test.cer
2.发行者证书
由证书发行机构提供,现在我们要测试所以自己生成一个。
cert2spc test.cer test.spc
3.导出pfx
pvk2pfx -pvk test.pvk -spc test.spc
4.签名
signtool sign /f test.pfx /p "pasword" test.exe
5.提取私钥
通过OpenSSL 解析test.pfx文件(PKCS12 格式)获取私钥
调用 PKCS12_parse 获取 EVP_PKEY
pkcs12 test.pfx password -k key.c
// 输出并签名 vdata
pkcs12 test.pfx password -v data.c
makecert 可参考
http://msdn.microsoft.com/zh-cn/library/bfsktky3%28v=vs.110%29.aspx
http://blog.csdn.net/hacode/article/details/4240238