2012-05-31 09:33:35 +00:00
|
|
|
/* 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/. */
|
2006-08-12 06:39:47 +00:00
|
|
|
|
|
|
|
#include "nsISupports.idl"
|
|
|
|
|
2015-12-04 18:36:51 +00:00
|
|
|
%{ C++
|
|
|
|
/* forward declaration */
|
|
|
|
typedef struct PK11SymKeyStr PK11SymKey;
|
|
|
|
%}
|
|
|
|
[ptr] native PK11SymKeyPtr(PK11SymKey);
|
|
|
|
|
2006-08-12 06:39:47 +00:00
|
|
|
// An opaque key object.
|
2015-12-04 18:36:51 +00:00
|
|
|
[scriptable, uuid(ee2dc516-ba7b-4e77-89fe-c43b886ef715)]
|
2006-08-12 06:39:47 +00:00
|
|
|
interface nsIKeyObject : nsISupports
|
|
|
|
{
|
|
|
|
// Key types
|
|
|
|
const short SYM_KEY = 1;
|
|
|
|
|
|
|
|
// Algorithm types
|
2008-03-18 19:45:40 +00:00
|
|
|
const short HMAC = 257;
|
2006-08-12 06:39:47 +00:00
|
|
|
|
|
|
|
// The nsIKeyObject will take ownership of the key and be responsible
|
|
|
|
// for freeing the key memory when destroyed.
|
2015-12-04 18:36:51 +00:00
|
|
|
[noscript] void initKey(in short aAlgorithm, in PK11SymKeyPtr aKey);
|
2006-08-12 06:39:47 +00:00
|
|
|
|
2015-12-04 18:36:51 +00:00
|
|
|
// Returns a pointer to the underlying key object.
|
|
|
|
[noscript] PK11SymKeyPtr getKeyObj();
|
2006-08-12 06:39:47 +00:00
|
|
|
|
|
|
|
short getType();
|
|
|
|
};
|
|
|
|
|
2015-12-04 18:36:51 +00:00
|
|
|
[scriptable, uuid(838bdbf1-8244-448f-8bcd-cede70227d75)]
|
2006-08-12 06:39:47 +00:00
|
|
|
interface nsIKeyObjectFactory : nsISupports
|
|
|
|
{
|
|
|
|
nsIKeyObject keyFromString(in short aAlgorithm, in ACString aKey);
|
|
|
|
};
|