/* -*- 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" %{ C++ #define NS_CMSMESSAGE_CONTRACTID "@mozilla.org/nsCMSMessage;1" %} [ptr] native UnsignedCharPtr(unsigned char); interface nsIX509Cert; interface nsIArray; /** * nsICMSMessage * Interface to a CMS Message */ [uuid(a4557478-ae16-11d5-ba4b-00108303b117)] interface nsICMSMessage : nsISupports { void contentIsSigned(out boolean aSigned); void contentIsEncrypted(out boolean aEncrypted); void getSignerCommonName(out string aName); void getSignerEmailAddress(out string aEmail); void getSignerCert(out nsIX509Cert scert); void getEncryptionCert(out nsIX509Cert ecert); void verifySignature(); void verifyDetachedSignature(in UnsignedCharPtr aDigestData, in unsigned long aDigestDataLen); void CreateEncrypted(in nsIArray aRecipientCerts); void CreateSigned(in nsIX509Cert scert, in nsIX509Cert ecert, in UnsignedCharPtr aDigestData, in unsigned long aDigestDataLen); };