diff options
Diffstat (limited to 'mailnews/mime/public/nsICMSMessage.idl')
-rw-r--r-- | mailnews/mime/public/nsICMSMessage.idl | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/mailnews/mime/public/nsICMSMessage.idl b/mailnews/mime/public/nsICMSMessage.idl new file mode 100644 index 000000000..1d67bf51d --- /dev/null +++ b/mailnews/mime/public/nsICMSMessage.idl @@ -0,0 +1,39 @@ +/* -*- 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(c6d51c22-73e9-4dad-86b9-bde584e33c63)] +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); + + /* The parameter aDigestType must be one of the values in nsICryptoHash */ + void CreateSigned(in nsIX509Cert scert, in nsIX509Cert ecert, + in UnsignedCharPtr aDigestData, + in unsigned long aDigestDataLen, in int16_t aDigestType); +}; + |