xrootd
|
00001 // $Id$ 00002 #ifndef __CRYPTO_LOCALFACTORY_H__ 00003 #define __CRYPTO_LOCALFACTORY_H__ 00004 /******************************************************************************/ 00005 /* */ 00006 /* X r d C r y p t o L o c a l F a c t o r y . h h */ 00007 /* */ 00008 /* (c) 2004 by the Board of Trustees of the Leland Stanford, Jr., University */ 00009 /* All Rights Reserved. See XrdInfo.cc for complete License Terms */ 00010 /* Produced by Andrew Hanushevsky for Stanford University under contract */ 00011 /* DE-AC03-76-SFO0515 with the Department of Energy */ 00012 /******************************************************************************/ 00013 00014 /* ************************************************************************** */ 00015 /* */ 00016 /* Implementation of the local crypto factory */ 00017 /* */ 00018 /* ************************************************************************** */ 00019 00020 #include <XrdCrypto/XrdCryptoFactory.hh> 00021 00022 // The ID must be a unique number 00023 #define XrdCryptolocalFactoryID 0 00024 00025 class XrdCryptolocalFactory : public XrdCryptoFactory 00026 { 00027 public: 00028 XrdCryptolocalFactory(); 00029 virtual ~XrdCryptolocalFactory() { } 00030 00031 // Set trace flags 00032 void SetTrace(kXR_int32 trace); 00033 00034 // Hook to local KDFun 00035 XrdCryptoKDFunLen_t KDFunLen(); // Length of buffer 00036 XrdCryptoKDFun_t KDFun(); 00037 00038 // Cipher constructors 00039 XrdCryptoCipher *Cipher(const char *t, int l = 0); 00040 XrdCryptoCipher *Cipher(const char *t, int l, const char *k, 00041 int liv, const char *iv); 00042 XrdCryptoCipher *Cipher(XrdSutBucket *b); 00043 XrdCryptoCipher *Cipher(int bits, char *pub, int lpub, const char *t = 0); 00044 XrdCryptoCipher *Cipher(const XrdCryptoCipher &c); 00045 00046 // MsgDigest constructors 00047 XrdCryptoMsgDigest *MsgDigest(const char *dgst); 00048 00049 // RSA constructors 00050 XrdCryptoRSA *RSA(int bits = XrdCryptoDefRSABits, int exp = XrdCryptoDefRSAExp); 00051 XrdCryptoRSA *RSA(const char *pub, int lpub = 0); 00052 XrdCryptoRSA *RSA(const XrdCryptoRSA &r); 00053 }; 00054 00055 #endif