Tag: ssl certificate

NodeJS和AngularJS – 使用客户端证书authentication来保护REST API

我目前正在努力使REST Api服务器(NodeJS + Express + Mongoose)安全,除了我的客户端应用程序(AngularJS 1.6)和我的pipe理应用程序(基于AngularJS 1.6)之外,没有人可以访问路由并获取或放置数据到我的数据库。 所有内容都使用有效的SSL证书在https上运行。 我主要想到两种方法: 共享密钥在特定路由需要“访问密钥” 客户端证书authentication 我没有去。 2,因为在我的想法这是最安全的(请纠正,如果我错了:)) 所以我设置我的API服务器在https上运行,并请求一个有效的客户端证书: var options = { ca: fs.readFileSync(__dirname + "/cert/server.ca"), key: fs.readFileSync(__dirname + "/cert/server.key"), cert: fs.readFileSync(__dirname + "/cert/server.crt"), requestCert: true, rejectUnauthorized: false }; https.createServer(options, app) .listen(PORT, () => { console.log(`up and running @: ${os.hostname()} on port: ${PORT}`); console.log(`enviroment: ${process.env.NODE_ENV}`); }); 我通过以下方式直接在应用程序中处理未经使用的用户的拒绝: if […]

我怎样才能运行节点js和Apache与单个ssl证书与不同的端口?

我在端口号3000上运行nodejs,我的站点是sslauthentication的。 运行节点server.js后,我得到下面的错误: GET https://–.—.-.—:3000 / socket.io /?EIO = 3&transport = polling&t = 1513323461271-0 net :: ERR_CONNECTION_REFUSED。 那么我怎样才能运行节点js和Apache与单一的SSL证书与不同的端口? 我的网站托pipe在亚马逊服务器上。

Nodejs v0.10.x(freebsd)“X509_STORE_add_cert:cert已经在哈希表中”

我正在使用asynchronousWeb API,并且在nodejs版本比v0.8.9高 $ uname -a FreeBSD home 9.1-STABLE FreeBSD 9.1-STABLE#0:Fri Feb 1 10:38:27 EET 2013 root @ home:/ usr / obj / usr / src / sys / HOME amd64 $ node -v v0.10.0 $ node ./client.js events.js:72 throw er; // Unhandled 'error' event ^ Error: 34401711104:error:0B07C065:x509 certificate routines:X509_STORE_add_cert:cert already in hash table:../deps/openssl/openssl/crypto/x509/x509_lu.c:357: 34401711104:error:0B07C065:x509 certificate […]

ACME – 使用SAN获取子域的证书

我对即将到来的自动证书pipe理环境(ACME)感兴趣。 我下载了演示,并试用了我的主域名。 我仍然有一个问题:使用常规authentication过程,我能够获得与SAN的证书,所以我可以将其设置在我的服务器(Node.js),并为所有子域(这是虚拟主机)提供服务。 问题是, 目前的草案说明如下: 关键授权 可以重复该过程以将多个标识符关联到密钥对(例如,请求具有多个标识符的证书) 这是否意味着即使它们是同一主域(“主标识符”)的一部分,我也需要为每个子域颁发由相同密钥生成的新证书? 谢谢你的答案。

iOS中相互validation的等效代码是什么?

