Tag: 证书

错误:SELF_SIGNED_CERT_IN_CHAIN使用本地主机

在localhost上使用nodemailer时出现错误,导致内部服务器错误(500):错误:SELF_SIGNED_CERT_IN_CHAIN 我在这个问题上发现了这个线程: Azure上的Npm SELF_SIGNED_CERT_IN_CHAIN ,build议这样做: npm config set ca "" 但没有帮助。 也升级npm没有帮助: npm update -g

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': […]

是否有可能使用node.js和crypto签署一个Passbook清单?

我想弄清楚如何使用node.js和crypto签署iOS Passbook pass manifest.json。 这似乎应该是可能的,但我似乎无法创build一个合适的签名。 以下是我所尝试的: var crypto = require("crypto"); var fs = require('fs'); var manifest = fs.readFileSync('manifest.json'); var pem = fs.readFileSync('passbookdemo.pem'); var key = pem.toString('ascii'); var sign = crypto.createSign('RSA-SHA256'); sign.update(manifest); var sig = sign.sign(key); fs.writeFileSync('signature'); 我之前使用以下方法生成了passbookdemo.pem: openssl pkcs12 -in passbookdemo.p12 -out passbookdemo.pem -nodes 没有与passbookdemo.pem相关的密码。 我可以看到的一个可能的问题是,在签名过程中我没有合并Apple开发者关系证书,我相信这是一个要求。 另一种可能是我在crypto.createSign('RSA-SHA256');使用了不正确的参数crypto.createSign('RSA-SHA256'); 。 我不知道我应该用什么。 下面是Apple提供的一个Ruby代码示例,我可以使用它来正确签署清单。 def sign_manifest puts "Signing the […]

使用公共签名证书与服务器进行双向authentication,但使用私有CA的客户端

我是一个node-js的人,但我认为这只是证书/ CA。 我想使用由公共CA签名的证书来设置https服务器,以便所有浏览器都可以访问我的网站,而不会出现证书错误。 同时,我希望我的服务器提供双向httpsvalidation,以便服务器可以识别我的客户端,如果我的客户端正在使用证书。 客户端证书由我自己创build的CA签署。 当我让客户端连接到服务器,它会得到一个错误,称为Error: CERT_UNTRUSTED 。 但是我已经为服务器和客户端设置了“ca”和“agent”选项,所以我无法弄清楚我的错误。 我已经在我的Windows 8根证书上安装了自签名的CA,尽pipe我不认为它是真正需要的。 我的代码: 服务器 var options = { key:keyForCertificate, cert:certFromPublicCA, ca:[PublicCA, self-signedCA], requestCert: true, rejectUnauthorized: false }; var server = require('https').Server(options, require('express')()); server.listen(443); 客户 require('https').request({ host: "www.publicWebsite.com" , method: "GET" , port: 443 , headers: { host: "www.publicWebsite.com" } , ca:[PublicCA, self-signedCA], , path: "/" }, […]

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”)一起使用。

发送推送通知后,应用程序卡住“inputPEM密码”

我正在使用apn发送从node.js应用程序到苹果的推送通知。 我的代码: // send to development**** var dev_cert_path = path.join(__dirname, '..', 'cert.pem'); var dev_key_path = path.join(__dirname, '..', 'key.pem'); var devOptions = { "gateway": "gateway.sandbox.push.apple.com" , "cert": dev_cert_path, "key": dev_key_path, "passphrase":'XXXXX'}; var devApnConnection = new apn.Connection(devOptions) , devMyDevice = new apn.Device(token) , devNote = new apn.Notification(); devNote.expiry = Math.floor(Date.now() / 1000) + 3600; // Expires 1 […]

NodeJS无法读取ubuntu中的默认CA.

在我们的testing环境中,我们正在使用本公司签署的SSL连接到另一台服务器。 每次build立连接时,nodejs会抛出UNABLE_TO_VERIFY_LEAF_SIGNATURE 。 我已经通过设置rejectUnauthorized:falsefind了解决方法,但在我们的例子中这不适用。 将证书添加到/ etc / ssl / certs中,并使用环境variablesSSL_CERT_DIR进行testing,以使其成为/ etc / ssl anb / etc / ssl / certs ,但没有结果。 另外,在我们的文件的某个地方添加证书并将其添加到每个请求是不可取的。

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这实际上是什么意思 。 有人可以解释吗?

如何做到这一点PKCS7签署node.js?

所以我将一个ruby库移植到node.js,并需要创build一个PKCS7签名。 以下是rubylib正在做的事情: p12_certificate = OpenSSL::PKCS12::new(File.read('some-path.c12'), self.certificate_password) x509_certificate = OpenSSL::X509::Certificate.new(File.read('some-other-path.pem')) flag = OpenSSL::PKCS7::BINARY|OpenSSL::PKCS7::DETACHED signed = OpenSSL::PKCS7::sign(p12_certificate.certificate, p12_certificate.key, File.read('some-manifest'), [x509_certificate], flag) 我如何在节点中实现相同的function? 我认为这将是像这样的: crypto.createCredentials({ pfx : fs.readFileSync('some-cert.p12'), passphrase : this.certificate_password, cert : fs.readFileSync('some-path.pem','some-encoding'), }) 问题: 这是正确的方法吗? 我是否需要指定密钥,ca列表,crl列表或密码列表? 我应该用什么编码来读取证书? 什么是signed的线路设置相当于节点 什么是signed.to_der等价节点

OpenSSL错误 – 无法获得本地颁发者证书

我有一个简单的链设置,可以成功validation在这种情况下: $ openssl version OpenSSL 1.0.2m 2 Nov 2017 $ openssl verify -CAfile chain.pem cert.pem cert.pem: OK 但是,我在这些情况下得到错误: $ openssl verify -CAfile ca-cert.pem cert.pem cert.pem: C = US… error 2 at 1 depth lookup:unable to get issuer certificate 特别是无法获得发行人证书 。 另请参阅: $ openssl verify chain.pem chain.pem: C = US… error 20 at 0 depth lookup:unable […]