1

私は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私の英語でごめんなさい!

4

0 に答える 0