This file is indexed.

/usr/share/idl/thunderbird/nsIKeyModule.idl is in thunderbird-dev 1:38.6.0+build1-0ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"

// An opaque key object.
[scriptable, uuid(4b31f4ed-9424-4710-b946-79b7e33cf3a8)]
interface nsIKeyObject : nsISupports
{
  // Key types
  const short SYM_KEY = 1;
  const short PRIVATE_KEY = 2;
  const short PUBLIC_KEY = 3;

  // Algorithm types
  const short RC4 = 1;
  const short AES_CBC = 2;
  const short HMAC = 257;

  // aAlgorithm is an algorithm type
  // aKey is either a PK11SymKey, SECKEYPublicKey, or a SECKEYPrivateKey.
  // The nsIKeyObject will take ownership of the key and be responsible
  // for freeing the key memory when destroyed.
  [noscript] void initKey(in short aAlgorithm, in voidPtr aKey);

  // Return a pointer to the underlying key object
  [noscript] voidPtr getKeyObj();

  // Will return NS_ERROR_NOT_INITIALIZED if initKey hasn't been run
  short getType();
};

[scriptable, uuid(264eb54d-e20d-49a0-890c-1a5986ea81c4)]
interface nsIKeyObjectFactory : nsISupports
{
  nsIKeyObject lookupKeyByName(in ACString aName);

  nsIKeyObject unwrapKey(in short aAlgorithm,
                         [const, array, size_is(aWrappedKeyLen)] in octet aWrappedKey,
                         in unsigned long aWrappedKeyLen);

  // TODO: deriveKeyFrom*


  // DO NOT USE
  // This is not FIPS compliant and should not be used.
  nsIKeyObject keyFromString(in short aAlgorithm, in ACString aKey);
};