如何使用mojolicious中间证书

时间:2016-06-22 12:11:21

标签: perl ssl-certificate mojolicious

Mojolicious允许我在启动应用时指定ssl证书和密钥:

folium.GeoJson(geojson_file).add_to(map)

我正在尝试使用fastssl证书。 连接到此服务会导致wget相当不快:

> ./myapp.pl prefork --listen 'https://*:8485&cert=my.crt&key=my.key'

没有什么大惊喜,因为我在其他应用程序中使用rapidssl证书 同时指定一个中间证书。所以我试图通过将中间证书连接到站点证书来添加它,但这对结果没有影响。

我还尝试将中间证书和根证书放在一个单独的文件中,并以:

开头
$ wget https://example.com:8485/
--2016-06-22 09:50:49--  https://example.com:8485/
Resolving example.com (example.com)... 1.3.2.4
Connecting to example.com (example.com)|1.3.2.4|:8485... connected.
ERROR: cannot verify example.com's certificate, issued by `/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA - G3':
  Unable to locally verify the issuer's authority.
To connect to example.com insecurely, use `--no-check-certificate'.

但结果同样令人失望:

> ./myapp.pl prefork --listen 'https://*:8485&cert=my.crt&key=my.key&ca=myca.crt'

请告知。

1 个答案:

答案 0 :(得分:1)

如果您希望服务器不仅将叶(服务器)证书以及任何其他(中间)证书发送到客户端,那么您只需以正确的顺序将这些证书添加到证书文件中。这意味着你的my.crt看起来应该是这样的

----BEGIN CERTIFICATE-----
MII... the leaf certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MII... the first intermediate certificate, i.e. the one which signed the leaf cert
-----END CERTIFICATE-----
...