nsDataSignatureVerifier.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /* This Source Code Form is subject to the terms of the Mozilla Public
  2. * License, v. 2.0. If a copy of the MPL was not distributed with this
  3. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  4. #ifndef nsDataSignatureVerifier_h
  5. #define nsDataSignatureVerifier_h
  6. #include "certt.h"
  7. #include "nsIDataSignatureVerifier.h"
  8. #include "nsNSSShutDown.h"
  9. #define NS_DATASIGNATUREVERIFIER_CID \
  10. { 0x296d76aa, 0x275b, 0x4f3c, \
  11. { 0xaf, 0x8a, 0x30, 0xa4, 0x02, 0x6c, 0x18, 0xfc } }
  12. #define NS_DATASIGNATUREVERIFIER_CONTRACTID \
  13. "@mozilla.org/security/datasignatureverifier;1"
  14. class nsDataSignatureVerifier final : public nsIDataSignatureVerifier
  15. , public nsNSSShutDownObject
  16. {
  17. public:
  18. NS_DECL_ISUPPORTS
  19. NS_DECL_NSIDATASIGNATUREVERIFIER
  20. nsDataSignatureVerifier()
  21. {
  22. }
  23. private:
  24. ~nsDataSignatureVerifier();
  25. // Nothing to release.
  26. virtual void virtualDestroyNSSReference() override {}
  27. };
  28. namespace mozilla {
  29. nsresult VerifyCMSDetachedSignatureIncludingCertificate(
  30. const SECItem& buffer, const SECItem& detachedDigest,
  31. nsresult (*verifyCertificate)(CERTCertificate* cert, void* context,
  32. void* pinArg),
  33. void* verifyCertificateContext, void* pinArg,
  34. const nsNSSShutDownPreventionLock& proofOfLock);
  35. } // namespace mozilla
  36. #endif // nsDataSignatureVerifier_h