summaryrefslogtreecommitdiff
path: root/dom/wifi/nsIWifiCertService.idl
blob: fce2dd7199c92819894e3e0bdcd9cc278c11e179 (plain)
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
50
51
52
53
54
/* 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"

interface nsIDOMBlob;
interface nsIWifiEventListener;

[scriptable, uuid(5d0edcd3-c2f1-4946-aae5-06adcbdf0992)]
interface nsIWifiCertService : nsISupports
{
  const unsigned short WIFI_CERT_USAGE_FLAG_SERVER = 0x01;
  const unsigned short WIFI_CERT_USAGE_FLAG_USER   = 0x02;

  void start(in nsIWifiEventListener listener);
  void shutdown();

  /**
   * Import a certificate file.
   *
   * @param id
   *        Request ID.
   * @param certBlob
   *        A Blob object containing raw data of certificate to be imported.
   * @param certPassword
   *        Password of certificate.
   * @param certNickname
   *        User assigned nickname for imported certificate.
   */
  void importCert(in long id,
                  in nsIDOMBlob certBlob,
                  in DOMString certPassword,
                  in DOMString certNickname);

  /**
   * Delete an imported certificate file
   *
   * @param id
   *        Request ID.
   * @param certNickname
   *        Certificate nickname to delete.
   */
  void deleteCert(in long id,
                  in DOMString certNickname);

  /**
   * Check if certificate has private key.
   *
   * @param certNickname
   *        Certificate nickname to check for private key.
   */
   boolean hasPrivateKey(in DOMString certNickname);
};