00001 #ifndef __CRYPTO_SSLFACTORY_H__
00002 #define __CRYPTO_SSLFACTORY_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #ifndef __CRYPTO_FACTORY_H__
00038 #include "XrdCrypto/XrdCryptoFactory.hh"
00039 #endif
00040
00041 #include "XrdSys/XrdSysPthread.hh"
00042
00043 int DebugON = 1;
00044
00045
00046 #define XrdCryptosslFactoryID 1
00047
00048 class XrdCryptosslFactory : public XrdCryptoFactory
00049 {
00050 public:
00051 XrdCryptosslFactory();
00052 virtual ~XrdCryptosslFactory() { }
00053
00054
00055 void SetTrace(kXR_int32 trace);
00056
00057
00058 XrdCryptoKDFunLen_t KDFunLen();
00059 XrdCryptoKDFun_t KDFun();
00060
00061
00062 bool SupportedCipher(const char *t);
00063 bool HasPaddingSupport();
00064 XrdCryptoCipher *Cipher(const char *t, int l = 0);
00065 XrdCryptoCipher *Cipher(const char *t, int l, const char *k,
00066 int liv, const char *iv);
00067 XrdCryptoCipher *Cipher(XrdSutBucket *b);
00068 XrdCryptoCipher *Cipher(int bits, char *pub, int lpub, const char *t = 0);
00069 XrdCryptoCipher *Cipher(bool padded, int bits, char *pub, int lpub, const char *t = 0);
00070 XrdCryptoCipher *Cipher(const XrdCryptoCipher &c);
00071
00072
00073 bool SupportedMsgDigest(const char *dgst);
00074 XrdCryptoMsgDigest *MsgDigest(const char *dgst);
00075
00076
00077 XrdCryptoRSA *RSA(int bits = XrdCryptoDefRSABits, int exp = XrdCryptoDefRSAExp);
00078 XrdCryptoRSA *RSA(const char *pub, int lpub = 0);
00079 XrdCryptoRSA *RSA(const XrdCryptoRSA &r);
00080
00081
00082 XrdCryptoX509 *X509(const char *cf, const char *kf = 0);
00083 XrdCryptoX509 *X509(XrdSutBucket *b);
00084
00085
00086 XrdCryptoX509Crl *X509Crl(const char *crlfile, int opt = 0);
00087 XrdCryptoX509Crl *X509Crl(XrdCryptoX509 *cacert);
00088
00089
00090 XrdCryptoX509Req *X509Req(XrdSutBucket *bck);
00091
00092
00093 XrdCryptoX509VerifyCert_t X509VerifyCert();
00094 XrdCryptoX509VerifyChain_t X509VerifyChain();
00095 XrdCryptoX509ParseFile_t X509ParseFile();
00096 XrdCryptoX509ParseBucket_t X509ParseBucket();
00097 XrdCryptoX509ExportChain_t X509ExportChain();
00098 XrdCryptoX509ChainToFile_t X509ChainToFile();
00099
00100
00101 XrdCryptoProxyCertInfo_t ProxyCertInfo();
00102 XrdCryptoSetPathLenConstraint_t SetPathLenConstraint();
00103 XrdCryptoX509CreateProxy_t X509CreateProxy();
00104 XrdCryptoX509CreateProxyReq_t X509CreateProxyReq();
00105 XrdCryptoX509SignProxyReq_t X509SignProxyReq();
00106 XrdCryptoX509CheckProxy3_t X509CheckProxy3();
00107 XrdCryptoX509GetVOMSAttr_t X509GetVOMSAttr();
00108
00109 };
00110
00111 #endif