私のコードには、証明書を生成するために必要な API エンドポイントを含む PHP ファイルを呼び出す JS ファイルを呼び出すボタンがあり、以下の証明書変数で使用する応答を返します。
openssl コマンドを使用して自分で CSR を生成しています。
ブラウザーに証明書をインストールするコードは次のとおりです (証明書は、Entrust API から取得した応答として証明書を渡す場所です)-
このページのコードを使用しています- https://blogs.msdn.microsoft.com/alejacma/2009/01/28/how-to-create-a-certificate-request-with-certenroll-javascript/ (右下の 2 番目の灰色のブロック- 次の Javascript サンプルは、CA からの応答をインストールする方法を示しています) 。
function installCertificate(certificate) {
try {
var objEnroll = objCertEnrollClassFactory.CreateObject("X509Enrollment.CX509Enrollment");
objEnroll.Initialize(1); // ContextUser
objEnroll.InstallResponse(0, certificate, 6, "");
} catch (ex) {
swal('Error', 'Something went wrong installing Client Certificate', 'error');
console.log("exception- " + ex.description);
}
}
私が持っているエラーは(キャッチブロックから)です-
CertEnroll::CX509Enrollment::InstallResponse: Cannot find object or property. 0x80092004 (-2146885628 CRYPT_E_NOT_FOUND)
あまり詳細ではないため、オブジェクトまたはプロパティが見つかりませんの意味がわかりません。
PS: API からの応答を .crt ファイルとして保存して開くと (ダブルクリックするだけ)、証明書チェーンと一緒に証明書の値が正しく表示されます。