我正在尝试对需要相互authentication的服务器进行API调用。 使用NodeJS和请求库,我能用下面的代码击中API var keyFile = '/Users/username/Documents/Certificates/example-key.pem'; var certificateFile = '/Users/username/Documents/Certificates/cert.pem'; var options = { uri: 'https://myserver.com/apiOne', key: fs.readFileSync(keyFile), cert: fs.readFileSync(certificateFile), headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': 'Basic ' + new Buffer(userId + ':' + password).toString('base64') }, body: data //JSON body }; request.postAsync(options) .spread(function (response, body) { res.status(200).json(JSON.parse(body)); }) .catch(function (err) { res.status(400).send(err); }) 如何从iOS应用程序创build相同的API? […]

如何将.crtstring转换为.der证书二进制文件并将其保存到Redis中?

我试图将.crtstring转换成.der证书并将其保存到Redis中。 我试图用Nodejs复制以下步骤 openssl x509 -outform der -in certificate.pem -out certificate.der openssl rsa -outform DER -in key.pem -out key.der redis-cli -x HMSET domain:testsite1.com cert < testsite1.com.der redis-cli -x HMSET domain:testsite1.com key < testsite1.com.key.der .crtstring看起来像这样 —–BEGIN CERTIFICATE—– XXXXXXXXXXX —–END CERTIFICATE—– —–BEGIN CERTIFICATE—– XXXXXXXXXX —–END CERTIFICATE—– —–BEGIN CERTIFICATE—– XXXXXXXXX —–END CERTIFICATE—– 这是我使用node-forge forge npm和redis失败的尝试。 var certDER = forge.asn1.toDer(forge.pki.certificateToAsn1('/opt/resty/ssl/*.ngdeploy.com.chained.crt',{encoding: […]

WSS – 连接build立错误:net :: ERR_CONNECTION_CLOSED

请不要标记为重复的,因为所有关于SO的其他问题都不是这样的,所有的解决scheme都已经尝试过了,而且是不相关的。 我正在尝试使用node.js创buildBinaryServer,并允许客户端通过HTTPS连接到它,以用于audiostream目的。 节点JS代码 : var binaryServer = require('binaryjs').BinaryServer; var https = require('https'); var http = require('http'); var fs = require('fs'); var options = { key: fs.readFileSync('../cert/example.com.key'), cert: fs.readFileSync('../cert/example.com.crt') }; var httpsserver = https.createServer(options).listen(9001); var server = binaryServer({ server: httpsserver, port: 9001 }); server.on('connection', function(client) { …. // stuff } 客户网站JS代码 : client = new BinaryClient('https://example.com:9001'); […]

Google Chromeselect一个证书

我已经在节点js服务器上安装ssl似乎工作正常。 现在很less有用户抱怨他们像这样popup 这是什么意思 ? SSL没有正确configuration? 谢谢

使用ssl保护来自节点的服务调用

我正在尝试保护从我的节点到其他服务安全的服务调用。 所有其他服务都启用了https。 我尝试了以下方法 process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0' 根据我的理解,忽略所有从代码中删除的错误,因为证书 我正在使用request模块。 我们可以在哪里configuration key – 提供我的私钥文件, cert – 提供我的证书文件 ca – 证书authorty链 那么它会抛出UNABLE_TO_VERIFY_LEAF_SIGNATURE 我发现节点不会从系统读取ca。 它有自己的ca链因此,我包括从网上获取最新的cas 节点的ssl-root-cas 。 然后使用SSL分析器,我能够find我的域没有中间的CA证书 我从我们的网站上下载并制作了一个ca链,并将它连接到ssl-root-cas 然后,我能够成功地提出请求 但即使我从我的要求中删除钥匙和证书,我可以提出要求并获得结果。 我怎样才能检查我的请求和响应实际上是encryption的? 或者节点只是忽略错误,

OpenShift无效证书| SSL上的NodeJS应用程序

以下是我正在处理的内容: NodeJS / Express应用程序 OpenShift环境(企业帐号) 通过HTTP工作 证书信任错误通过HTTPS 使用OpenShift提供的默认通配符证书 开始工作,如果我去手动接受浏览器正在提出的例外 最新的快递 Server.js看起来像这样: var express = require("express"), app = express(), IP = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1", PORT = process.env.OPENSHIFT_NODEJS_PORT || 8888; // its 8080 on openshift. i use 8888 only on my local environment for irrelevant reasons // we sometimes need special endpoints that arent files app.get("/something-special", function(req, […]