diff options
Diffstat (limited to 'security/manager/ssl/nsNSSASN1Object.h')
-rw-r--r-- | security/manager/ssl/nsNSSASN1Object.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/security/manager/ssl/nsNSSASN1Object.h b/security/manager/ssl/nsNSSASN1Object.h new file mode 100644 index 000000000..b995a58fc --- /dev/null +++ b/security/manager/ssl/nsNSSASN1Object.h @@ -0,0 +1,64 @@ +/* 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 _NSSASN_H_ +#define _NSSASN_H_ + +#include "nscore.h" +#include "nsIX509Cert.h" +#include "nsCOMPtr.h" +#include "nsString.h" +#include "nsIASN1Sequence.h" +#include "nsIASN1PrintableItem.h" +#include "nsIMutableArray.h" + +// +// Read comments in nsIX509Cert.idl for a description of the desired +// purpose for this ASN1 interface implementation. +// + +class nsNSSASN1Sequence : public nsIASN1Sequence +{ +public: + NS_DECL_ISUPPORTS + NS_DECL_NSIASN1SEQUENCE + NS_DECL_NSIASN1OBJECT + + nsNSSASN1Sequence(); +protected: + virtual ~nsNSSASN1Sequence(); + /* additional members */ +private: + nsCOMPtr<nsIMutableArray> mASN1Objects; + nsString mDisplayName; + nsString mDisplayValue; + uint32_t mType; + uint32_t mTag; + bool mIsValidContainer; + bool mIsExpanded; +}; + +class nsNSSASN1PrintableItem : public nsIASN1PrintableItem +{ +public: + NS_DECL_ISUPPORTS + NS_DECL_NSIASN1PRINTABLEITEM + NS_DECL_NSIASN1OBJECT + + nsNSSASN1PrintableItem(); +protected: + virtual ~nsNSSASN1PrintableItem(); + /* additional members */ +private: + nsString mDisplayName; + nsString mValue; + uint32_t mType; + uint32_t mTag; + unsigned char *mData; + uint32_t mLen; +}; + +nsresult CreateFromDER(unsigned char *data, + unsigned int len, + nsIASN1Object **retval); +#endif //_NSSASN_H_ |