00001 00010 #ifndef __PKIFREVOCATIONINTERFACES_H__ 00011 #define __PKIFREVOCATIONINTERFACES_H__ 00012 00013 #include "PKIFdll.h" 00014 #include "PathConstants.h" 00015 00016 FD_SMART_PTR(CPKIFCertificate); 00017 FD_SMART_PTR(CPKIFCertStatus); 00018 00019 class CPKIFCertificatePath; 00029 class CAC_API IPKIFRevocationStatus 00030 { 00031 public: 00032 IPKIFRevocationStatus(); //added 8/21/2004 00033 00034 //checks the status of a single certificate 00035 virtual bool CheckStatus( 00036 const CPKIFCertificatePtr& targetCert, //IN: cert for which revocation status is sought 00037 const CPKIFCertificatePtr& issuersCert, //IN: cert of target's issuer 00038 RevocationStatus& status, //OUT: revocation status 00039 CPKIFCertStatusPtr& certStatus //OUT: additional info in cert status vessel 00040 ) = 0; 00041 00042 //checks the status of all certificates in the path 00043 virtual bool CheckStatusPath( 00044 CPKIFCertificatePath& path, //IN: path containing certs for which revocation status is sought 00045 RevocationStatus& status //OUT: low water mark of revocation status checking 00046 ) = 0; 00047 private: 00048 //added 8/21/2004 00050 IPKIFRevocationStatus(const IPKIFRevocationStatus& copy); 00052 IPKIFRevocationStatus& operator=(const IPKIFRevocationStatus& rhs); 00053 }; 00054 DECLARE_SMART_POINTERS(IPKIFRevocationStatus); 00055 #endif 00056