我正在编写一个服务,它应该从移动设备接收以 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);
但返回的数据包含空信封。我很可能在做一些非常愚蠢的事情,但不幸的是我在证书管理方面的知识接近于零。我一直在尝试 google,但是周围有太多的技术文档,我不知道从哪里开始,什么与我相关,什么不相关。
非常感谢所有帮助。
编辑:根据一份文档,我应该将我的 PKCS10 请求包装到 PKCS7 中。根据 Microsoft PKCS10 应该没问题,PKCS7 仅用于证书更新。相信谁?