我目前正在开发一个需要从位于加密网络中的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);
}
答案 0 :(得分:2)
您必须在后端执行此操作,因为前端确实存在这种功能。
如果该后端是节点,那么您只需使用https.request()并使用key
,cert
和ca
(或仅pfx
)属性设置适当。