モバイル デバイスから 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 は証明書の更新にのみ使用されます。誰を信じる?