00001 // $Id: XrdCryptosslX509Store.hh 22437 2008-03-04 14:35:16Z rdm $ 00002 #ifndef __CRYPTO_SSLX509STORE_H__ 00003 #define __CRYPTO_SSLX509STORE_H__ 00004 /******************************************************************************/ 00005 /* */ 00006 /* X r d C r y p t o s s l X 5 0 9 S t o r e . h h */ 00007 /* */ 00008 /* (c) 2005 G. Ganis , CERN */ 00009 /* */ 00010 /******************************************************************************/ 00011 00012 /* ************************************************************************** */ 00013 /* */ 00014 /* OpenSSL implementation of XrdCryptoX509Store */ 00015 /* */ 00016 /* ************************************************************************** */ 00017 00018 #include <XrdCrypto/XrdCryptoX509Store.hh> 00019 00020 // ---------------------------------------------------------------------------// 00021 // 00022 // OpenSSL X509 implementation 00023 // 00024 // ---------------------------------------------------------------------------// 00025 class XrdCryptosslX509Store : public XrdCryptoX509Store 00026 { 00027 public: 00028 XrdCryptosslX509Store(); 00029 virtual ~XrdCryptosslX509Store(); 00030 00031 // Dump information 00032 void Dump(); 00033 00034 // Validity 00035 bool IsValid(); 00036 00037 // Add certificates to store 00038 int Add(XrdCryptoX509 *); 00039 00040 // Verify the chain stored 00041 bool Verify(); 00042 00043 private: 00044 X509_STORE *store; // the store 00045 STACK_OF(X509) *chain; // chain of certificates other than CA 00046 }; 00047 00048 #endif