Is there any way to access certificate information from a Chrome Extension Is there any way to access certificate information from a Chrome Extension google-chrome google-chrome

Is there any way to access certificate information from a Chrome Extension


2018 answer: webextensions (which use the Chrome extension API) can do this in Firefox 62

You'll need to make a WebExtension, which is also called a browser extension.

See accessing security information on MDN

You can also check out the docs for:

You'll need Firefox 62.

Here's a working background.js

var log = console.log.bind(console)log(`\n\nTLS browser extension loaded`)// https://developer.chrome.com/extensions/match_patternsvar ALL_SITES = { urls: ['<all_urls>'] }// Mozilla doesn't use tlsInfo in extraInfoSpec var extraInfoSpec = ['blocking']; // https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/webRequest/onHeadersReceivedbrowser.webRequest.onHeadersReceived.addListener(async function(details){    log(`\n\nGot a request for ${details.url} with ID ${details.requestId}`)    // Yeah this is a String, even though the content is a Number    var requestId = details.requestId    var securityInfo = await browser.webRequest.getSecurityInfo(requestId, {        certificateChain: true,        rawDER: false    });    log(`securityInfo: ${JSON.stringify(securityInfo, null, 2)}`)}, ALL_SITES, extraInfoSpec) log('Added listener')

manifest.json:

{    "manifest_version": 2,    "name": "Test extension",    "version": "1.0",    "description": "Test extension.",    "icons": {        "48": "icons/border-48.png"    },    "background": {        "scripts": ["background.js"]    },    "permissions": [        "webRequest",        "webRequestBlocking",        "<all_urls>"    ]}

enter image description here

It also may be implemented in Chromium once this code is merged.


It is currently not available, but there's the Chromium API proposal webRequest SSL Hooks (from 02/27/2012) which treats this topic.