【发布时间】:2018-06-03 22:31:33
【问题描述】:
最近,我一直在处理 SOAP 请求。
我已经设法使用 node-soap 模块向 http 服务发送成功的请求。但是,现在我想用它向外部 https 网络服务发送请求。
我已经设法使用带有 cUrl 的 .cer 文件发送 SSL 请求。但是在 node.js 代码中尝试这个时,我遇到了错误。根据我阅读的内容(请参阅 node-soap 模块上的ClientSSLSecurity),我需要一个密钥(.key 格式)和一个证书(.pem 格式)。我不知道这是否需要私钥?我已经设法从我的 .cer 文件中提取了一个公钥。
我试过下面的代码:
var createSoapClient = function (){
soap.createClient(url, function(err,client){
client.setSecurity(new soap.ClientSSLSecurity(
'mycert.cer',
'pubkey.key'
));
if(err)
console.error(err);
else {
client.MyOperation(args,function(err,response){
if(err){
console.error(err);
}
else{
console.log(response);
}
})
}
});
}
但是,这会导致以下错误消息:
Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
我错过了什么?是私钥吗?
谢谢!
【问题讨论】:
标签: node.js web-services ssl curl soap