Back to index

nordugrid-arc-nox  1.1.0~rc6
SAMLTokenSH.h
Go to the documentation of this file.
00001 #ifndef __ARC_SEC_SAMLTOKENSH_H__
00002 #define __ARC_SEC_SAMLTOKENSH_H__
00003 
00004 #include <stdlib.h>
00005 
00006 #include <arc/ArcConfig.h>
00007 #include <arc/message/Message.h>
00008 #include <arc/message/SecHandler.h>
00009 
00010 namespace ArcSec {
00011 
00013 
00014 class SAMLTokenSH : public SecHandler {
00015  private:
00016   enum {
00017     process_none,
00018     process_extract,
00019     process_generate
00020   } process_type_;
00021   enum {
00022     signature,
00023     encryption
00024   } usage_type_;
00025   std::string cert_file_;
00026   std::string key_file_;
00027   std::string ca_file_;
00028   std::string ca_dir_;
00029   std::string local_dn_;
00030   std::string aa_service_;
00031   mutable Arc::XMLNode saml_assertion_;
00032 
00033  public:
00034   SAMLTokenSH(Arc::Config *cfg, Arc::ChainContext* ctx);
00035   virtual ~SAMLTokenSH(void);
00036   static Arc::Plugin* get_sechandler(Arc::PluginArgument* arg);
00037   virtual bool Handle(Arc::Message* msg) const;
00038 };
00039 
00040 } // namespace ArcSec
00041 
00042 #endif /* __ARC_SEC_SAMLTOKENSH_H__ */
00043