Electron 导入证书时的电子加载页面

Electron 导入证书时的电子加载页面,electron,Electron,我使用的是https,如果是自签名证书,我想提示用户是否要导入所需的证书。(实际上,浏览器在加载没有受信任证书的页面时所做的事情与此相同) 我发现electron中有一个函数dialog.showCertificateTrustDialog([browserWindow,]options,callback),它工作得很好。我想在出现证书错误时使用它 大概是这样的: app.on('certificate-error', (event, webContents, url, error, certi

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

我发现electron中有一个函数
dialog.showCertificateTrustDialog([browserWindow,]options,callback)
,它工作得很好。我想在出现
证书错误时使用它

大概是这样的:

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);
            }
        }
    );
});
但是我不知道怎么做
是不是证书ok
部分

可能吗?或者我必须再次加载页面才能显示它吗?如果我在已经导入证书的情况下运行应用程序,它就可以正常工作。否则,我只能得到一个空白窗口


非常感谢您的帮助,谢谢您目前,我已决定使用以下解决方案,但在我看来,它更像是一个黑客。再次调用showCertificateTrustDialog函数后,我尝试再次加载页面,但如果再次抛出
证书错误
,我将忽略它。因为我不喜欢这个,所以我仍然对其他解决方案持开放态度

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