Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997 - 1999
//
// File: certifct.h
//
// Contents:
//
//----------------------------------------------------------------------------
#ifndef __CERTIFICT_H
#define __CERTIFICT_H
#include "wincrypt.h"
#define MY_ENCODING_TYPE (PKCS_7_ASN_ENCODING | X509_ASN_ENCODING)
/////////////////////////////////////////////////////////////////////////////
// CCertificate
class CCertificate { public: CCertificate(const PCCERT_CONTEXT pCertContext, HCERTSTORE hCertStore); virtual ~CCertificate();
public: bool CanDelete(); BOOL DeleteFromStore (); HRESULT WriteToFile (HANDLE hFile); void Refresh (); int CompareExpireDate (const CCertificate& cert) const; BOOL IsMyStore () const; PCCERT_CONTEXT GetCertContext () const; HCERTSTORE GetCertStore () const; HRESULT GetAlternateSubjectName (PWSTR* ppszAltIssuerName); HRESULT GetAlternateIssuerName (PWSTR* ppszAltIssuerName); HRESULT GetEnhancedKeyUsage (PWSTR* ppszUsages); HRESULT GetValidNotAfter (PWSTR* pszValidNotAfter); HRESULT GetSubjectName (PWSTR *ppszSubjectName); HRESULT GetIssuerName (PWSTR *ppszIssuerName);
private: HRESULT FormatEnhancedKeyUsagePropertyString (); HRESULT ConvertAltNameToString (PWSTR szOID, const DWORD dwNameChoice, CString &strName);
private: // data
bool m_bCanDelete; DWORD m_fieldChecked; bool m_bCertContextFreed; CString m_szEnhancedKeyUsage; HCERTSTORE m_hCertStore; CString m_szAltSubjectName; CString m_szAltIssuerName; CString m_szValidNotAfter; CString m_szSubjectName; CString m_szIssuerName; PCERT_INFO m_pCertInfo; const PCCERT_CONTEXT m_pCertContext; protected: HRESULT GetNameString (DWORD dwFlag, CString &strString); HRESULT GetOIDInfo (PWSTR* string, PSTR pszObjId); HRESULT FormatDate (FILETIME utcDateTime, CString &strDateTime); };
#endif
|