私はFirefoxアドオンを書いています!ウェブサイトが hsts を使用しているかどうかを知りたいので、https: //dxr.mozilla.org/comm-central/source/mozilla/security/manager/ssl/nsISiteSecurityService.idl から関数 isSecureURI() を呼び出しますが、常に、私がそれをチェックすると、結果としてfalseが返されます!
ここに私のコードがあります
var activeBrowserWindow = require("sdk/window/utils").getMostRecentBrowserWindow();
Cu.import("resource://gre/modules/Services.jsm");
var gSSService = Cc["@mozilla.org/ssservice;1"]
.getService(Ci.nsISiteSecurityService);
// For now, STS data gets stored in permissions.sqlite.
// See https://bugzilla.mozilla.org/show_bug.cgi?id=775370.
var permissionManager = Cc["@mozilla.org/permissionmanager;1"]
.getService(Ci.nsIPermissionManager);
// We should not store anything permanent in permissions.sqlite in private
// browsing mode.
var FLAGS = require("sdk/private-browsing").isPrivate(activeBrowserWindow) ?
Ci.nsISocketProvider.NO_PERMANENT_STORAGE : 0;
var STS_TYPE = Ci.nsISiteSecurityService.HEADER_HSTS;
var tabs = require("sdk/tabs");
tabs.on('ready', function(tab) {
var URL = tab.url;
var url = require("sdk/url").URL(URL);
var hostname = url.hostname;
//console.log(hostname);
function isSecureUri(hostname) {
var uri = Services.io.newURI("https://" + hostname, null, null);
var resultURI = gSSService.isSecureURI(STS_TYPE, uri, FLAGS);
return resultURI;
}
お時間をいただきありがとうございました!
ps私の英語でごめんなさい!