////////////////////////////////////////////////////////////////////////////////// // Name: actIX509Certificate.h // Product: cv act library // Purpose: The abstract class IX509Certificate enables access to a certificate, // e.g. its public key and the corresponding validity. // // Copyright: (c) 2000 cv cryptovision GmbH // all rights reserved // Licence: The conditions for the use of this software are regulated // in the cv act library licence agreement. ////////////////////////////////////////////////////////////////////////////////// #ifndef ACT_IX509Certificate_h #define ACT_IX509Certificate_h #include "actBasics.h" #include "actDate.h" #include "actICertificate.h" #include "actX509Extension.h" namespace act { class IKey; class Blob; class IX509Certificate : public ICertificate { public: virtual void SetValidityNotBefore(const Date &vnbefore ) =0; virtual void SetValidityNotAfter(const Date &vnafter ) =0; virtual void GetValidityNotBefore(Date &vnbefore ) const =0; virtual void GetValidityNotAfter(Date &vnafter ) const =0; virtual bool CheckValidity(const Date& date = Date() ) const =0; virtual X509Extension GetExtension(const char* oid) const=0; virtual X509Extension GetExtension(const act::Blob& oidbl) const=0; virtual void SetExtension(const X509Extension &ext)=0; virtual X509Extension GetNextExtension(const X509Extension& ext) const=0; virtual void RemoveExtension(const char* oid)=0; }; } // namespace act #endif