gpt4 book ai didi

electron - 导入证书时的 Electron 加载页面

转载 作者:行者123 更新时间:2023-12-03 12:22:58 26 4
gpt4 key购买 nike

我正在使用https,如果使用的是自签名证书,我想提示用户是否要导入所需的证书。 (实际上,浏览器在加载没有可信证书的页面时会做同样的事情)

我发现 Electron 中有一个函数dialog.showCertificateTrustDialog([browserWindow, ]options, callback)可以正常工作。我想在出现certificate-error的情况下使用它。

像这样的东西:

app.on('certificate-error', (event, webContents, url, error, certificate, callback) => {
dialog.showCertificateTrustDialog({certificate:certificate, message: "some msg"},
() => {
if (was certificate ok) {
event.preventDefault();
callback(true);
}
else {
callback(false);
}
}
);
});

但是我不知道该怎么做 was certificate ok部分

是否有可能?还是我必须例如再次加载页面才能显示它?如果我在导入证书后运行该应用程序,则可以正常运行。否则,我只会得到一个空白窗口。

任何帮助表示赞赏,谢谢

最佳答案

目前,我已决定使用以下解决方案,但在我看来,它更像是一种hack。在再次调用showCertificateTrustDialog函数之后,我尝试再次加载页面,但是如果再次抛出certificate-error,我将忽略它。我仍然对其他解决方案持开放态度,因为我不喜欢这种解决方案

let certificateErrorRetry = false;

app.on('certificate-error', (event, webContents, url, error, certificate, callback) => {
certificateErrorRetry = !certificateErrorRetry;
if (certificateErrorRetry) {
const {dialog} = require('electron');
dialog.showCertificateTrustDialog({certificate: certificate, message: "some msg" }, () => {
myapp.win.loadURL(url);
});
}
else { show some error }
});

关于electron - 导入证书时的 Electron 加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52224562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com