Line data Source code
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 :
5 : #ifndef nsDataSignatureVerifier_h
6 : #define nsDataSignatureVerifier_h
7 :
8 : #include "certt.h"
9 : #include "nsIDataSignatureVerifier.h"
10 : #include "nsNSSShutDown.h"
11 :
12 : #define NS_DATASIGNATUREVERIFIER_CID \
13 : { 0x296d76aa, 0x275b, 0x4f3c, \
14 : { 0xaf, 0x8a, 0x30, 0xa4, 0x02, 0x6c, 0x18, 0xfc } }
15 : #define NS_DATASIGNATUREVERIFIER_CONTRACTID \
16 : "@mozilla.org/security/datasignatureverifier;1"
17 :
18 : class nsDataSignatureVerifier final : public nsIDataSignatureVerifier
19 : , public nsNSSShutDownObject
20 : {
21 : public:
22 : NS_DECL_ISUPPORTS
23 : NS_DECL_NSIDATASIGNATUREVERIFIER
24 :
25 0 : nsDataSignatureVerifier()
26 0 : {
27 0 : }
28 :
29 : private:
30 : ~nsDataSignatureVerifier();
31 :
32 : // Nothing to release.
33 0 : virtual void virtualDestroyNSSReference() override {}
34 : };
35 :
36 : namespace mozilla {
37 :
38 : nsresult VerifyCMSDetachedSignatureIncludingCertificate(
39 : const SECItem& buffer, const SECItem& detachedDigest,
40 : nsresult (*verifyCertificate)(CERTCertificate* cert, void* context,
41 : void* pinArg),
42 : void* verifyCertificateContext, void* pinArg,
43 : const nsNSSShutDownPreventionLock& proofOfLock);
44 :
45 : } // namespace mozilla
46 :
47 : #endif // nsDataSignatureVerifier_h
|