0
我正在尝试使用自签名证书在HTTPS上针对Web服务器执行方法= POST。 我下载了服务器的公共证书,并把路径放在发布选项中。 但是我收到了第47行的错误[Error:DEPTH_ZERO_SELF_SIGNED_CERT]。 method = HTTPS上的GET对于具有自签名证书的此Web服务器正常工作。 我在做什么错?具有基本身份验证的客户端SSL POST给出DEPTH_ZERO_SELF_SIGNED_CERT错误
var https = require('https');
var querystring = require('querystring');
var fs = require('fs');
console.log("Starting...");
var certFile = "self_signed_cert.pem"
function ssl_post() {
var username = "user";
var password = "password";
var post_data = '';
var basic = 'Basic ' + new Buffer(username + ':' + password).toString('base64');
// An object of options to indicate where to post to
var post_options = {
host: 'someservername',
port: 443,
path: '/add',
method: 'POST',
headers: {
'accept': '*/*',
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': post_data.length,
'Authorization': basic,
'ca': fs.readFileSync(certFile, 'utf8')
}
};
// Set up the request
var data = '';
var post_req = https.request(post_options, function(res) {
//res.setEncoding('utf8');
res.on('data', function(res) {
//res.setEncoding('utf8');
res.on('data', function(chunk) {
data += chunk;
});
res.on('end', function() {
console.log(data);
});
});
});
post_req.on('error', function(e) {
console.log(e);
});
// post the data
post_req.write(post_data);
post_req.end();
}
ssl_post();
console.log("Finished.");
就是这样!我知道,但我只是看不到它!谢谢! – 2014-09-24 04:41:57