diff -r 000000000000 -r 6474c204b198 security/manager/ssl/public/nsICMSSecureMessage.idl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/security/manager/ssl/public/nsICMSSecureMessage.idl Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* 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 nsIX509Cert; + +/** + * nsICMSManager (service) + * Interface to access users certificate store + */ +[scriptable, uuid(14b4394a-1dd2-11b2-b4fd-ba4a194fe97e)] +interface nsICMSSecureMessage : nsISupports +{ + /** + * getCertByPrefID - a BASE64 string representing a user's + * certificate (or NULL if there isn't one) + */ + string getCertByPrefID(in string certID); + + /** + * decodeCert - decode a BASE64 string into an X509Certificate object + */ + nsIX509Cert decodeCert(in string value); + + /** + * sendMessage - send a text message to the recipient indicated + * by the base64-encoded cert. + */ + string sendMessage(in string msg, in string cert); + + /** + * receiveMessage - receive an encrypted (enveloped) message + */ + string receiveMessage(in string msg); +}; + +%{C++ +#define NS_CMSSECUREMESSAGE_CONTRACTID "@mozilla.org/nsCMSSecureMessage;1" +%}