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/. */
|
2007-09-03 17:32:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
#include "nsISupports.idl"
|
|
|
|
|
|
|
|
/**
|
|
|
|
* An interface for verifying that a given string of data was signed by the
|
|
|
|
* private key matching the given public key.
|
|
|
|
*/
|
|
|
|
[scriptable, uuid(0a84b3d5-6ba9-432d-89da-4fbd0b0f2aec)]
|
|
|
|
interface nsIDataSignatureVerifier : nsISupports
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Verifies that the data matches the data that was used to generate the
|
|
|
|
* signature.
|
|
|
|
*
|
|
|
|
* @param aData The data to be tested.
|
|
|
|
* @param aSignature The signature of the data, base64 encoded.
|
|
|
|
* @param aPublicKey The public part of the key used for signing, DER encoded
|
|
|
|
* then base64 encoded.
|
|
|
|
* @returns true if the signature matches the data, false if not.
|
|
|
|
*/
|
|
|
|
boolean verifyData(in ACString aData, in ACString aSignature, in ACString aPublicKey);
|
|
|
|
};
|