如何解决在 JavaScript 中正确使用带有 Soup 的 SSL 证书
我想问一下如何在客户端站点上通过证书正确使用 gnome-shell 扩展中的 Soup。
我的代码片段如下所示:
const Soup = imports.gi.soup;
const GObject = imports.gi.GObject;
const Gio = imports.gi.Gio;
const TlsDatabase = GObject.registerClass({
Implements: [Gio.TlsFileDatabase],Properties: {
'anchors': GObject.ParamSpec.override('anchors',Gio.TlsFileDatabase),},class TlsDatabase extends Gio.TlsDatabase {});
let session = Soup.Session.new();
session.ssl_strict = true;
session.tls_database = new TlsDatabase({anchors: "path.pem"});;
- 在请求之后,我总是在答案中得到 Gio.TlsCertificateFlags.GENERIC_ERROR。
- 没有设置 session.tls_database,错误代码是 3,我没找到是什么意思。所以发生了一些事情,我怀疑 TlsDatabase 不正常。
- 使用
session.ssl_strict = false
,它可以工作并且我得到了答案,但我想要一个安全的连接。 - 证书和服务器站点没问题,我已经用 curl
curl --ssl --cacert path.pem ...
验证过了。它有效。
已编辑:
感谢您的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。