00001
00002
00003 const char *XrdCryptoCipherCVSID = "$Id: XrdCryptoCipher.cc 30949 2009-11-02 16:37:58Z ganis $";
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include <string.h>
00023
00024 #include <XrdCrypto/XrdCryptoAux.hh>
00025 #include <XrdCrypto/XrdCryptoCipher.hh>
00026
00027
00028 bool XrdCryptoCipher::Finalize(char *, int, const char *)
00029 {
00030
00031 ABSTRACTMETHOD("XrdCryptoCipher::Finalize");
00032 return 0;
00033 }
00034
00035
00036 bool XrdCryptoCipher::IsValid()
00037 {
00038
00039 ABSTRACTMETHOD("XrdCryptoCipher::IsValid");
00040 return 0;
00041 }
00042
00043
00044 void XrdCryptoCipher::SetIV(int l, const char *iv)
00045 {
00046
00047
00048 ABSTRACTMETHOD("XrdCryptoCipher::SetIV");
00049 }
00050
00051
00052 char *XrdCryptoCipher::RefreshIV(int &l)
00053 {
00054
00055
00056 ABSTRACTMETHOD("XrdCryptoCipher::RefreshIV");
00057 return 0;
00058 }
00059
00060
00061 char *XrdCryptoCipher::IV(int &l) const
00062 {
00063
00064
00065 ABSTRACTMETHOD("XrdCryptoCipher::IV");
00066 return 0;
00067 }
00068
00069
00070 char *XrdCryptoCipher::Public(int &lpub)
00071 {
00072
00073
00074 ABSTRACTMETHOD("XrdCryptoCipher::Public");
00075 return 0;
00076 }
00077
00078
00079 XrdSutBucket *XrdCryptoCipher::AsBucket()
00080 {
00081
00082
00083
00084 ABSTRACTMETHOD("XrdCryptoCipher::AsBucket");
00085 return 0;
00086 }
00087
00088 int XrdCryptoCipher::Encrypt(const char *, int, char *)
00089 {
00090
00091
00092 ABSTRACTMETHOD("XrdCryptoCipher::Encrypt");
00093 return 0;
00094 }
00095
00096
00097 int XrdCryptoCipher::Decrypt(const char *, int, char *)
00098 {
00099
00100
00101 ABSTRACTMETHOD("XrdCryptoCipher::Decrypt");
00102 return 0;
00103 }
00104
00105
00106 int XrdCryptoCipher::EncOutLength(int)
00107 {
00108
00109
00110 ABSTRACTMETHOD("XrdCryptoCipher::EncOutLength");
00111 return 0;
00112 }
00113
00114
00115 int XrdCryptoCipher::DecOutLength(int)
00116 {
00117
00118
00119 ABSTRACTMETHOD("XrdCryptoCipher::DecOutLength");
00120 return 0;
00121 }
00122
00123
00124 bool XrdCryptoCipher::IsDefaultLength() const
00125 {
00126
00127
00128 ABSTRACTMETHOD("XrdCryptoCipher::IsDefaultLength");
00129 return 0;
00130 }
00131
00132
00133 int XrdCryptoCipher::Encrypt(XrdSutBucket &bck)
00134 {
00135
00136
00137 int snew = -1;
00138
00139 int sz = EncOutLength(bck.size);
00140 char *newbck = new char[sz];
00141 if (newbck) {
00142 memset(newbck, 0, sz);
00143 snew = Encrypt(bck.buffer,bck.size,newbck);
00144 if (snew > -1)
00145 bck.Update(newbck,snew);
00146 }
00147 return snew;
00148 }
00149
00150
00151 int XrdCryptoCipher::Decrypt(XrdSutBucket &bck)
00152 {
00153
00154
00155 int snew = -1;
00156
00157 int sz = DecOutLength(bck.size);
00158 char *newbck = new char[sz];
00159 if (newbck) {
00160 memset(newbck, 0, sz);
00161 snew = Decrypt(bck.buffer,bck.size,newbck);
00162 if (snew > -1)
00163 bck.Update(newbck,snew);
00164 }
00165 return snew;
00166 }