00001 
00002 #ifndef __CRYPTO_LOCALFACTORY_H__
00003 #define __CRYPTO_LOCALFACTORY_H__
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #include <XrdCrypto/XrdCryptoFactory.hh>
00021 
00022 
00023 #define XrdCryptolocalFactoryID  0
00024 
00025 class XrdCryptolocalFactory : public XrdCryptoFactory 
00026 {
00027 public:
00028    XrdCryptolocalFactory();
00029    virtual ~XrdCryptolocalFactory() { }
00030 
00031    
00032    void SetTrace(kXR_int32 trace);
00033 
00034    
00035    XrdCryptoKDFunLen_t KDFunLen(); 
00036    XrdCryptoKDFun_t KDFun();
00037 
00038    
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    
00047    XrdCryptoMsgDigest *MsgDigest(const char *dgst);
00048 
00049    
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