tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

SecretDecoderRing.h (1036B)


      1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
      2 *
      3 * This Source Code Form is subject to the terms of the Mozilla Public
      4 * License, v. 2.0. If a copy of the MPL was not distributed with this
      5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      6 
      7 #ifndef SecretDecoderRing_h
      8 #define SecretDecoderRing_h
      9 
     10 #include "nsISecretDecoderRing.h"
     11 #include "pkcs11t.h"
     12 
     13 #define NS_SECRETDECODERRING_CONTRACTID "@mozilla.org/security/sdr;1"
     14 
     15 #define NS_SECRETDECODERRING_CID \
     16  {0x0c4f1ddc, 0x1dd2, 0x11b2, {0x9d, 0x95, 0xf2, 0xfd, 0xf1, 0x13, 0x04, 0x4b}}
     17 
     18 class SecretDecoderRing : public nsISecretDecoderRing {
     19 public:
     20  NS_DECL_THREADSAFE_ISUPPORTS
     21  NS_DECL_NSISECRETDECODERRING
     22 
     23  SecretDecoderRing() = default;
     24 
     25 protected:
     26  virtual ~SecretDecoderRing() = default;
     27 
     28 private:
     29  nsresult Encrypt(CK_MECHANISM_TYPE type, const nsACString& data,
     30                   /*out*/ nsACString& result);
     31  nsresult Decrypt(const nsACString& data, /*out*/ nsACString& result);
     32 };
     33 
     34 #endif  // SecretDecoderRing_h