--- title: webRequest.getSecurityInfo() slug: Mozilla/Add-ons/WebExtensions/API/webRequest/getSecurityInfo tags: - API - Add-ons - Extensions - Method - Reference - WebExtensions - getSecurityInfo - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/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 {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}}.
Vous ne pouvez appeler cette fonction qu'à partir de l'écouteur {{WebExtAPIRef("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).
var gettingInfo = browser.webRequest.getSecurityInfo( requestId, // string options // object )
requestIdstring. ID de la requête pour laquelle vous souhaitez obtenir des informations de sécurité. Vous pouvez l'obtenir à partir de l'objet de details qui est passé dans n'importe quel écouteur d'événement webRequest.optionsobject. Un objet qui peut contenir l'une des propriétés suivantes, toutes facultatives :
certificateChain {{optional_inline}}boolean. Si true, l'objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}} retourné inclura toute la chaîne de certificats jusqu'à et y compris la racine de confiance. Si false, false.rawDER {{optional_inline}}boolean. Si true, chaque propriété {{WebExtAPIRef("webRequest.CertificateInfo", "CertificateInfo")}} dans le {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo.certificates")}} contiendra une propriété rawDER. Il contient le DER-encoded ASN.1 qui comprend les données du certificat.Une Promise qui se résout en un objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}}.
{{Compat("webextensions.api.webRequest.getSecurityInfo", 10)}}
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"]
);
{{WebExtExamples}}