我目前正在开发一个应用程序,该应用程序需要从位于加密网络中的 REST 端点获取数据。要访问网络中的数据,我需要亲自到场(目前不可能),或者使用提供给我的 PEM 证书来访问网络中的数据。
我使用 Node 作为应用程序的后端,并使用 AngularJS 作为前端。
我的 HTTPS 请求是使用 restangular 在前端完成的,因为我只需要从位于加密网络的 REST 端点读取数据。
tl;博士
我的问题是:如何使用 pem 证书通过 angular/restangular 执行 HTTPS POST 请求?以前在 PHP 上我所做的是调用curl,但这与我上面讨论的不同。我很早以前就这样使用过PHP:
function request($endpoint){
$cert = 'certificate.pem';
$curl = curl_init();
$options = array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_URL => $endpoint,
CURLOPT_SSLCERT => $cert,
CURLOPT_SSLCERTPASSWD => $_SESSION['...'] ,
);
curl_setopt_array($curl , $options);
return curl_exec($curl);
}
最佳答案
您必须在后端执行此操作,因为前端并不真正存在这种功能。
如果该后端是 Node ,那么您只需使用 https.request()并适当设置 key
、cert
和 ca
(或只是 pfx
)属性。
关于javascript - 使用 AngularJS/NodeJS 将 PEM 证书添加到 Http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25436350/