mailnews/mime/public/nsICMSSecureMessage.idl
author Frank-Rainer Grahl <frgrahl@gmx.net>
Tue, 06 Jun 2017 10:15:42 +0200
branchSEA248b1_2017021701_RELBRANCH
changeset 31408 156fd1a6486a07df761b712c01621a37716f36b2
parent 20406 a900b3a64007c4b2944abc9948e112ec97acffe2
child 27191 e47002b53b5f9294a331d8b84e291ed6c362fb01
permissions -rw-r--r--
Bug 1364977 - Followup fix for older parameters in branches. rs=bustage-fix a=me

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