CRLReason.h
Go to the documentation of this file.00001
00009 #ifndef __CRLReason_H__
00010 #define __CRLReason_H__
00011
00012 #if _MSC_VER > 1000
00013 #pragma once
00014 #endif // _MSC_VER > 1000
00015
00016
00017 #include "PKIFdll.h"
00018 #define CAC_API_FACTORY
00019
00020 #include "X509Extension.h"
00021
00022
00023 struct CPKIFCRLReasonImpl;
00024
00050 class CAC_API CPKIFCRLReason : public CPKIFX509Extension
00051 {
00052 public:
00053 CPKIFCRLReason();
00054 CPKIFCRLReason(const int reason);
00055
00056 CPKIFCRLReason(const bool& criticality, const CPKIFBufferPtr& ext);
00057
00058
00059 virtual ~CPKIFCRLReason();
00064 static char extOID[];
00065 const CPKIFOIDPtr oid() const;
00066
00067 bool Unspecified() const;
00068 bool KeyCompromise() const;
00069 bool CACompromise() const;
00070 bool AffiliationChanged() const;
00071 bool Superseded() const;
00072 bool CessationOfOperation() const;
00073 bool CertificateHold() const;
00074 bool RemoveFromCRL() const;
00075
00076 CPKIFBufferPtr value() const;
00077
00078 private:
00079
00080
00081
00082 CPKIFCRLReason(const CPKIFCRLReason& ext);
00083 CPKIFCRLReason& operator=(const CPKIFCRLReason& rhs);
00084
00085 enum {UNSPEC, KEYCOMP,CACOMP,AFFILCHANGE,SUPERSEDED,CESSOFOPER,CERTHOLD,REMOVE};
00086
00087 CPKIFCRLReasonImpl *m_impl;
00088 };
00089 DECLARE_SMART_POINTERS(CPKIFCRLReason);
00090 #endif