summaryrefslogtreecommitdiffstats
path: root/security/manager/ssl/nsIKeyModule.idl
diff options
context:
space:
mode:
Diffstat (limited to 'security/manager/ssl/nsIKeyModule.idl')
-rw-r--r--security/manager/ssl/nsIKeyModule.idl41
1 files changed, 41 insertions, 0 deletions
diff --git a/security/manager/ssl/nsIKeyModule.idl b/security/manager/ssl/nsIKeyModule.idl
new file mode 100644
index 0000000000..6fb0b0d57e
--- /dev/null
+++ b/security/manager/ssl/nsIKeyModule.idl
@@ -0,0 +1,41 @@
+/* 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"
+
+%{ C++
+ /* forward declaration */
+ typedef struct PK11SymKeyStr PK11SymKey;
+%}
+[ptr] native PK11SymKeyPtr(PK11SymKey);
+
+// An opaque key object.
+[scriptable, uuid(ee2dc516-ba7b-4e77-89fe-c43b886ef715)]
+interface nsIKeyObject : nsISupports
+{
+ // Key types
+ const short SYM_KEY = 1;
+
+ // Algorithm types
+ const short HMAC = 257;
+
+ // The nsIKeyObject will take ownership of the key and be responsible
+ // for freeing the key memory when destroyed.
+ [noscript, must_use]
+ void initKey(in short aAlgorithm, in PK11SymKeyPtr aKey);
+
+ // Returns a pointer to the underlying key object.
+ [noscript, must_use]
+ PK11SymKeyPtr getKeyObj();
+
+ [must_use]
+ short getType();
+};
+
+[scriptable, uuid(838bdbf1-8244-448f-8bcd-cede70227d75)]
+interface nsIKeyObjectFactory : nsISupports
+{
+ [must_use]
+ nsIKeyObject keyFromString(in short aAlgorithm, in ACString aKey);
+};