在 javascript 中正确使用 SSL 证书和 Soup

proper use of SSL certificate with Soup in javascript

我想问一下如何在客户端站点上通过证书正确使用 Soup in gnome-shell 扩展。

我的代码片段如下所示:

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"});;

已编辑:

感谢您的帮助。

您可能必须在 class 中实施 vfunc_verify_chain()。 (我不清楚 Gio.TlsDatabase 是否没有提供此虚函数的默认实现,或者它提供了,这是一个错误。)