[
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICertOverride",
        "members": [
          {
            "name": "asciiHost",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "port",
            "readonly": true,
            "type": "i32"
          },
          {
            "name": "hostPort",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "fingerprint",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "originAttributes",
            "readonly": true,
            "type": "any"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICertOverrideService",
        "members": [
          {
            "args": [
              {
                "name": "aHostName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aPort",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aOriginAttributes",
                "optional": false,
                "type": "any"
              },
              {
                "name": "aCert",
                "optional": false,
                "type": "nsIX509Cert"
              },
              {
                "name": "aTemporary",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "rememberValidityOverride",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aHostName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aPort",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aOriginAttributes",
                "optional": false,
                "type": "any"
              },
              {
                "name": "aCert",
                "optional": false,
                "type": "nsIX509Cert"
              },
              {
                "name": "aIsTemporary",
                "optional": false,
                "type": "OutParam<boolean>"
              }
            ],
            "iid_is": null,
            "name": "hasMatchingOverride",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aHostName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aPort",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aOriginAttributes",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "clearValidityOverride",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "clearAllOverrides",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getOverrides",
            "type": "nsICertOverride[]"
          },
          {
            "args": [
              {
                "name": "aDisable",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "setDisableAllSecurityChecksAndLetAttackersInterceptMyData",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aUserContextId",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aDisable",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "setDisableAllSecurityChecksAndLetAttackersInterceptMyDataForUserContext",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aUserContextId",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "resetDisableAllSecurityChecksAndLetAttackersInterceptMyDataForUserContext",
            "type": "void"
          },
          {
            "name": "securityCheckDisabled",
            "readonly": true,
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsICertOverrideService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": true,
        "consts": [],
        "enums": [],
        "id": "nsICertStorageCallback",
        "members": [
          {
            "args": [
              {
                "name": "rv",
                "optional": false,
                "type": "nsresult"
              },
              {
                "name": "result",
                "optional": false,
                "type": "nsIVariant"
              }
            ],
            "iid_is": null,
            "name": "done",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIRevocationState",
        "members": [
          {
            "name": "state",
            "readonly": true,
            "type": "i16"
          }
        ]
      },
      {
        "base": "nsIRevocationState",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIIssuerAndSerialRevocationState",
        "members": [
          {
            "name": "issuer",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "serial",
            "readonly": true,
            "type": "string"
          }
        ]
      },
      {
        "base": "nsIRevocationState",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsISubjectAndPubKeyRevocationState",
        "members": [
          {
            "name": "subject",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "pubKey",
            "readonly": true,
            "type": "string"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICertInfo",
        "members": [
          {
            "name": "cert",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "subject",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "trust",
            "readonly": true,
            "type": "i16"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "DATA_TYPE_REVOCATION",
            "value": 1
          },
          {
            "name": "DATA_TYPE_CERTIFICATE",
            "value": 2
          },
          {
            "name": "STATE_UNSET",
            "value": 0
          },
          {
            "name": "STATE_ENFORCE",
            "value": 1
          },
          {
            "name": "STATE_NOT_ENROLLED",
            "value": 2
          },
          {
            "name": "STATE_NOT_COVERED",
            "value": 3
          },
          {
            "name": "STATE_NO_FILTER",
            "value": 4
          },
          {
            "name": "TRUST_INHERIT",
            "value": 0
          },
          {
            "name": "TRUST_ANCHOR",
            "value": 1
          }
        ],
        "enums": [],
        "id": "nsICertStorage",
        "members": [
          {
            "args": [
              {
                "name": "type",
                "optional": false,
                "type": "u8"
              },
              {
                "name": "callback",
                "optional": false,
                "type": "nsICertStorageCallback"
              }
            ],
            "iid_is": null,
            "name": "hasPriorData",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "revocations",
                "optional": false,
                "type": "nsIRevocationState[]"
              },
              {
                "name": "callback",
                "optional": false,
                "type": "nsICertStorageCallback"
              }
            ],
            "iid_is": null,
            "name": "setRevocations",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "issuer",
                "optional": false,
                "type": "u8[]"
              },
              {
                "name": "serial",
                "optional": false,
                "type": "u8[]"
              },
              {
                "name": "subject",
                "optional": false,
                "type": "u8[]"
              },
              {
                "name": "pubkey",
                "optional": false,
                "type": "u8[]"
              }
            ],
            "iid_is": null,
            "name": "getRevocationState",
            "type": "i16"
          },
          {
            "args": [
              {
                "name": "callback",
                "optional": false,
                "type": "nsICertStorageCallback"
              }
            ],
            "iid_is": null,
            "name": "getCRLiteFilterHashes",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "filter",
                "optional": false,
                "type": "u8[]"
              },
              {
                "name": "callback",
                "optional": false,
                "type": "nsICertStorageCallback"
              }
            ],
            "iid_is": null,
            "name": "setFullCRLiteFilter",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "delta",
                "optional": false,
                "type": "u8[]"
              },
              {
                "name": "filename",
                "optional": false,
                "type": "string"
              },
              {
                "name": "callback",
                "optional": false,
                "type": "nsICertStorageCallback"
              }
            ],
            "iid_is": null,
            "name": "addCRLiteDelta",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "callback",
                "optional": false,
                "type": "nsICertStorageCallback"
              }
            ],
            "iid_is": null,
            "name": "testNoteCRLiteUpdateTime",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "certs",
                "optional": false,
                "type": "nsICertInfo[]"
              },
              {
                "name": "callback",
                "optional": false,
                "type": "nsICertStorageCallback"
              }
            ],
            "iid_is": null,
            "name": "addCerts",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "cert",
                "optional": false,
                "type": "string"
              },
              {
                "name": "subject",
                "optional": false,
                "type": "string"
              },
              {
                "name": "trust",
                "optional": false,
                "type": "i16"
              }
            ],
            "iid_is": null,
            "name": "TestHelperAddCert",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "hashes",
                "optional": false,
                "type": "string[]"
              },
              {
                "name": "callback",
                "optional": false,
                "type": "nsICertStorageCallback"
              }
            ],
            "iid_is": null,
            "name": "removeCertsByHashes",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "subject",
                "optional": false,
                "type": "u8[]"
              }
            ],
            "iid_is": null,
            "name": "findCertsBySubject",
            "type": "u8[][]"
          },
          {
            "args": [
              {
                "name": "hashes",
                "optional": false,
                "type": "u8[][]"
              }
            ],
            "iid_is": null,
            "name": "hasAllCertsByHash",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "cert_hash",
                "optional": false,
                "type": "u8[]"
              }
            ],
            "iid_is": null,
            "name": "findCertByHash",
            "type": "u8[]"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "GetRemainingOperationCount",
            "type": "i32"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsICertStorage.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICertTreeItem",
        "members": [
          {
            "name": "cert",
            "readonly": true,
            "type": "nsIX509Cert"
          }
        ]
      },
      {
        "base": "nsITreeView",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICertTree",
        "members": [
          {
            "args": [
              {
                "name": "cache",
                "optional": false,
                "type": "nsIX509Cert[]"
              },
              {
                "name": "type",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "loadCertsFromCache",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "index",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "getCert",
            "type": "nsIX509Cert"
          },
          {
            "args": [
              {
                "name": "index",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "getTreeItem",
            "type": "nsICertTreeItem"
          },
          {
            "args": [
              {
                "name": "index",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "deleteEntryObject",
            "type": "void"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsICertTree.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICertificateDialogs",
        "members": [
          {
            "args": [
              {
                "name": "ctx",
                "optional": false,
                "type": "nsIInterfaceRequestor"
              },
              {
                "name": "cert",
                "optional": false,
                "type": "nsIX509Cert"
              },
              {
                "name": "trust",
                "optional": false,
                "type": "OutParam<u32>"
              }
            ],
            "iid_is": null,
            "name": "confirmDownloadCACert",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "ctx",
                "optional": false,
                "type": "nsIInterfaceRequestor"
              },
              {
                "name": "password",
                "optional": false,
                "type": "OutParam<string>"
              }
            ],
            "iid_is": null,
            "name": "setPKCS12FilePassword",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "ctx",
                "optional": false,
                "type": "nsIInterfaceRequestor"
              },
              {
                "name": "password",
                "optional": false,
                "type": "OutParam<string>"
              }
            ],
            "iid_is": null,
            "name": "getPKCS12FilePassword",
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsICertificateDialogs.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": true,
        "consts": [],
        "enums": [],
        "id": "nsIClientAuthDialogCallback",
        "members": [
          {
            "args": [
              {
                "name": "cert",
                "optional": false,
                "type": "nsIX509Cert"
              },
              {
                "name": "rememberDuration",
                "optional": false,
                "type": "nsIClientAuthRememberService.Duration"
              }
            ],
            "iid_is": null,
            "name": "certificateChosen",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIClientAuthDialogService",
        "members": [
          {
            "args": [
              {
                "name": "hostname",
                "optional": false,
                "type": "string"
              },
              {
                "name": "certArray",
                "optional": false,
                "type": "nsIX509Cert[]"
              },
              {
                "name": "loadContext",
                "optional": false,
                "type": "nsILoadContext"
              },
              {
                "name": "caNames",
                "optional": false,
                "type": "u8[][]"
              },
              {
                "name": "callback",
                "optional": false,
                "type": "nsIClientAuthDialogCallback"
              }
            ],
            "iid_is": null,
            "name": "chooseCertificate",
            "type": "void"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsIClientAuthDialogService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIClientAuthRememberRecord",
        "members": [
          {
            "name": "asciiHost",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "dbKey",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "entryKey",
            "readonly": true,
            "type": "string"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [
          {
            "id": "Duration",
            "variants": [
              {
                "name": "Once",
                "value": 0
              },
              {
                "name": "Permanent",
                "value": 1
              },
              {
                "name": "Session",
                "value": 2
              }
            ]
          }
        ],
        "id": "nsIClientAuthRememberService",
        "members": [
          {
            "args": [
              {
                "name": "key",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "forgetRememberedDecision",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getDecisions",
            "type": "nsIClientAuthRememberRecord[]"
          },
          {
            "args": [
              {
                "name": "aHostName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "originAttributes",
                "optional": false,
                "type": "any"
              },
              {
                "name": "aClientCert",
                "optional": false,
                "type": "nsIX509Cert"
              },
              {
                "name": "aDuration",
                "optional": false,
                "type": "nsIClientAuthRememberService.Duration"
              }
            ],
            "iid_is": null,
            "name": "rememberDecisionScriptable",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aHostName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "originAttributes",
                "optional": false,
                "type": "any"
              },
              {
                "name": "aCertDBKey",
                "optional": false,
                "type": "OutParam<string>"
              }
            ],
            "iid_is": null,
            "name": "hasRememberedDecisionScriptable",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "clearRememberedDecisions",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aHostName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aOriginAttributes",
                "optional": false,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "deleteDecisionsByHost",
            "type": "void"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsIClientAuthRememberService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "ContentSignatureProdRoot",
            "value": 1
          },
          {
            "name": "ContentSignatureStageRoot",
            "value": 2
          },
          {
            "name": "ContentSignatureDevRoot",
            "value": 3
          },
          {
            "name": "ContentSignatureLocalRoot",
            "value": 4
          }
        ],
        "enums": [],
        "id": "nsIContentSignatureVerifier",
        "members": [
          {
            "args": [
              {
                "name": "aData",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aContentSignatureHeader",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aCertificateChain",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aHostname",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aTrustedRoot",
                "optional": false,
                "type": "AppTrustedRoot"
              }
            ],
            "iid_is": null,
            "name": "asyncVerifyContentSignature",
            "type": "Promise<any>"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsIContentSignatureVerifier.idl",
    "typedefs": [
      [
        "AppTrustedRoot",
        "u32"
      ],
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "MD5",
            "value": 2
          },
          {
            "name": "SHA1",
            "value": 3
          },
          {
            "name": "SHA256",
            "value": 4
          },
          {
            "name": "SHA384",
            "value": 5
          },
          {
            "name": "SHA512",
            "value": 6
          }
        ],
        "enums": [],
        "id": "nsICryptoHash",
        "members": [
          {
            "args": [
              {
                "name": "aAlgorithm",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "init",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aAlgorithm",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "initWithString",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aData",
                "optional": false,
                "type": "u8[]"
              },
              {
                "name": "aLen",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "update",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aStream",
                "optional": false,
                "type": "nsIInputStream"
              },
              {
                "name": "aLen",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "updateFromStream",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aASCII",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "finish",
            "type": "string"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsICryptoHash.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICtapCableChannel",
        "members": [
          {
            "name": "hasKeys",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aDecryptKey",
                "optional": false,
                "type": "u8[]"
              },
              {
                "name": "aEncryptKey",
                "optional": false,
                "type": "u8[]"
              }
            ],
            "iid_is": null,
            "name": "initializeKeys",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aPlainText",
                "optional": false,
                "type": "u8[]"
              }
            ],
            "iid_is": null,
            "name": "encrypt",
            "type": "u8[]"
          },
          {
            "args": [
              {
                "name": "aCipherText",
                "optional": false,
                "type": "u8[]"
              }
            ],
            "iid_is": null,
            "name": "decrypt",
            "type": "u8[]"
          }
        ]
      },
      {
        "base": "nsICtapCableChannel",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICtapCableInitiator",
        "members": [
          {
            "name": "handshakeHash",
            "readonly": true,
            "type": "u8[]"
          }
        ]
      },
      {
        "base": "nsICtapCableChannel",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICtapCableResponder",
        "members": [
          {
            "name": "handshakeHash",
            "readonly": true,
            "type": "u8[]"
          },
          {
            "name": "responseMessage",
            "readonly": true,
            "type": "u8[]"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsICtapCableChannel.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICtapCableInitiatorHandshake",
        "members": [
          {
            "name": "initialMessage",
            "readonly": true,
            "type": "u8[]"
          },
          {
            "name": "consumed",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aResponseMessage",
                "optional": false,
                "type": "u8[]"
              }
            ],
            "iid_is": null,
            "name": "processHandshakeResponse",
            "type": "nsICtapCableInitiator"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsICtapCableHandshakeService",
        "members": [
          {
            "args": [
              {
                "name": "aPsk",
                "optional": false,
                "type": "u8[]"
              },
              {
                "name": "aLocalIdentity",
                "optional": false,
                "type": "u8[]"
              }
            ],
            "iid_is": null,
            "name": "newQrInitiatedInitiatorHandshake",
            "type": "nsICtapCableInitiatorHandshake"
          },
          {
            "args": [
              {
                "name": "aPsk",
                "optional": false,
                "type": "u8[]"
              },
              {
                "name": "aPeerPubKey",
                "optional": false,
                "type": "u8[]"
              },
              {
                "name": "aInitialMessage",
                "optional": false,
                "type": "u8[]"
              }
            ],
            "iid_is": null,
            "name": "newQrInitiatedResponder",
            "type": "nsICtapCableResponder"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsICtapCableHandshake.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [
          {
            "id": "DataStorage",
            "variants": [
              {
                "name": "AlternateServices",
                "value": 0
              },
              {
                "name": "ClientAuthRememberList",
                "value": 1
              },
              {
                "name": "SiteSecurityServiceState",
                "value": 2
              },
              {
                "name": "SiteIntegrityServiceState",
                "value": 3
              }
            ]
          }
        ],
        "id": "nsIDataStorageManager",
        "members": [
          {
            "args": [
              {
                "name": "dataStorage",
                "optional": false,
                "type": "nsIDataStorageManager.DataStorage"
              }
            ],
            "iid_is": null,
            "name": "get",
            "type": "nsIDataStorage"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [
          {
            "id": "DataType",
            "variants": [
              {
                "name": "Persistent",
                "value": 0
              },
              {
                "name": "Private",
                "value": 1
              },
              {
                "name": "Temporary",
                "value": 2
              }
            ]
          }
        ],
        "id": "nsIDataStorage",
        "members": [
          {
            "args": [
              {
                "name": "key",
                "optional": false,
                "type": "string"
              },
              {
                "name": "type",
                "optional": false,
                "type": "nsIDataStorage.DataType"
              }
            ],
            "iid_is": null,
            "name": "get",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "key",
                "optional": false,
                "type": "string"
              },
              {
                "name": "value",
                "optional": false,
                "type": "string"
              },
              {
                "name": "type",
                "optional": false,
                "type": "nsIDataStorage.DataType"
              }
            ],
            "iid_is": null,
            "name": "put",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "key",
                "optional": false,
                "type": "string"
              },
              {
                "name": "type",
                "optional": false,
                "type": "nsIDataStorage.DataType"
              }
            ],
            "iid_is": null,
            "name": "remove",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "clear",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "isReady",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getAll",
            "type": "nsIDataStorageItem[]"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIDataStorageItem",
        "members": [
          {
            "name": "key",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "value",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "type",
            "readonly": true,
            "type": "nsIDataStorage.DataType"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsIDataStorage.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIFIPSUtils",
        "members": [
          {
            "name": "canToggleFIPS",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "toggleFIPSMode",
            "type": "void"
          },
          {
            "name": "isFIPSEnabled",
            "readonly": true,
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsIFIPSUtils.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsINSSComponent",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "clearTLSCacheAndCancelAllConnections",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getEnterpriseRoots",
            "type": "u8[][]"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getEnterpriseRootsPEM",
            "type": "string"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getEnterpriseIntermediates",
            "type": "u8[][]"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getEnterpriseIntermediatesPEM",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "intermediateBytes",
                "optional": false,
                "type": "u8[]"
              }
            ],
            "iid_is": null,
            "name": "addEnterpriseIntermediate",
            "type": "void"
          },
          {
            "name": "nssTaskQueue",
            "readonly": true,
            "type": "nsISerialEventTarget"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsINSSComponent.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "ERROR_CLASS_SSL_PROTOCOL",
            "value": 1
          },
          {
            "name": "ERROR_CLASS_BAD_CERT",
            "value": 2
          },
          {
            "name": "NSS_SEC_ERROR_BASE",
            "value": -8192
          },
          {
            "name": "NSS_SEC_ERROR_LIMIT",
            "value": -7192
          },
          {
            "name": "NSS_SSL_ERROR_BASE",
            "value": -12288
          },
          {
            "name": "NSS_SSL_ERROR_LIMIT",
            "value": -11288
          },
          {
            "name": "MOZILLA_PKIX_ERROR_BASE",
            "value": -16384
          },
          {
            "name": "MOZILLA_PKIX_ERROR_LIMIT",
            "value": -15384
          }
        ],
        "enums": [],
        "id": "nsINSSErrorsService",
        "members": [
          {
            "args": [
              {
                "name": "aNSPRCode",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "isNSSErrorCode",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aNSPRCode",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "getXPCOMFromNSSError",
            "type": "nsresult"
          },
          {
            "args": [
              {
                "name": "aXPCOMErrorCode",
                "optional": false,
                "type": "nsresult"
              }
            ],
            "iid_is": null,
            "name": "getErrorMessage",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aXPCOMErrorCode",
                "optional": false,
                "type": "nsresult"
              }
            ],
            "iid_is": null,
            "name": "getErrorName",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "aXPCOMErrorCode",
                "optional": false,
                "type": "nsresult"
              }
            ],
            "iid_is": null,
            "name": "getErrorClass",
            "type": "u32"
          },
          {
            "args": [
              {
                "name": "aXPCOMErrorCode",
                "optional": false,
                "type": "nsresult"
              }
            ],
            "iid_is": null,
            "name": "isErrorOverridable",
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsINSSErrorsService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsINSSVersion",
        "members": [
          {
            "name": "NSPR_MinVersion",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "NSS_MinVersion",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "NSSUTIL_MinVersion",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "NSSSSL_MinVersion",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "NSSSMIME_MinVersion",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "NSPR_Version",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "NSS_Version",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "NSSUTIL_Version",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "NSSSSL_Version",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "NSSSMIME_Version",
            "readonly": true,
            "type": "string"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsINSSVersion.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIOSKeyStore",
        "members": [
          {
            "args": [
              {
                "name": "label",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "asyncGenerateSecret",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "label",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "asyncSecretAvailable",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "label",
                "optional": false,
                "type": "string"
              },
              {
                "name": "recoveryPhrase",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "asyncRecoverSecret",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "label",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "asyncDeleteSecret",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "label",
                "optional": false,
                "type": "string"
              },
              {
                "name": "inBytes",
                "optional": false,
                "type": "u8[]"
              }
            ],
            "iid_is": null,
            "name": "asyncEncryptBytes",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "label",
                "optional": false,
                "type": "string"
              },
              {
                "name": "encryptedBase64Text",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "asyncDecryptBytes",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "aLabel",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "asyncGetRecoveryPhrase",
            "type": "Promise<any>"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsIOSKeyStore.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIOSReauthenticator",
        "members": [
          {
            "args": [
              {
                "name": "prompt",
                "optional": false,
                "type": "string"
              },
              {
                "name": "caption",
                "optional": false,
                "type": "string"
              },
              {
                "name": "parentWindow",
                "optional": false,
                "type": "mozIDOMWindow"
              }
            ],
            "iid_is": null,
            "name": "asyncReauthenticateUser",
            "type": "Promise<any>"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsIOSReauthenticator.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIPKCS11Module",
        "members": [
          {
            "name": "name",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "libName",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "slots",
            "readonly": true,
            "type": "nsIPKCS11Slot[]"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsIPKCS11Module.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIPKCS11ModuleDB",
        "members": [
          {
            "args": [
              {
                "name": "moduleName",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "deleteModule",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "moduleName",
                "optional": false,
                "type": "string"
              },
              {
                "name": "libraryPath",
                "optional": false,
                "type": "string"
              },
              {
                "name": "mechanismFlags",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "cipherFlags",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "addModule",
            "type": "Promise<any>"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "listModules",
            "type": "Promise<any>"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsIPKCS11ModuleDB.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "SLOT_DISABLED",
            "value": 0
          },
          {
            "name": "SLOT_NOT_PRESENT",
            "value": 1
          },
          {
            "name": "SLOT_UNINITIALIZED",
            "value": 2
          },
          {
            "name": "SLOT_NOT_LOGGED_IN",
            "value": 3
          },
          {
            "name": "SLOT_LOGGED_IN",
            "value": 4
          },
          {
            "name": "SLOT_READY",
            "value": 5
          }
        ],
        "enums": [],
        "id": "nsIPKCS11Slot",
        "members": [
          {
            "name": "name",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "desc",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "manID",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "HWVersion",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "FWVersion",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "status",
            "readonly": true,
            "type": "u32"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getToken",
            "type": "nsIPKCS11Token"
          },
          {
            "name": "tokenName",
            "readonly": true,
            "type": "string"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsIPKCS11Slot.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIPKCS11Token",
        "members": [
          {
            "name": "tokenName",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "isInternalKeyToken",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "tokenManID",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "tokenHWVersion",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "tokenFWVersion",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "tokenSerialNumber",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "isLoggedIn",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "login",
            "type": "Promise<any>"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "logout",
            "type": "Promise<any>"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "reset",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "oldPassword",
                "optional": false,
                "type": "string"
              },
              {
                "name": "newPassword",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "changePassword",
            "type": "Promise<any>"
          },
          {
            "name": "canHavePassword",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "hasPassword",
            "readonly": true,
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsIPKCS11Token.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIPublicKeyPinningService",
        "members": [
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              }
            ],
            "iid_is": null,
            "name": "hostHasPins",
            "type": "boolean"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsIPublicKeyPinningService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsISecretDecoderRing",
        "members": [
          {
            "args": [
              {
                "name": "text",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "encryptString",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "plaintexts",
                "optional": false,
                "type": "string[]"
              }
            ],
            "iid_is": null,
            "name": "asyncEncryptStrings",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "encryptedBase64Text",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "decryptString",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "encryptedStrings",
                "optional": false,
                "type": "string[]"
              }
            ],
            "iid_is": null,
            "name": "asyncDecryptStrings",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "password",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "login",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "logout",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "logoutAndTeardown",
            "type": "void"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsISecretDecoderRing.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "WARNING_ADDON_ASKING_PREVENTED",
            "value": 1
          },
          {
            "name": "WARNING_ADDON_ASKING_PREVENTED_CLICK_THROUGH",
            "value": 2
          },
          {
            "name": "WARNING_CONFIRM_ADDON_INSTALL",
            "value": 3
          },
          {
            "name": "WARNING_CONFIRM_ADDON_INSTALL_CLICK_THROUGH",
            "value": 4
          },
          {
            "name": "WARNING_CONFIRM_POST_TO_INSECURE_FROM_SECURE",
            "value": 9
          },
          {
            "name": "WARNING_CONFIRM_POST_TO_INSECURE_FROM_SECURE_CLICK_THROUGH",
            "value": 10
          }
        ],
        "enums": [],
        "id": "nsISecurityUITelemetry",
        "members": []
      }
    ],
    "path": "security/manager/ssl/nsISecurityUITelemetry.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsISiteIntegrityService",
        "members": []
      }
    ],
    "path": "security/manager/ssl/nsISiteIntegrityService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "Success",
            "value": 0
          },
          {
            "name": "ERROR_UNKNOWN",
            "value": 1
          },
          {
            "name": "ERROR_COULD_NOT_PARSE_HEADER",
            "value": 3
          },
          {
            "name": "ERROR_NO_MAX_AGE",
            "value": 4
          },
          {
            "name": "ERROR_MULTIPLE_MAX_AGES",
            "value": 5
          },
          {
            "name": "ERROR_INVALID_MAX_AGE",
            "value": 6
          },
          {
            "name": "ERROR_MULTIPLE_INCLUDE_SUBDOMAINS",
            "value": 7
          },
          {
            "name": "ERROR_INVALID_INCLUDE_SUBDOMAINS",
            "value": 8
          },
          {
            "name": "ERROR_COULD_NOT_SAVE_STATE",
            "value": 13
          }
        ],
        "enums": [
          {
            "id": "ResetStateBy",
            "variants": [
              {
                "name": "ExactDomain",
                "value": 0
              },
              {
                "name": "RootDomain",
                "value": 1
              },
              {
                "name": "BaseDomain",
                "value": 2
              }
            ]
          }
        ],
        "id": "nsISiteSecurityService",
        "members": [
          {
            "args": [
              {
                "name": "aSourceURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aHeader",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aOriginAttributes",
                "optional": true,
                "type": "any"
              },
              {
                "name": "aMaxAge",
                "optional": true,
                "type": "OutParam<u64>"
              },
              {
                "name": "aIncludeSubdomains",
                "optional": true,
                "type": "OutParam<boolean>"
              },
              {
                "name": "aFailureResult",
                "optional": true,
                "type": "OutParam<u32>"
              }
            ],
            "iid_is": null,
            "name": "processHeader",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aOriginAttributes",
                "optional": true,
                "type": "any"
              },
              {
                "name": "aScope",
                "optional": true,
                "type": "nsISiteSecurityService.ResetStateBy"
              }
            ],
            "iid_is": null,
            "name": "resetState",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aURI",
                "optional": false,
                "type": "nsIURI"
              },
              {
                "name": "aOriginAttributes",
                "optional": true,
                "type": "any"
              }
            ],
            "iid_is": null,
            "name": "isSecureURI",
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "clearAll",
            "type": "void"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsISiteSecurityService.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "KEY_EXCHANGE_UNKNOWN",
            "value": -1
          },
          {
            "name": "SSL_VERSION_3",
            "value": 768
          },
          {
            "name": "TLS_VERSION_1",
            "value": 769
          },
          {
            "name": "TLS_VERSION_1_1",
            "value": 770
          },
          {
            "name": "TLS_VERSION_1_2",
            "value": 771
          },
          {
            "name": "TLS_VERSION_1_3",
            "value": 772
          },
          {
            "name": "SSL_VERSION_UNKNOWN",
            "value": -1
          },
          {
            "name": "SSL_MAC_UNKNOWN",
            "value": -1
          },
          {
            "name": "SSL_MAC_NULL",
            "value": 0
          },
          {
            "name": "SSL_MAC_MD5",
            "value": 1
          },
          {
            "name": "SSL_MAC_SHA",
            "value": 2
          },
          {
            "name": "SSL_HMAC_MD5",
            "value": 3
          },
          {
            "name": "SSL_HMAC_SHA",
            "value": 4
          },
          {
            "name": "SSL_HMAC_SHA256",
            "value": 5
          },
          {
            "name": "SSL_MAC_AEAD",
            "value": 6
          }
        ],
        "enums": [],
        "id": "nsITLSSocketControl",
        "members": [
          {
            "args": [],
            "iid_is": null,
            "name": "asyncStartTLS",
            "type": "Promise<any>"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getAlpnEarlySelection",
            "type": "string"
          },
          {
            "name": "earlyDataAccepted",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "resumptionTokenPresent",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "driveHandshake",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "npnProtocol",
                "optional": false,
                "type": "string"
              },
              {
                "name": "hostname",
                "optional": false,
                "type": "string"
              },
              {
                "name": "port",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "joinConnection",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "npnProtocol",
                "optional": false,
                "type": "string"
              },
              {
                "name": "hostname",
                "optional": false,
                "type": "string"
              },
              {
                "name": "port",
                "optional": false,
                "type": "i32"
              }
            ],
            "iid_is": null,
            "name": "testJoinConnection",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "hostname",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "isAcceptableForHost",
            "type": "boolean"
          },
          {
            "name": "KEAUsed",
            "readonly": true,
            "type": "i16"
          },
          {
            "name": "KEAKeyBits",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "providerFlags",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "SSLVersionUsed",
            "readonly": true,
            "type": "i16"
          },
          {
            "name": "SSLVersionOffered",
            "readonly": true,
            "type": "i16"
          },
          {
            "name": "MACAlgorithmUsed",
            "readonly": true,
            "type": "i16"
          },
          {
            "name": "clientCertSent",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "failedVerification",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "esniTxt",
            "readonly": false,
            "type": "string"
          },
          {
            "name": "echConfig",
            "readonly": false,
            "type": "string"
          },
          {
            "name": "retryEchConfig",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "peerId",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "securityInfo",
            "readonly": true,
            "type": "nsITransportSecurityInfo"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "asyncGetSecurityInfo",
            "type": "Promise<any>"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "claim",
            "type": "void"
          },
          {
            "name": "browserId",
            "readonly": false,
            "type": "u64"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsITLSSocketControl.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "SSL_VERSION_3",
            "value": 0
          },
          {
            "name": "TLS_VERSION_1",
            "value": 1
          },
          {
            "name": "TLS_VERSION_1_1",
            "value": 2
          },
          {
            "name": "TLS_VERSION_1_2",
            "value": 3
          },
          {
            "name": "TLS_VERSION_1_3",
            "value": 4
          },
          {
            "name": "CERTIFICATE_TRANSPARENCY_NOT_APPLICABLE",
            "value": 0
          },
          {
            "name": "CERTIFICATE_TRANSPARENCY_POLICY_COMPLIANT",
            "value": 5
          },
          {
            "name": "CERTIFICATE_TRANSPARENCY_POLICY_NOT_ENOUGH_SCTS",
            "value": 6
          },
          {
            "name": "CERTIFICATE_TRANSPARENCY_POLICY_NOT_DIVERSE_SCTS",
            "value": 7
          }
        ],
        "enums": [
          {
            "id": "OverridableErrorCategory",
            "variants": [
              {
                "name": "ERROR_UNSET",
                "value": 0
              },
              {
                "name": "ERROR_TRUST",
                "value": 1
              },
              {
                "name": "ERROR_DOMAIN",
                "value": 2
              },
              {
                "name": "ERROR_TIME",
                "value": 3
              }
            ]
          }
        ],
        "id": "nsITransportSecurityInfo",
        "members": [
          {
            "name": "securityState",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "errorCode",
            "readonly": true,
            "type": "i32"
          },
          {
            "name": "errorCodeString",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "handshakeCertificates",
            "readonly": true,
            "type": "nsIX509Cert[]"
          },
          {
            "name": "serverCert",
            "readonly": true,
            "type": "nsIX509Cert"
          },
          {
            "name": "succeededCertChain",
            "readonly": true,
            "type": "nsIX509Cert[]"
          },
          {
            "name": "cipherName",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "keyLength",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "secretKeyLength",
            "readonly": true,
            "type": "u32"
          },
          {
            "name": "keaGroupName",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "signatureSchemeName",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "protocolVersion",
            "readonly": true,
            "type": "u16"
          },
          {
            "name": "certificateTransparencyStatus",
            "readonly": true,
            "type": "u16"
          },
          {
            "name": "isAcceptedEch",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "isDelegatedCredential",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "overridableErrorCategory",
            "readonly": true,
            "type": "nsITransportSecurityInfo.OverridableErrorCategory"
          },
          {
            "name": "madeOCSPRequests",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "usedPrivateDNS",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "isExtendedValidation",
            "readonly": true,
            "type": "boolean"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "toString",
            "type": "string"
          },
          {
            "name": "negotiatedNPN",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "resumed",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "isBuiltCertChainRootBuiltInRoot",
            "readonly": true,
            "type": "boolean"
          },
          {
            "name": "peerId",
            "readonly": true,
            "type": "string"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsITransportSecurityInfo.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "UNKNOWN_CERT",
            "value": 0
          },
          {
            "name": "CA_CERT",
            "value": 1
          },
          {
            "name": "USER_CERT",
            "value": 2
          },
          {
            "name": "EMAIL_CERT",
            "value": 4
          },
          {
            "name": "SERVER_CERT",
            "value": 8
          },
          {
            "name": "ANY_CERT",
            "value": 65535
          }
        ],
        "enums": [],
        "id": "nsIX509Cert",
        "members": [
          {
            "name": "emailAddress",
            "readonly": true,
            "type": "string"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getEmailAddresses",
            "type": "string[]"
          },
          {
            "args": [
              {
                "name": "aEmailAddress",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "containsEmailAddress",
            "type": "boolean"
          },
          {
            "name": "subjectName",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "commonName",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "organization",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "organizationalUnit",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "sha256Fingerprint",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "sha1Fingerprint",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "tokenName",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "issuerName",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "serialNumber",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "issuerCommonName",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "issuerOrganization",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "issuerOrganizationUnit",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "validity",
            "readonly": true,
            "type": "nsIX509CertValidity"
          },
          {
            "name": "dbKey",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "displayName",
            "readonly": true,
            "type": "string"
          },
          {
            "name": "certType",
            "readonly": true,
            "type": "u32"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getRawDER",
            "type": "u8[]"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getBase64DERString",
            "type": "string"
          },
          {
            "name": "subjectPublicKeyInfo",
            "readonly": true,
            "type": "u8[]"
          },
          {
            "name": "sha256SubjectPublicKeyInfoDigest",
            "readonly": true,
            "type": "string"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsIX509Cert.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [
          {
            "id": "SignatureAlgorithm",
            "variants": [
              {
                "name": "PKCS7_WITH_SHA1",
                "value": 0
              },
              {
                "name": "PKCS7_WITH_SHA256",
                "value": 1
              },
              {
                "name": "COSE_WITH_SHA256",
                "value": 2
              }
            ]
          }
        ],
        "id": "nsIAppSignatureInfo",
        "members": [
          {
            "name": "signerCert",
            "readonly": true,
            "type": "nsIX509Cert"
          },
          {
            "name": "signatureAlgorithm",
            "readonly": true,
            "type": "nsIAppSignatureInfo.SignatureAlgorithm"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": true,
        "consts": [],
        "enums": [],
        "id": "nsIOpenSignedAppFileCallback",
        "members": [
          {
            "args": [
              {
                "name": "rv",
                "optional": false,
                "type": "nsresult"
              },
              {
                "name": "aZipReader",
                "optional": false,
                "type": "nsIZipReader"
              },
              {
                "name": "aSignatureInfos",
                "optional": false,
                "type": "nsIAppSignatureInfo[]"
              }
            ],
            "iid_is": null,
            "name": "openSignedAppFileFinished",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIPDFVerificationResult",
        "members": [
          {
            "name": "signatureResult",
            "readonly": true,
            "type": "nsresult"
          },
          {
            "name": "certificateResult",
            "readonly": true,
            "type": "nsresult"
          },
          {
            "name": "signerCertificate",
            "readonly": true,
            "type": "nsIX509Cert"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": true,
        "consts": [],
        "enums": [],
        "id": "nsICertVerificationCallback",
        "members": [
          {
            "args": [
              {
                "name": "aPRErrorCode",
                "optional": false,
                "type": "i32"
              },
              {
                "name": "aVerifiedChain",
                "optional": false,
                "type": "nsIX509Cert[]"
              },
              {
                "name": "aHasEVPolicy",
                "optional": false,
                "type": "boolean"
              }
            ],
            "iid_is": null,
            "name": "verifyCertFinished",
            "type": "void"
          }
        ]
      },
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [
          {
            "name": "UNTRUSTED",
            "value": 0
          },
          {
            "name": "TRUSTED_SSL",
            "value": 1
          },
          {
            "name": "TRUSTED_EMAIL",
            "value": 2
          },
          {
            "name": "Success",
            "value": 0
          },
          {
            "name": "ERROR_UNKNOWN",
            "value": 1
          },
          {
            "name": "ERROR_PKCS12_NOSMARTCARD_EXPORT",
            "value": 2
          },
          {
            "name": "ERROR_PKCS12_RESTORE_FAILED",
            "value": 3
          },
          {
            "name": "ERROR_PKCS12_BACKUP_FAILED",
            "value": 4
          },
          {
            "name": "ERROR_PKCS12_CERT_COLLISION",
            "value": 5
          },
          {
            "name": "ERROR_BAD_PASSWORD",
            "value": 6
          },
          {
            "name": "ERROR_DECODE_ERROR",
            "value": 7
          },
          {
            "name": "ERROR_PKCS12_DUPLICATE_DATA",
            "value": 8
          },
          {
            "name": "AppXPCShellRoot",
            "value": 6
          },
          {
            "name": "AddonsPublicRoot",
            "value": 7
          },
          {
            "name": "AddonsStageRoot",
            "value": 8
          },
          {
            "name": "FLAG_LOCAL_ONLY",
            "value": 1
          },
          {
            "name": "FLAG_MUST_BE_EV",
            "value": 2
          }
        ],
        "enums": [
          {
            "id": "VerifyUsage",
            "variants": [
              {
                "name": "verifyUsageTLSServer",
                "value": 1
              },
              {
                "name": "verifyUsageTLSServerCA",
                "value": 2
              },
              {
                "name": "verifyUsageTLSClient",
                "value": 3
              },
              {
                "name": "verifyUsageTLSClientCA",
                "value": 4
              },
              {
                "name": "verifyUsageEmailSigner",
                "value": 5
              },
              {
                "name": "verifyUsageEmailRecipient",
                "value": 6
              },
              {
                "name": "verifyUsageEmailCA",
                "value": 7
              }
            ]
          },
          {
            "id": "QWACType",
            "variants": [
              {
                "name": "OneQWAC",
                "value": 0
              },
              {
                "name": "TwoQWAC",
                "value": 1
              }
            ]
          },
          {
            "id": "PDFSignatureAlgorithm",
            "variants": [
              {
                "name": "ADBE_PKCS7_DETACHED",
                "value": 0
              },
              {
                "name": "ADBE_PKCS7_SHA1",
                "value": 1
              }
            ]
          }
        ],
        "id": "nsIX509CertDB",
        "members": [
          {
            "args": [
              {
                "name": "aDBkey",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "findCertByDBKey",
            "type": "nsIX509Cert"
          },
          {
            "args": [
              {
                "name": "data",
                "optional": false,
                "type": "u8[]"
              },
              {
                "name": "length",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "type",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "ctx",
                "optional": false,
                "type": "nsIInterfaceRequestor"
              }
            ],
            "iid_is": null,
            "name": "importCertificates",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "data",
                "optional": false,
                "type": "u8[]"
              },
              {
                "name": "length",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "ctx",
                "optional": false,
                "type": "nsIInterfaceRequestor"
              }
            ],
            "iid_is": null,
            "name": "importEmailCertificate",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "data",
                "optional": false,
                "type": "u8[]"
              },
              {
                "name": "length",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "ctx",
                "optional": false,
                "type": "nsIInterfaceRequestor"
              }
            ],
            "iid_is": null,
            "name": "importUserCertificate",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aCert",
                "optional": false,
                "type": "nsIX509Cert"
              }
            ],
            "iid_is": null,
            "name": "deleteCertificate",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "cert",
                "optional": false,
                "type": "nsIX509Cert"
              },
              {
                "name": "type",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "trust",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "setCertTrust",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "cert",
                "optional": false,
                "type": "nsIX509Cert"
              },
              {
                "name": "trustString",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "setCertTrustFromString",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "cert",
                "optional": false,
                "type": "nsIX509Cert"
              },
              {
                "name": "certType",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "trustType",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "isCertTrusted",
            "type": "boolean"
          },
          {
            "args": [
              {
                "name": "aFile",
                "optional": false,
                "type": "nsIFile"
              },
              {
                "name": "aType",
                "optional": false,
                "type": "u32"
              }
            ],
            "iid_is": null,
            "name": "importCertsFromFile",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "aFile",
                "optional": false,
                "type": "nsIFile"
              },
              {
                "name": "aPassword",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "importPKCS12File",
            "type": "u32"
          },
          {
            "args": [
              {
                "name": "aFile",
                "optional": false,
                "type": "nsIFile"
              },
              {
                "name": "aCerts",
                "optional": false,
                "type": "nsIX509Cert[]"
              },
              {
                "name": "aPassword",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "exportPKCS12File",
            "type": "u32"
          },
          {
            "args": [
              {
                "name": "base64",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "constructX509FromBase64",
            "type": "nsIX509Cert"
          },
          {
            "args": [
              {
                "name": "certDER",
                "optional": false,
                "type": "u8[]"
              }
            ],
            "iid_is": null,
            "name": "constructX509",
            "type": "nsIX509Cert"
          },
          {
            "args": [
              {
                "name": "trustedRoot",
                "optional": false,
                "type": "AppTrustedRoot"
              },
              {
                "name": "aJarFile",
                "optional": false,
                "type": "nsIFile"
              },
              {
                "name": "callback",
                "optional": false,
                "type": "nsIOpenSignedAppFileCallback"
              }
            ],
            "iid_is": null,
            "name": "openSignedAppFileAsync",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "certDER",
                "optional": false,
                "type": "string"
              },
              {
                "name": "trust",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "addCert",
            "type": "nsIX509Cert"
          },
          {
            "args": [
              {
                "name": "aCert",
                "optional": false,
                "type": "nsIX509Cert"
              },
              {
                "name": "aUsage",
                "optional": false,
                "type": "nsIX509CertDB.VerifyUsage"
              },
              {
                "name": "aFlags",
                "optional": false,
                "type": "u32"
              },
              {
                "name": "aHostname",
                "optional": false,
                "type": "string"
              },
              {
                "name": "aTime",
                "optional": false,
                "type": "u64"
              },
              {
                "name": "aSctsFromTls",
                "optional": false,
                "type": "u8[]"
              },
              {
                "name": "aCallback",
                "optional": false,
                "type": "nsICertVerificationCallback"
              }
            ],
            "iid_is": null,
            "name": "asyncVerifyCertAtTime",
            "type": "void"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "clearOCSPCache",
            "type": "void"
          },
          {
            "args": [
              {
                "name": "base64",
                "optional": false,
                "type": "string"
              },
              {
                "name": "trust",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "addCertFromBase64",
            "type": "nsIX509Cert"
          },
          {
            "args": [],
            "iid_is": null,
            "name": "getCerts",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "certList",
                "optional": false,
                "type": "nsIX509Cert[]"
              }
            ],
            "iid_is": null,
            "name": "asPKCS7Blob",
            "type": "string"
          },
          {
            "args": [
              {
                "name": "alias",
                "optional": false,
                "type": "string"
              }
            ],
            "iid_is": null,
            "name": "getAndroidCertificateFromAlias",
            "type": "nsIX509Cert"
          },
          {
            "args": [
              {
                "name": "type",
                "optional": false,
                "type": "nsIX509CertDB.QWACType"
              },
              {
                "name": "cert",
                "optional": false,
                "type": "nsIX509Cert"
              },
              {
                "name": "hostname",
                "optional": false,
                "type": "string"
              },
              {
                "name": "collectedCerts",
                "optional": false,
                "type": "nsIX509Cert[]"
              }
            ],
            "iid_is": null,
            "name": "asyncVerifyQWAC",
            "type": "Promise<any>"
          },
          {
            "args": [
              {
                "name": "pkcs7",
                "optional": false,
                "type": "u8[]"
              },
              {
                "name": "data",
                "optional": false,
                "type": "u8[][]"
              },
              {
                "name": "signatureType",
                "optional": false,
                "type": "nsIX509CertDB.PDFSignatureAlgorithm"
              }
            ],
            "iid_is": null,
            "name": "asyncVerifyPKCS7Object",
            "type": "Promise<any>"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsIX509CertDB.idl",
    "typedefs": [
      [
        "AppTrustedRoot",
        "u32"
      ],
      [
        "PRTime",
        "i64"
      ]
    ]
  },
  {
    "interfaces": [
      {
        "base": "nsISupports",
        "callable": false,
        "consts": [],
        "enums": [],
        "id": "nsIX509CertValidity",
        "members": [
          {
            "name": "notBefore",
            "readonly": true,
            "type": "PRTime"
          },
          {
            "name": "notAfter",
            "readonly": true,
            "type": "PRTime"
          }
        ]
      }
    ],
    "path": "security/manager/ssl/nsIX509CertValidity.idl",
    "typedefs": [
      [
        "PRTime",
        "i64"
      ]
    ]
  }
]