webRequest.getSecurityInfo()
Utilisez cette fonction pour obtenir des informations détaillées sur la connexion TLS associée à une demande particulière..
Vous passez à cette fonction la requestId
pour la requête en question, et quelques paramètres supplémentaires optionnels. Il retourne une Promise
qui sera résolue à un objet SecurityInfo
.
Vous ne pouvez appeler cette fonction qu'à partir de l'écouteur webRequest.onHeadersReceived
. La requestId
peut être trouvée dans l'objet details
object qui est passé dans l'écouteur.
Vous devez également passer l'option "blocking" à webRequest.onHeadersReceived.addListener()
. Ainsi, pour utiliser cette API, vous devez avoir la permission de l'API "webRequestBlocking", ainsi que les permissions normales nécessaires pour utiliser les écouteurs webRequest
(la permission "webRequest" et la permission hôte pour le hôte).
Syntaxe
var gettingInfo = browser.webRequest.getSecurityInfo(
requestId, // string
options // object
)
Paramètres
requestId
string
. ID de la requête pour laquelle vous souhaitez obtenir des informations de sécurité. Vous pouvez l'obtenir à partir de l'objet dedetails
qui est passé dans n'importe quel écouteur d'événementwebRequest
.options
object
. Un objet qui peut contenir l'une des propriétés suivantes, toutes facultatives :-
certificateChain
Facultatifboolean
. Sitrue
, l'objetSecurityInfo
retourné inclura toute la chaîne de certificats jusqu'à et y compris la racine de confiance. Sifalse
,
il n'inclura que le certificat du serveur. La valeur par défaut estfalse
.rawDER
Facultatifboolean
. Si true, chaque propriétéCertificateInfo
dans leSecurityInfo.certificates
contiendra une propriétérawDER
. Il contient le DER-encoded ASN.1 qui comprend les données du certificat.
Valeur retournée
Une Promise
qui se résout en un objet SecurityInfo
.
Compatibilité du navigateur
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Exemples
Cet exemple écoute toutes les requêtes HTTPS à "mozilla.org" ou ses sous-domaines, et enregistre le nom de l'objet dans le certificat du serveur :
async function logSubject(details) {
try {
let securityInfo = await browser.webRequest.getSecurityInfo(details.requestId, {});
console.log(details.url);
if (securityInfo.state === "secure" || securityInfo.state === "weak") {
console.log(securityInfo.certificates[0].subject);
}
}
catch(error) {
console.error(error);
}
}
browser.webRequest.onHeadersReceived.addListener(logSubject,
{urls: ["https://*.mozilla.org/*"]},
["blocking"]
);
Cet exemple écoute toutes les requêtes HTTPS à "mozilla.org" ou ses sous-domaines, et enregistre le nom dans le certificat racine de confiance :
async function logRoot(details) {
try {
let securityInfo = await browser.webRequest.getSecurityInfo(
details.requestId,
{"certificateChain": true}
);
console.log(details.url);
if (securityInfo.state === "secure" || securityInfo.state === "weak") {
console.log(securityInfo.certificates[securityInfo.certificates.length - 1].issuer);
}
}
catch(error) {
console.error(error);
}
}
browser.webRequest.onHeadersReceived.addListener(logRoot,
{urls: ["https://*.mozilla.org/*"]},
["blocking"]
);