00001
00002 #ifndef __CRYPTO_SSLFACTORY_H__
00003 #define __CRYPTO_SSLFACTORY_H__
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CRYPTO_FACTORY_H__
00021 #include "XrdCrypto/XrdCryptoFactory.hh"
00022 #endif
00023
00024 int DebugON = 1;
00025
00026
00027 #define XrdCryptosslFactoryID 1
00028
00029 class XrdCryptosslFactory : public XrdCryptoFactory
00030 {
00031 public:
00032 XrdCryptosslFactory();
00033 virtual ~XrdCryptosslFactory() { }
00034
00035
00036 void SetTrace(kXR_int32 trace);
00037
00038
00039 XrdCryptoKDFunLen_t KDFunLen();
00040 XrdCryptoKDFun_t KDFun();
00041
00042
00043 bool SupportedCipher(const char *t);
00044 XrdCryptoCipher *Cipher(const char *t, int l = 0);
00045 XrdCryptoCipher *Cipher(const char *t, int l, const char *k,
00046 int liv, const char *iv);
00047 XrdCryptoCipher *Cipher(XrdSutBucket *b);
00048 XrdCryptoCipher *Cipher(int bits, char *pub, int lpub, const char *t = 0);
00049 XrdCryptoCipher *Cipher(const XrdCryptoCipher &c);
00050
00051
00052 bool SupportedMsgDigest(const char *dgst);
00053 XrdCryptoMsgDigest *MsgDigest(const char *dgst);
00054
00055
00056 XrdCryptoRSA *RSA(int bits = XrdCryptoDefRSABits, int exp = XrdCryptoDefRSAExp);
00057 XrdCryptoRSA *RSA(const char *pub, int lpub = 0);
00058 XrdCryptoRSA *RSA(const XrdCryptoRSA &r);
00059
00060
00061 XrdCryptoX509 *X509(const char *cf, const char *kf = 0);
00062 XrdCryptoX509 *X509(XrdSutBucket *b);
00063
00064
00065 XrdCryptoX509Crl *X509Crl(const char *crlfile, int opt = 0);
00066 XrdCryptoX509Crl *X509Crl(XrdCryptoX509 *cacert);
00067
00068
00069 XrdCryptoX509Req *X509Req(XrdSutBucket *bck);
00070
00071
00072 XrdCryptoX509VerifyCert_t X509VerifyCert();
00073 XrdCryptoX509VerifyChain_t X509VerifyChain();
00074 XrdCryptoX509ParseFile_t X509ParseFile();
00075 XrdCryptoX509ParseBucket_t X509ParseBucket();
00076 XrdCryptoX509ExportChain_t X509ExportChain();
00077 XrdCryptoX509ChainToFile_t X509ChainToFile();
00078 };
00079
00080 #endif