在expressjs PEM例程上设置https:PEM_read_bio:无起始行

 临冬将至 发布于 2022-12-18 12:16

存在一些类似的线程,但没有一个检查答案或讨论.我正在尝试在快递js上设置https服务器,但我得到了

crypto.js:100
      c.context.setKey(options.key);
            ^
Error: error:0906D06C:PEM routines:PEM_read_bio:no start line

我产生我.csr.key文件与

  openssl req -nodes -newkey rsa:2048 -keyout myserver.key -out myserver.csr

一个建议是按照以下说明将.csr转换为.pem:http://silas.sewell.org/blog/2010/06/03/node-js-https-ssl-server-example/

那没用.

但是,express.js文档(http://nodejs.org/api/https.html)将这两个文件显示为.pem.如果这是问题,您如何将.key文件转换为.pem?这种威胁部分有用如何从.key和.crt文件中获取.pem文件?但如果有人知道expressjs需要什么,我觉得这是缺少的组件.

我如何检查文件在ANSI中是否正确,或者如果没有则转换它们?

还有一些关于文件是否应该以-----BEGIN ENCRYPTED PRIVATE KEY-----或开头的讨论-----BEGIN RSA PRIVATE KEY-----

任何帮助是极大的赞赏.

1 个回答
  • 所以我认为至少有一点术语混淆,你在那里的node.js例子没有帮助重命名一切.pem.

    以下是SSL工作原理的概述:

    您生成一对公钥和私钥.出于我们的目的,前者是您的"证书签名请求"(简称CSR),后者是您的私人签名密钥(只是"您的密钥").

    如果您想生成自签名证书(这对于本地测试目的很有用),您可以转身并使用您的密钥和CSR来生成证书.这个链接http://www.akadia.com/services/ssh_test_certificate.html非常明确地说明如何在基于*nix的系统上执行此操作.

    出于Web浏览器的目的,SSL证书需要由受信任的机构(例如证书颁发机构(CA))共同签名.您支付CA以共同签署您的证书,并证明您与浏览器供应商的真实性(当您的网站向浏览器提供其证书时,他们将为您的网站显示绿色挂锁).

    共同签名过程始于您将CSR上传到CA. 然后,他们将获取该CSR并生成您的证书.然后,他们将为您提供一些证书,证书,根证书以及可能的一些中间证书.

    然后,您需要形成一个组合证书,证明回溯到浏览器的真实性链.您只是通过连接证书,然后是以根证书结尾的中间证书(按照指定的顺序)完成此操作.这种组合证书是您提交给Web服务器的.

    为了使您的Web服务器能够通过SSL提供服务,您需要将您的(组合)证书作为其公共加密密钥(根据请求提供给Web浏览器)和您的私有加密密钥,以便它可以解密网络浏览器发送给它的流量.

    所以.现在考虑到所有这些,您应该使用您拥有的CSR并将其提供给您的CA,并获取各种证书,将它们连接起来,然后在您的快速服务器中使用您的私钥.

    2022-12-18 12:18 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有