如何从PHP获取CA的注册证书

时间:2013-01-24 08:40:24

标签: php certificate

我正在编写一个服务,该服务应该从移动设备接收Base64编码的DER格式PKCS#10证书请求,然后返回从CA获得的证书。

我正在尝试使用“https://CA-server/certsrv/mscep/mscep.dll?operation = PKIOperation& Message = urlencoded request”

     $ca_link_device="https://..../certsrv/mscep/mscep.dll";
     $URL=$ca_link_device."?operation=PKIOperation&Message=".urlencode($BinarySecurityToken)."=";
     $ch3 = curl_init();
     curl_setopt($ch3, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($ch3, CURLOPT_URL, $URL); 
     curl_setopt($ch3, CURLOPT_HEADER, 0);
     $cert = curl_exec($ch3);

但返回的数据包含空信封。我很可能做了一些非常愚蠢的事情,但不幸的是我在证书管理方面的知识接近于零。我一直试图谷歌,但有很多技术文件,我不知道从哪里开始,什么是与我有关,什么不是。

非常感谢。

编辑:根据一个文档,我应该将我的PKCS10请求包装到PKCS7中。根据Microsoft PKCS10应该没问题,PKCS7仅用于证书续订。谁相信?

1 个答案:

答案 0 :(得分:1)

最后,我们只是将mscep.dll方法droped并使用curl直接将带有所需参数的POST发送到... certsrv / certfnsh.asp页面。然后我们解析返回的HTML并获得证书下载的链接。

不是一个好的解决方案,但为我们工作。

相关问题