Tag: ssl certificate

如何解决nodemailer中的CERT_UNTRUSTED错误

我正在尝试发送一个与nodemailer的电子邮件。 我已经设法从另一个主机发送它,但现在我想从另一个地址发送电子邮件。 这些是我使用的(从我的package.json )nodemailer的版本: "nodemailer": "1.3.4", "nodemailer-smtp-transport": "1.0.2", 这是我有关我的webmail的信息: 我这样设置nodemailer: var transport = nodemailer.createTransport(smtpTransport({ host: 'securemail.linevast.de', port: 465, secure: true, auth: { user: 'website@dynamic-objects.de', // this is my login name pass: 'mypassword' }, maxConnections: 5, maxMessages: 10 })); 当我尝试发送电子邮件时,出现以下错误消息。 [Error: certificate not trusted] code: 'CERT_UNTRUSTED' 该网站由GeoTrust公司validation,所以我相信这是相当值得信赖的。 有没有办法使nodemailer信任证书或强制它发送电子邮件,即使它不信任它? 感谢您的帮助!

NodeJS https客户端错误 – 400

我正在创build一个连接到Proxmox 2.1的REST API的NodeJS服务。 我的脚本: // module dependencies var http = require('http'), url = require('url'), https = require('https'), querystring = require('querystring'), fs = require('fs'); exports.urlReq = function(reqUrl, options, cb){ if(typeof options === "function"){ cb = options; options = {}; }// incase no options passed in // parse url to chunks reqUrl = url.parse(reqUrl); // http.request settings […]

Node.js https pem错误:错误:0906D06C:PEM例程:PEM_read_bio:无起始行

我从证书颁发机构获得了这个文件: domain.com.p7b domain.com.crt domain.com.ca束 我试过这个小代码: var express = require('express'); var app = express(); var fs = require("fs"); var https = require('https'); var privateKey = fs.readFileSync('domain.com.p7b').toString(); var certificate = fs.readFileSync('domain.com.crt').toString(); var ca_bundle = fs.readFileSync('domain.com.ca-bundle').toString(); var credentials = { key: privateKey, ca : ca_bundle, cert: certificate}; https.createServer(credentials,app).listen(8080, function () { console.log('Example app listening on port 8080!'); }); […]

Node.js:需要一个目录的客户端证书(并允许重试)

我想在节点js中创build一个反向代理,在那里我可以要求客户端证书的某些部分的网站。 /安全部分应该要求客户端证书。 / nosecure部分不需要客户端证书。 如果用户之前没有提供有效的证书,用户应该能够重新进行客户端证书validation。 var options = { key: fs.readFileSync(__dirname + '/key.pem'), cert: fs.readFileSync(__dirname + '/cert.pem'), ca: fs.readFileSync(__dirname + '/clientCA.pem'), requestCert: true }; https.createServer(options, function (req, res) { //parse url req.parsedUrl = url.parse(req.url); //handle urls switch(req.parsedUrl.pathname) { case '/nosecure': /* * This location does not require a client cert */ res.end('nosecure'); break; case '/secure': […]

与NodeJs HTTPS一起使用certificates.cer

我已经为IOS推送通知生成了一个.cer文件,我希望能够和NodeJS HTTPS模块一起使用它。 我发现HTTPS模块的唯一例子是使用.pem和.sfx文件,而不是.cer: var options = { key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'), cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem') }; or var options = { pfx: fs.readFileSync('server.pfx') } https.createServer(options, function (req, res) { res.writeHead(200); res.end("hello world\n"); }).listen(8000); 任何解决scheme

使用http请求模块时出现DEPTH_ZERO_SELF_SIGNED_CERT错误

我使用http-request nodejs模块通过以下代码片段发送获取请求 http.get({ url: 'https://xxx.yyy', rejectUnauthorized: false, headers: {'Authorization':'xxxxxwdw'} }, function (err, res) { if (err) { console.error(err); return; } console.log(res.code, res.headers, res.buffer.toString()); }); 它总是显示“DEPTH_ZERO_SELF_SIGNED_CERT”错误。 我已经尝试设置process.env.NODE_TLS_REJECT_UNAUTHORIZED ='0'; 或者在获取选项中添加“rejectUnauthorized:false”,它仍然有同样的问题。 任何想法? 谢谢。

https.createServer忽略ca数组

我使用下面的选项传递给https.createServer, options = ca: splitca fs.readFileSync sslpaths.capath, encoding:'utf8' key: fs.readFileSync sslpaths.keypath, encoding:'utf8' cert: fs.readFileSync sslpaths.certpath splitca只是分裂CA crt包文件的两个pem块。 但有时Chrome不喜欢这一点,当我加载我的域时,它说证书不能被信任。 然后,有时它工作得很好,显示两个Comodo CA节点来自addTrust根,然后是我的服务器证书。 当我使用openssl s_client -connect mydomain.com:443 -showcerts我得到错误“无法获得本地发行者证书”。 当我完全删除ca参数时,Chrome仍然有时会工作,但openssl在证书链中仍然没有两个CA pem块。 我猜测,Chrome正在自己查找CA并caching证书? 我也试着将CA crt文件添加到服务器crt文件的前面,在升级nodejs(v0.12)之前,我会从openssl获得一些握手sslv3失败。 现在,当我尝试使用nodejs v5.0时, 出现错误:0B080074:x509证书例程:X509_check_private_key:从nodejs抛出键值不匹配 。 任何帮助,将不胜感激。

使用TLS(SSL)从flash v11 +连接到nodejs

我最近开始创build一个服务器,用于我自己构build的mmorpg,我使用节点js作为服务器语言。 我在网上search了一下,发现使用TLS是authentication和通过TCP / IP创build安全会话的方法。 一切工作正常,我创build了一个证书,并使用openssl自己用我在网上find的一些命令对它进行了签名,它给了我可以用在我的服务器上的密钥和证书。 我尝试用openssl连接,一切正常。 js使用的证书节点是PEM格式。 这就是我使用的服务器代码: var tls = require('tls'); var fs = require('fs'); var options = { key: fs.readFileSync(__dirname + '/server.key'), cert: fs.readFileSync(__dirname + '/server.crt'), //requestCert: true, //rejectUnauthorized: false, }; tls.createServer(options, function(sock) { //stuff here }).listen(PORT, HOST); 现在,我的游戏是闪光灯。 所以我尝试连接使用SecureSocket进来的Flash Player版本10+我相信。 问题是闪存使用DER X.509证书格式。 所以我使用openssl将.PEM文件转换为.DER文件,并将其加载到Flash中。 当我尝试连接到我的服务器(这是两个本地主机,想提一下它改变的东西),我可以看到连接尝试在我的服务器,但它立即closures连接。 这是来自闪存的错误: Secure socket supported: true ioErrorHandler: [IOErrorEvent type="ioError" […]

主机:localhost。 不在证书的altnames中

服务器端渲染时出现错误。 RENDERING ERROR: { [Error: Network error: request to https://api-dev.xyz.io/graphql failed, reason: Hostname/IP doesn't match certificate's altnames: "Host: localhost. is not in the cert's altnames: DNS:*.xyz.io"] graphQLErrors: null, networkError: { [FetchError: request to https://api-dev.xyz.io/graphql failed, reason: Hostname/IP doesn't match certificate's altnames: "Host: localhost. is not in the cert's altnames: DNS:*.xyz.io"] name: 'FetchError', message: 'request to […]

Node.js的内部证书颁发机构(CA)https.request:如何指向.PEM?

我最近从节点0.8.xx更新到0.10.5。 突然,我的https.request调用开始失败。 我相信0.8.x没有validation证书,但0.10.5是。 我们设置了一些内部authentication中心来validation内部httpsstream量。 我想显示Node.js https.request客户端的证书。 我该怎么做呢? 目前,我得到: Problem with request: UNABLE_TO_VERIFY_LEAF_SIGNATURE 我努力了: var https_request_options = { host: 'myhost.com', path: '/thepath', port: 443, method: 'POST', headers: { 'Content-type': "application/x-www-form-urlencoded", 'Content-length': thebody.length, }, // rejectUnauthorized: false, ca: [fs.readFileSync('/whatever/path/ca_certs.pem')] }; var authRequest = https.request(https_request_options, function(response) { …. 如果我设置rejectUnauthorized: false ,调用工作,但我想开始利用节点0.10.5中的改进的安全性。 我相信我的.pem文件是好的,因为它可以与Python httplib2($ {python} /Lib/site-packages/httplib2/cacerts.txt)和cURL(“curl-ca-bundle.crt”)一起使用。