Tag: ssl

Node.js – HTTPS PFX错误:无法加载BIO

我试图做一个HTTPS请求承诺。 我已经知道PFX是好的,这不是问题(我有一个类似的示例应用程序工作)。 我正在做以下事情: var request = require('request-promise'); … options.pfx = fs.readFileSync('myfile.pfx'); options.passphrase = 'passphrase'; 我正在将我的选项传递给请求。 request.post(options); 然后我尝试构build请求我得到以下错误: _tls_common.js:130 c.context.loadPKCS12(pfx, passphrase); ^ Error: Unable to load BIO at Error (native) at Object.createSecureContext (_tls_common.js:130:17) at Object.exports.connect (_tls_wrap.js:955:21) at Agent.createConnection (https.js:73:22) at Agent.createSocket (_http_agent.js:174:16) at Agent.addRequest (_http_agent.js:143:23) at new ClientRequest (_http_client.js:133:16) at Object.exports.request (http.js:31:10) at Object.exports.request (https.js:163:15) at […]

从iojs升级到nodejs v4.4.4后,自签名SSL不起作用

我在我的应用程序中使用iojs和koa,最近我决定将iojs更新到nodejs v4.4.4。 更新非常顺利,我的应用程序运行得很快。 问题是我在我的开发机器上使用了一个自签名的SSL证书,当我更新到nodejs后,当我尝试访问网站时收到以下消息: 本网站无法提供安全连接 本地主机使用不受支持的协议。 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 客户端和服务器不支持通用的SSL协议版本或密码套件。 这可能是由于服务器需要RC4而导致的,而RC4不再被认为是安全的。 我使用nvm所以我尝试切换到iojs和网站再次工作。 读了一些后,我发现我必须更新openssl到版本1.0.2g而不是我用来创build.key和.crt文件的1.0.1g 。 所以我更新了openssl并生成了如下新的密钥和证书文件: sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt 可悲的是这并没有解决这个问题。 这是我用来在服务器上设置https的代码: let sslOptions = { key: fs.readFileSync('/etc/apache2/ssl/apache.key'), cert: fs.readFileSync('/etc/apache2/ssl/apache.crt') }; let server = require('https').createServer(sslOptions, app.callback()) 难道我做错了什么? 为什么它与iojs一起工作,不能和nodejs一起工作?

节点的证书在哪里?

我正在使用自签名证书向服务器发出https请求(使用请求模块)。 如果我不指定strictSSL: false作为选项, strictSSL: false引发错误。 此证书已在我的操作系统(OSX)上得到信任,因此,Chrome在访问该服务器的网页时不会出现错误。 我了解不同的应用程序/环境可能有自己的证书存储。 Firefox有它自己的,例如,JVM通常在$ JAVA_HOME / jre / lib / security / cacerts(在OSX上)。 我的问题是,节点在哪里查找其可信的CA? 有这样的概念吗? 我想将我的自签名证书添加到开发目的。

nodejs passport ldapauth“无法读取”属性的undefined“

