summaryrefslogtreecommitdiffstats
path: root/security/manager/ssl/nsNSSCertValidity.h
diff options
context:
space:
mode:
Diffstat (limited to 'security/manager/ssl/nsNSSCertValidity.h')
-rw-r--r--security/manager/ssl/nsNSSCertValidity.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/security/manager/ssl/nsNSSCertValidity.h b/security/manager/ssl/nsNSSCertValidity.h
new file mode 100644
index 000000000..79c95e383
--- /dev/null
+++ b/security/manager/ssl/nsNSSCertValidity.h
@@ -0,0 +1,42 @@
+/* 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/. */
+
+#ifndef nsNSSCertValidity_h
+#define nsNSSCertValidity_h
+
+#include "ScopedNSSTypes.h"
+#include "nsIDateTimeFormat.h"
+#include "nsIX509CertValidity.h"
+#include "nsNSSShutDown.h"
+
+class nsX509CertValidity : public nsIX509CertValidity
+ , public nsNSSShutDownObject
+{
+public:
+ NS_DECL_THREADSAFE_ISUPPORTS
+ NS_DECL_NSIX509CERTVALIDITY
+
+ explicit nsX509CertValidity(const mozilla::UniqueCERTCertificate& cert);
+
+protected:
+ virtual ~nsX509CertValidity();
+
+ // Nothing to release.
+ virtual void virtualDestroyNSSReference() override {}
+
+private:
+ nsresult FormatTime(const PRTime& aTime,
+ PRTimeParamFn aParamFn,
+ const nsTimeFormatSelector aTimeFormatSelector,
+ nsAString& aFormattedTimeDate);
+
+ PRTime mNotBefore;
+ PRTime mNotAfter;
+ bool mTimesInitialized;
+
+ nsX509CertValidity(const nsX509CertValidity& x) = delete;
+ nsX509CertValidity& operator=(const nsX509CertValidity& x) = delete;
+};
+
+#endif // nsNSSCertValidity_h