From dc6ffb605add99009d5f16328a3e560b0fa9f795 Mon Sep 17 00:00:00 2001 From: dimitri Date: Tue, 20 Oct 2020 16:53:03 +0200 Subject: [PATCH] Added some dummy TLS client auth --- src/electron-main.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/electron-main.js b/src/electron-main.js index 304f5f14..2f7c3117 100644 --- a/src/electron-main.js +++ b/src/electron-main.js @@ -985,6 +985,41 @@ app.on('activate', () => { mainWindow.show(); }); +app.on('select-client-certificate', (event, webContents, url, list, callback) => { + console.log('select-client-certificate', url, list) + + const clientCertPickFirst = vectorConfig['clientCertPickFirst'] + const clientCertFingerprint = vectorConfig['clientCertFingerprint'] + + if (clientCertFingerprint) { + let found = false + for (const cert of list) { + if (cert.fingerprint === clientCertFingerprint) { + console.log('Selected client certificate ' + cert.fingerprint) + event.preventDefault() + callback(cert) + found = true + break + } + } + if(found === false) { + console.log('No certificate found') + } + } else if (clientCertPickFirst === true && list.length > 0) { + console.log('Selected first available client certificate ' + list[0].fingerprint) + event.preventDefault() + callback(list[0]) + } else { + console.log('No client certificate available') + } +}) + +app.on('certificate-error', (event, webContents, url, error, certificate, callback) => { + // Ensure we don't trust certificate causing a verification error + console.log('Untrusted server certificate') + callback(false) +}) + function beforeQuit() { global.appQuitting = true; if (mainWindow) {