Tag: ssl

生成SSL密钥以使用node.js

我正在通过GoDaddy设置一个SSL来与AWS EC2上的我的node.js服务器一起使用。 我一直无法得到它的工作。 以下是我所尝试的: 面向域名:files.mysite.com 在服务器上运行: $ openssl req -new -newkey rsa:2048 -nodes -keyout files.mysite.key -out files.mysite.csr Common Name: files.mysite.com password: left empty 然后我得到CSR:vim files.mysite.csr 我从以下复制并粘贴: —–BEGIN CERTIFICATE—– ……… lots of stuff —–END CERTIFICATE—– 最后有一个额外的空行,我使用rekey离开并粘贴到GoDaddy界面。 然后我下载提供的godaddy密钥: gd_bundle.crt files.mysite.com.crt 然后在节点中插入: key: fs.readFileSync('server.key').toString(), cert: fs.readFileSync('server.crt').toString() 我不知道什么server.key是或server.crt鉴于GoDaddy提供两个crt文件? 你能帮我吗?

主机名/ IP不匹配证书的名称

我试图创build一个TLS服务器/客户端设置使用Node.js 0.8.8与自签名证书。 基本的服务器代码看起来像 var tlsServer = tls.createServer({ key: fs.readFileSync('server-key.pem'), cert: fs.readFileSync('server-cert.pem') }, function (connection) { // […] }); tlsServer.listen(3000); 现在当我尝试连接到这个服务器时,我使用下面的代码: var connection = tls.connect({ host: '192.168.178.31', port: 3000, rejectUnauthorized: true, ca: [ fs.readFileSync('server-cert.pem') ] }, function () { console.log(connection.authorized); console.log(connection.authorizationError); console.log(connection.getPeerCertificate()); }); 如果我删除线 ca: [ fs.readFileSync('server-cert.pem') ] 从客户端代码中,Node.js抛出一个错误告诉我DEPTH_ZERO_SELF_SIGNED_CERT 。 据我了解,这是因为这是一个自签证书,没有其他人信任这个证书。 如果我删除 rejectUnauthorized: true, 错误消失了 – […]

用于PostgreSQL连接nodejs的SSL

我试图连接到我的Heroku PostgreSQL数据库,我不断收到SSL错误。 有没有人有关于如何在连接string中启用SSL的想法? postgres://user:pass@host:port/database; 一直在寻找它,但它似乎并不是一个非常受欢迎的话题。 顺便说一下,我正在运行Nodejs和node-pg模块及其连接池方法: pg.connect(connString, function(err, client, done) { /// Should work. }); 非常感谢意见。

Heroku + Cloudflare完全免费的SSL

尝试使用Cloudflares新的免费通用SSL在Heroku上获得完全免费的SSL 阅读这篇文章: http : //mikecoutermarsh.com/adding-ssl-to-heroku-with-cloudflare/ 这似乎表明现在Cloudflare可以免费提供SSL。 我采取的步骤: 使用Cloudflare设置我的DNS(免费帐户) 将我的域名转发到我的herokuapp(CNAME example-app.com – > example-app.herokuapp.com) 将Cloudflare SSL选项设置为“完全SSL” 将我的域添加到我的heroku应用程序 用这个快递中间件强制https: app.use(function(req, res, next) { if (req.headers['x-forwarded-proto'] != 'https') { res.redirect('https://' + req.headers.host + req.path); } else { return next(); } }); heroku域http://example-app.herokuapp.com正常工作,并redirect到https://example-app.herokuapp.com ,绿色锁和所有。 http://example-app.com和https://example-app.com都不起作用。 浏览器选项卡图标只是保持旋转,永远不会解决。 任何想法如何得到这个工作? 这甚至有可能吗? *更新 这看起来实际上是可能的。 从CloudFlare支持: 嗨比尔, 基本上,只要“来源”支持SSL连接,您就可以在CloudFlare中使用完全SSL。 西蒙 CloudFlare今天发布了这篇博文: https : //blog.cloudflare.com/universal-ssl-be-just-a-bit-more-patient/ 我的网站已经开始解决,但得到了“您的连接不是私人的”信息,就像在博客文章的“错误您可能会看到”部分。 […]

用expressjs强制SSL 3

我正在运行一个没有代理和使用SSL的node.js express 3服务器。 我想弄清楚如何强制所有连接通过https。 谷歌search向我显示这一点: https://groups.google.com/forum/#!topic/express-js/Bm6yozgoDSY 目前没有办法强制httpsredirect,虽然这似乎有点奇怪的解决办法。 我们有一个只有https的应用程序,我们只有一个简单的〜4行节点http服务器redirect,没有什么奇特的 这是我需要的,但他没有说这四条线是什么。 我们如何做到这一点? 谢谢。

Node.js / Express.js链证书不起作用

我在Express中有一个SSL服务器,因为有些浏览器需要链式证书(我们有我们自己的中间证书),所以在所有的浏览器上都不行(除非用户手动信任网站)。 我把我们的中间和链式证书放在一个.crt文件中。 链+中级证书位于INT_CERT_FILEvariables中。 这似乎并不奏效。 我正在使用http://www.digicert.com/help ,以及运行openssl s_client -connect tasker.adnxs.net:443 -showcerts | grep "^ " openssl s_client -connect tasker.adnxs.net:443 -showcerts | grep "^ "来检查,但似乎没有返回中间+链证书。 以下是我如何设置它: var fs = require("fs"); var https = require("https"); var express = require("express"); var KEY_FILE = fs.readFileSync("path/to/key/file.key"); var CERT_FILE = fs.readFileSync("path/to/crt/file.crt); var INT_CERT_FILE = fs.readFileSync("path/to/intermediate and chain crt.crt"); var _app_https = express(); […]

Android应用程序使用Socket.io连接到Node.js服务器

我无法让我的Android应用连接到socket.io聊天服务器。 我使用Gottox创build的socket.io-java-client,可以在这里find: https : //github.com/Gottox/socket.io-java-client 服务器通过端口7000本地运行。我正在使用android模拟器,所以我使用10.0.2.2:7000来访问服务器。 任何帮助将不胜感激,我没有太多的SSL经验。 如果我find一个工作解决scheme,我也会发布它。 Node.js服务器 var express = require('express'); var app = express(); var server = require('http').createServer(app).listen(7000); var io = require('socket.io').listen(server); io.sockets.on('connection', function(client){ client.on('message', function(err, msg){ client.broadcast.emit('message', msg); }); }); 的package.json { "name": "simplechat", "version": "0.0.1", "main": "app.js", "dependencies": { "express" : "~4.0.0", "socket.io" : "~0.9.13" } } Android:SendMessageActivity public class […]

如何为https web服务器创build.pem文件

我在Node.js中使用Express框架来创build一个Web服务器。 我想运输是基于SSL的。 创buildhttps网页服务器的代码如下。 var app = express.createServer({ key: fs.readFileSync('./conf/key.pem'), cert: fs.readFileSync('./conf/cert.pem') }); module.exports = app; 问题:如何创buildexpress所需的key.pem和cert.pem?