/* -*- 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" %}