我正尝试使用passport-ldapauth和express来validationLDAP服务器。 使用ldap url(ldap:// myserver …)进行身份validation的工作正常,但是使用ldaps可以获得: TypeError:无法读取未定义的属性'on' 在setupSocket(… \ ldapauth-fork \ node_modules \ ldapjs \ lib \ client \ client.js:111:14) 在Client._connect(… \ ldapauth-fork \ node_modules \ ldapjs \ lib \ client \ client.js:742:3) 在新客户端(… \ ldapauth-fork \ node_modules \ ldapjs \ lib \ client \ client.js:247:22) 在Object.createClient(… \ ldapauth-fork \ node_modules \ ldapjs \ lib \ […]

Nodemailer和“SSL23_GET_SERVER_HELLO:未知协议”错误

以下是我的Node.js代码。 使用代码导致: Error: 0:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:openssl\ssl\s23_clnt.c:794 这里是代码: var express = require('express') , fs = require("fs") , app = express() , path = require('path') , request = require('request') , bodyParser = require('body-parser') , http = require('http') , server = http.createServer(app) , io = require('socket.io').listen(server, {log: true, origins: '*:*'}) ; var smtpTransport = require('nodemailer-smtp-transport'); var options = […]

我在我的node.js https服务器中使用.pfxauthentication,我不能在选项中使用“密码”

我目前正在使用node.js和https进行Web应用程序。 所以我尝试使用我的.pfx(我从http://www.cert-depot.com/获得了这个文件)进行httpsauthentication,如下所示: var https = require('https'); var fs = require('fs'); var options = { pfx: fs.readFileSync('./8ab20f7b-51b9-4c09-a2e0-1918bb9fb37f.pfx') passphrase: 'password' }; var server = https.createServer(options, function (request, response) { fs.readFile('index.html', function (error, data) { response.writeHead(200, {'Content-Type': 'text/html'}); response.end(data); }); }).listen(12345, function(){ console.log('server running'); }); 但是当我用node.js启动这个代码时,我在我的Windows控制台中收到一条错误消息: 密码:“密码” 意外的标识符 我的代码与Node.js( http://nodejs.org/api/https.html#https_https_createserver_options_requestlistener )的官方指南页非常相似,但是我无法启动我的https服务器。 我的密码有什么问题? (我在Windows 8 64位上运行node.js。)

在Openshift上使用https创buildExpress JS 4.0应用程序,包括httpredirect

继另一个SO问题后 ,我一直在尝试的最新(见ligatures.net ): self.ipaddress = process.env.OPENSHIFT_NODEJS_IP; self.port = process.env.OPENSHIFT_NODEJS_PORT || 443; if (typeof self.ipaddress === "undefined") { self.ipaddress = "127.0.0.1"; }; … self.app = express(); // 4.8.7 … // Trusting Openshift proxy self.app.enable('trust proxy'); // Http -> Https redirection middleware self.app.use(function (req, res, next) { if ( !req.secure() ) { var tmp = 'https://' + […]

Node.JS Error- process.env.NODE_TLS_REJECT_UNAUTHORIZED。 这是什么意思?

我是后端开发的新手。 而且我非常喜欢在节点中编写代码。 但是,我似乎无法把握的东西很less。 我不断收到以下错误: 错误:DEPTH_ZERO_SELF_SIGNED_CERT 我通过执行下面的代码来修复它: if ('development' == app.get('env')) { console.log("Rejecting node tls"); process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; } 我知道我们正在设定一个环境。 但是,这是什么意思用通俗的语言? 我不知道如何向别人解释。 有很多onof信息,如何解决它,但我什么都没有find这实际上是什么意思 。 有人可以解释吗?

激活CloudFlare时redirect循环

我试图把我的网站放在CloudFlare的后面,但不幸的是,当我激活CloudFlare时,我开始得到一个redirect循环(我正在使用Chrome)。 我试图按照build议清除cookie,但是这并不能解决问题,而且当CloudFlare未激活时,我没有遇到这个问题。 是什么导致这个以及如何在我的node.js应用程序中解决它?

使用openshift nodejs应用程序接收“SSL_connect returned = 1 errno = 0 state = SSLv3读取服务器hello A:sslv3警报握手失败”

我在openshift上有一个nodejs应用程序,我们在本地开发时使用rhc port-forward命令连接到我们的数据库。 我们已经实施护照通过谷歌和通过Facebookvalidation用户。 我已经证实了我的自我,我们仍然可以使用rhc命令。 我的合作伙伴最近通过脸书证实了自己,不久之后(〜1周),我们得到了这个错误。 不知道这是否是完全相关的,但包括它可以不伤害。 Connection to openshift.redhat.com failed: A secure connection could not be established to the server (SSL_connect returned=1 errno=0 state=SSLv3 read server hello A: sslv3 alert handshake failure). You may disable secure connections to your server with the -k (or –insecure) option 'https://openshift.redhat.com/broker/rest/api'. If your server is using a self-signed certificate, […]