当前位置: 首页 > 知识库问答 >
问题:

nginx SSL无起始行:期望:可信证书

习华灿
2023-03-14

我没有主意,我需要帮助!

我使用Openssl创建SSL,其中包括:

openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout key.pem -out cert.pem -days 3650

cert.pem如下所示:

-----BEGIN CERTIFICATE-----
cert
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
key
-----END PRIVATE KEY-----
volumes:
  - ./sites:/etc/nginx/conf.d
  - ./conf/nginx.conf:/etc/nginx/nginx.conf
  - ./ssl/cert.pem:/etc/nginx/ssl/cert.pem
  - ./ssl/key.pem:/etc/nginx/ssl/key.pem
  listen    443 ssl;
  server_name       localhost;
  ssl_certificate   ssl/cert.pem;
  ssl_certificate_key   ssl/key.pem;
web_1    | 2018/08/17 16:38:47 [emerg] 1#1: PEM_read_bio_X509_AUX("/etc/nginx/ssl/cert.pem") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: TRUSTED CERTIFICATE)
web_1    | nginx: [emerg] PEM_read_bio_X509_AUX("/etc/nginx/ssl/cert.pem") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: TRUSTED CERTIFICATE)

共有1个答案

暨高洁
2023-03-14

一个“普通”证书,一旦用PEM编码,将如下所示:

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

(...der结构的Base64编码)

这通常是任何支持TLS的应用程序想要向远程端显示其身份时所需要的(使用关联的密钥,通常在单独的文件中)。

-----BEGIN TRUSTED CERTIFICATE-----
...
-----END TRUSTED CERTIFICATE-----

证书由一个“证书颁发机构”通过一个或多个中间机构签名。这将建立一个信任链,直到根证书,在根证书中,颁发者等于主体,该证书将自行签名。

您自己生成了证书,因此这是一个“自签名”证书,在技术上与CA证书无法区分,只是默认情况下,没有任何系统(包括您自己的系统)会在没有特定配置的情况下信任此类证书。

这基本上是错误消息告诉您的:应用程序说它正在加载一个基于您的配置的证书,它无法验证(因为它是自签名的),同时您没有明确地将它配置为信任它。

 类似资料:
  • 这个问题似乎不是关于特定的编程问题、软件算法或主要由程序员使用的软件工具。如果您认为这个问题在另一个Stack Exchange网站上是主题,您可以发表评论来解释这个问题在哪里可以得到回答。 我需要一个哈希名称的文件才能在隧道的CApath目录中发布。我在这个目录中有一些证书,它们运行良好。另外,我有一个服务器服务器和服务器密钥: 当我尝试计算新证书的哈希值时,我收到一个错误: 据我所知,我必须签

  • 我有一本书。密钥文件,当我这样做时 我得到 我也有一个朋友。cer文件,当我这样做时 我明白了 但是如果像这里指出的那样,我运行这样的命令: 我得到 但这似乎对钥匙不起作用,因为当我跑的时候

  • GHC有很多可以执行的优化,但我不知道它们都是什么,也不知道它们在什么情况下执行的可能性有多大。 我的问题是:我可以期望它每次应用什么转换,或者几乎如此?如果我看一段经常执行(评估)的代码,我的第一个想法是“嗯,也许我应该优化它”,在这种情况下,我的第二个想法应该是“不要想它,GHC得到了这个”? 我在读《流融合:从列表到流再到什么都没有》这篇论文,他们使用的将列表处理改写成另一种形式的技术,GH

  • 这是来自api的json数组数据/json对象数据,获取错误应为begin\u数组,但在第3行和第2列路径中是begin\u对象$ 这是来自api的json数组数据/json对象数据,获取错误应为begin\u数组,但在第3行和第2列路径中是begin\u对象$ 这是来自api的json数组数据/json对象数据,获取错误应为begin\u数组,但在第3行和第2列路径中是begin\u对象$ 这是

  • 我在实验室工作。我有一个基于Windows的CA和一个IIS上的SSL安全网站(在同一台机器上),其中有来自该CA的证书问题。 当我使用SSL在Firefox中浏览此站点时,我得到一个错误“证书不可信,因为发行者证书未知。” 如果我去工具店- 将CA的证书添加到授权列表中,告诉Firefox,“嘿……你知道这个CA,去相信它发布的证书吧?”这难道不是重点吗 如何解决这个问题?

  • 问题内容: 我有一个.key文件,当我这样做时 我懂了 我也有一个.cer文件,当我这样做时 我懂了 但是,如果按照的指示运行,则应执行以下命令: 我懂了 但这似乎不适用于该键,因为当我运行时 我懂了 如何获得私钥及其证书? 问题答案: 看来您有格式为的证书,而不是。这就是为什么当您提供命令行参数(告诉openssl期望什么样的输入格式)时它可以正常工作的原因。 您的私钥可能使用了相同的编码。看起