Tag: ssl certificate

在Node.js中加载SSL的证书和私钥

对不起,但我没有证书和SSL的经验,特别是在Node.js。 我需要configurationexpress 选项 : var https = require('https'); var options = { key: fs.readFileSync('key.pem'), cert: fs.readFileSync('csr.pem') }; https.createServer(options, my_app).listen(3000); 如果我尝试用自己生成的证书(通过openssl )所有的作品就像一个魅力。 现在,我需要更改自己生成的证书与我的域的真实证书。 在Plesk我有3个证书:一个CSR ,一个私钥( .key)和一个文本格式的证书(.crt) ,并且这个证书已经在我的服务器的Pleskconfiguration上工作,所以他们没问题。 那么,我现在需要做什么? 哪个是key.pem ,哪个是csr.pem ? 对不起,但我不知道,有谁能解释我吗?

错误:证书在节点中已过期

我在Heroku的生产节点应用程序随机开始抛出以下错误: Error: certificate has expired at Error (native) at TLSSocket.<anonymous> (_tls_wrap.js:1060:38) at emitNone (events.js:86:13) at TLSSocket.emit (events.js:185:7) at TLSSocket._finishInit (_tls_wrap.js:584:8) at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:416:38) error: Forever detected script exited with code: 1 error: Script restart attempt #1 Creating a pool connected to blah.thing.com:port Running migrations for database 'app_name'… events.js:160 throw er; // Unhandled 'error' event ^ […]

使用Node.js从SSL证书读取过期date和公共名称

在启用https的Node.js中,我将证书作为.pem文件。 现在我想从该文件中读取一些数据以获取有关证书的信息,例如到期date和公用名称。 正如我所看到的Node既不是自己的tls模块,也不是像ursa这样的模块。 当然,我可能会将openssl作为一个subprocess调用并parsing它的输出stream(我认为这个任务应该可以使用OpenSSL来实现),但是我更喜欢一个解决scheme,而不依赖path中外部程序的可用性。 我怎么能这样做? 更新:同时,我find了pem模块 ,它的readCertificateInfo提供了通用名称,即使使用了Node.js 0.8.18(这与它的文档说谁支持0.7+是相反的)。 不幸的是,它不会返回到期date。 更新2:在内部,pem只是使用subprocess调用openssl命令。 当然,我可以自己做,因此我可以直接从openssl获取所需的信息。 无论如何,如果有人有一个更好的主意(在这种情况下,这意味着一个纯粹的JavaScript / Node.js解决scheme),我会很高兴:-)

如何从第三方node.js服务器validationGame Center用户

我一直在试图获得新的iOS Game Center GKPlayer方法generateIdentityVerificationSignatureWithCompletionHandler ,所以我们可以安全地依靠Game Center凭证进行身份validation。 我们使用Node.js作为后端服务器,我一直在尝试validation签名,但是无济于事。 这里是我有的服务器端的代码 – 如果有人谁可以在什么缺less的钟声,这将不胜感激。 这个问题在这里有所回答: 如何在我的“第三方服务器”上validationGKLocalPlayer? ,但是Node.js并没有被专门的解决。 请注意,以下代码不能确保签名授权(尚)的证书的有效性。 //Client sends the payload below //json.playerId – UTF-8 string //json.bundleId – UTF-8 string //json.timestamp – Hex string //json.salt – base64 encoded //json.publicKeyURL – UTF-8 string //json.signature – base64 encoded var json = JSON.parse(req.body); console.log(JSON.stringify(json)); //get the certificate getCertificate(json.publicKeyURL, function(cert){ //read file […]

为什么Node.js只接受SAN中的证书IP地址,而不是CN?

正如我在答复 主机名/ IP时指出的, 与证书的名称不匹配,当请求的主机名被指定为证书的公用名称(CN)时,Node.js会成功validation主机名上的TLS证书。 Request : localhost Common Name: localhost => Success 现在,当我尝试使用相同的IP地址时,validation失败: Request : 192.168.178.31 Common Name: 192.168.178.31 => Fail 只有当我指定IP地址作为主题备用名称(SAN)时才有效: Request : 192.168.178.31 Common Name : 192.168.178.31 Subject Alternative Name: 192.168.178.31 => Success 正如创build证书时作为主机名(CN)的IP地址 答案中所述? (HTTPS主机名错误:应该是<ipAddress>) , 不build议在证书中使用IP地址[…]。 作为替代scheme,在解决SSL证书服务器名称的方式/我可以使用keytool添加替代名称的答案中build议使用? 将IP地址添加为SAN(这反过来在Node.js中工作)。 现在我的问题是: 不build议不意味着错误或禁止 。 除了不build议 Node.js不支持CN中的IP地址,或者为什么它会是一个风险(安全,无论…),还有什么特别的原因吗?

Node.js多个SSL证书

是否有可能让Node.js使用多个SSL证书? 我目前使用一个证书,但有一个新的证书与其他域匹配。 由于我的服务器位于负载平衡器的后面,因此有两种方法可以实现,并且我想匹配它们。 有没有办法使用两个证书,而不是创build一个两个匹配?

节点的证书在哪里?

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

无法validationNode.js中的第一个证书

我有一个Nodejs API,它使用ssl和https,所以我试图在不同的服务器上使用Express-js构build一个web应用程序。 进行GET请求时收到以下错误: events.js:141 throw er; // Unhandled 'error' event ^ Error: unable to verify the first certificate at Error (native) at TLSSocket.<anonymous> (_tls_wrap.js:1017:38) at emitNone (events.js:67:13) at TLSSocket.emit (events.js:166:7) at TLSSocket._init.ssl.onclienthello.ssl.oncertcb.TLSSocket._finishInit (_tls_wrap.js:582:8) at TLSWrap.ssl.onclienthello.ssl.oncertcb.ssl.onnewsession.ssl.onhandshakedone (_tls_wrap.js:424:38) 我试过以下,没有成功: 添加require('ssl-root-cas').inject(); 并在请求中rejectUnauthorized: false, 。 添加process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; 在我的主文件,这给了我一个Error: socket hang up 请求码: var service_bus = require('service_bus'); var error_engine […]

如何将NPMconfiguration为信任HTTPS代理的防火墙发行者?

我试图在企业防火墙后面的环境中使用NPM。 所述防火墙拦截所有httpsstream量并用其自己的CA签名…是否有办法“信任”这个CA,以便NPM能够真正的工作?

在localhost上为meteor开发设置(https)SSL

如何创build一个自签名的SSL证书在Mac 10.9的本地服务器上使用? 我需要我的本地主机作为https://localhost 我正在使用linkedin API。 这里解释了在本地主机上需要ssl的function。 https://developer.linkedin.com/documents/exchange-jsapi-tokens-rest-api-oauth-tokens 简而言之,在客户端授权我的应用程序访问他们的数据之后,linkedin会向客户端发送不记名令牌。 linkedin的内置JavaScript库会自动发送这个cookie到我的服务器/后端。 这个json文件信息被用于用户authentication。 但是,如果服务器不是https,linkedin将不会发送私人cookie。