/* -*- 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(17103436-0111-4819-a751-0fc4aa6e3d79)] 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" %}