为了账号安全,请及时绑定邮箱和手机立即绑定

使用自签名 SSL 证书

使用自签名 SSL 证书

Go
慕工程0101907 2021-12-20 19:01:25
我正在尝试将此证书与 Nginx 反向代理后面的 InfluxDB 其余端点和我用 GoLang 编写的简单客户端之间的连接一起使用。我开始使用使用 openssl 生成的 SSL 证书,该链接中的教程指导我创建和自唱证书。但是每次尝试建立此连接时都会出现此错误:x509: certificate signed by unknown authority (possibly because of "x509: invalid signature: parent certificate cannot sign this kind of certificate" while trying to verify candidate authority certificate "<My Certificate Name>")我还没有找到解决这个问题的方法,但我会展示我认为相关的内容:据我所知,InfluxDB 的 nginx 规则很容易编写,最终看起来像这样:# InfluxDBserver {    ssl                   on;    ssl_protocols         TLSV1.2 TLSV1.1 TLSV1;    ssl_certificate       /etc/nginx/server.crt;    ssl_certificate_key  /etc/nginx/server.key;    listen                8086;    access_log            /var/log/nginx/influxdb.access.log;    error_log             /var/log/nginx/influxdb.error.log;    location / {      include /etc/nginx/conf.d/options.conf.inc;      include /etc/nginx/conf.d/auth.conf.inc;      proxy_pass http://127.0.0.1:8087;    }  }options.conf.inc 在哪里:  if ($request_method = OPTIONS) {    add_header Access-Control-Allow-Origin $served_at;    add_header Access-Control-Allow-Methods "GET, OPTIONS";    add_header Access-Control-Allow-Headers "Authorization";    add_header Access-Control-Allow-Credentials "true";    add_header Content-Length 0;    add_header Content-Type text/plain;    return 200;  }auto.conf.inc 在哪里:    add_header Access-Control-Allow-Headers "Authorization";    add_header Access-Control-Allow-Credentials "true";    auth_basic "Restricted";    auth_basic_user_file <pathTo>.htpasswd;    error_page 401 /401.html;正如您在我的 golang 代码中看到的那样,我InsecureSkipVerify在 tlsConfig 对象上使用了标志。将此设置为 true 会使一切正常,但似乎本质上不好做,因为它首先破坏了使用证书的很多意义。我留下的选项似乎是生成 CA 证书并使用 THAT 来签署我的常规证书,但这似乎也比我需要做的更像是一种黑客行为。
查看完整描述

1 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

该错误消息来自 go 的CheckSignatureFrom方法。看起来它需要将 CA 标志basicConstraints设置为 true,并且如果该keyUsage字段存在(它在您链接的示例中,但它不在我见过的大多数使用自签名证书的说明中),它必须包含keyCertSign价值。

当我遇到类似问题时,我创建了一个独立于服务器证书的 CA。这需要更多的工作,但它不是“黑客”;如果将自签名证书设置为正确识别为自己的 CA 的任何内容是更黑客的解决方案。


查看完整回答
反对 回复 2021-12-20
  • 1 回答
  • 0 关注
  • 237 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号