diff options
Diffstat (limited to 'security/manager/ssl/nsIKeyModule.idl')
-rw-r--r-- | security/manager/ssl/nsIKeyModule.idl | 41 |
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); +}; |