#include <XrdCryptosslCipher.hh>
Inheritance diagram for XrdCryptosslCipher:
Public Member Functions | |
XrdCryptosslCipher (const char *t, int l=0) | |
XrdCryptosslCipher (const char *t, int l, const char *k, int liv, const char *iv) | |
XrdCryptosslCipher (XrdSutBucket *b) | |
XrdCryptosslCipher (int len, char *pub, int lpub, const char *t) | |
XrdCryptosslCipher (const XrdCryptosslCipher &c) | |
virtual | ~XrdCryptosslCipher () |
bool | Finalize (char *pub, int lpub, const char *t) |
void | Cleanup () |
bool | IsValid () |
int | EncOutLength (int l) |
int | DecOutLength (int l) |
char * | Public (int &lpub) |
XrdSutBucket * | AsBucket () |
char * | IV (int &l) const |
bool | IsDefaultLength () const |
void | SetIV (int l, const char *iv) |
int | Encrypt (const char *bin, int lin, char *out) |
int | Decrypt (const char *bin, int lin, char *out) |
char * | RefreshIV (int &l) |
Static Public Member Functions | |
static bool | IsSupported (const char *cip) |
Private Member Functions | |
void | GenerateIV () |
int | EncDec (int encdec, const char *bin, int lin, char *out) |
void | PrintPublic (BIGNUM *pub) |
int | Publen () |
Private Attributes | |
char * | fIV |
int | lIV |
const EVP_CIPHER * | cipher |
EVP_CIPHER_CTX | ctx |
DH * | fDH |
bool | deflength |
bool | valid |
Definition at line 32 of file XrdCryptosslCipher.hh.
XrdCryptosslCipher::XrdCryptosslCipher | ( | const char * | t, | |
int | l = 0 | |||
) |
Definition at line 44 of file XrdCryptosslCipher.cc.
References cipher, ctx, deflength, fDH, fIV, GenerateIV(), XrdSutRndm::GetBuffer(), XrdCryptoBasic::Length(), lIV, XrdCryptoBasic::SetBuffer(), XrdCryptoBasic::SetType(), strcpy(), and valid.
XrdCryptosslCipher::XrdCryptosslCipher | ( | const char * | t, | |
int | l, | |||
const char * | k, | |||
int | liv, | |||
const char * | iv | |||
) |
Definition at line 105 of file XrdCryptosslCipher.cc.
References XrdCryptoBasic::Buffer(), cipher, ctx, deflength, fDH, fIV, XrdCryptoBasic::Length(), lIV, XrdCryptoBasic::SetBuffer(), SetIV(), XrdCryptoBasic::SetType(), strcpy(), and valid.
XrdCryptosslCipher::XrdCryptosslCipher | ( | XrdSutBucket * | b | ) |
Definition at line 157 of file XrdCryptosslCipher.cc.
References buf, XrdCryptoBasic::Buffer(), XrdSutBucket::buffer, cipher, ctx, deflength, fDH, fIV, XrdCryptoBasic::Length(), lIV, SetIV(), XrdCryptoBasic::SetType(), XrdSutBucket::size, XrdCryptoBasic::UseBuffer(), and valid.
XrdCryptosslCipher::XrdCryptosslCipher | ( | int | len, | |
char * | pub, | |||
int | lpub, | |||
const char * | t | |||
) |
Definition at line 319 of file XrdCryptosslCipher.cc.
References cipher, Cleanup(), ctx, DEBUG, deflength, EPNAME, fDH, fIV, int, kDHMINBITS, XrdCryptoBasic::Length(), lIV, XrdCryptoBasic::SetBuffer(), XrdCryptoBasic::SetType(), strcpy(), and valid.
XrdCryptosslCipher::XrdCryptosslCipher | ( | const XrdCryptosslCipher & | c | ) |
Definition at line 455 of file XrdCryptosslCipher.cc.
References c, cipher, ctx, deflength, fDH, fIV, lIV, XrdCryptoBasic::SetBuffer(), SetIV(), XrdCryptoBasic::SetType(), and valid.
XrdCryptosslCipher::~XrdCryptosslCipher | ( | ) | [virtual] |
void XrdCryptosslCipher::GenerateIV | ( | ) | [private] |
Definition at line 826 of file XrdCryptosslCipher.cc.
References fIV, XrdSutRndm::GetBuffer(), and lIV.
Referenced by RefreshIV(), and XrdCryptosslCipher().
int XrdCryptosslCipher::EncDec | ( | int | encdec, | |
const char * | bin, | |||
int | lin, | |||
char * | out | |||
) | [private] |
Definition at line 866 of file XrdCryptosslCipher.cc.
References XrdCryptoBasic::Buffer(), cipher, ctx, DEBUG, deflength, EPNAME, fIV, and XrdCryptoBasic::Length().
void XrdCryptosslCipher::PrintPublic | ( | BIGNUM * | pub | ) | [private] |
int XrdCryptosslCipher::Publen | ( | ) | [private] |
bool XrdCryptosslCipher::Finalize | ( | char * | pub, | |
int | lpub, | |||
const char * | t | |||
) | [virtual] |
Reimplemented from XrdCryptoCipher.
Definition at line 519 of file XrdCryptosslCipher.cc.
References cipher, Cleanup(), ctx, DEBUG, deflength, EPNAME, fDH, int, XrdCryptoBasic::Length(), XrdCryptoBasic::SetBuffer(), XrdCryptoBasic::SetType(), strcpy(), and valid.
void XrdCryptosslCipher::Cleanup | ( | ) |
Definition at line 507 of file XrdCryptosslCipher.cc.
References fDH.
Referenced by Finalize(), XrdCryptosslCipher(), and ~XrdCryptosslCipher().
bool XrdCryptosslCipher::IsValid | ( | ) | [inline, virtual] |
Reimplemented from XrdCryptoCipher.
Definition at line 62 of file XrdCryptosslCipher.hh.
References valid.
bool XrdCryptosslCipher::IsSupported | ( | const char * | cip | ) | [static] |
Definition at line 36 of file XrdCryptosslCipher.cc.
Referenced by XrdCryptosslFactory::SupportedCipher().
int XrdCryptosslCipher::EncOutLength | ( | int | l | ) | [virtual] |
Reimplemented from XrdCryptoCipher.
Definition at line 935 of file XrdCryptosslCipher.cc.
References ctx.
int XrdCryptosslCipher::DecOutLength | ( | int | l | ) | [virtual] |
Reimplemented from XrdCryptoCipher.
Definition at line 943 of file XrdCryptosslCipher.cc.
References ctx.
char * XrdCryptosslCipher::Public | ( | int & | lpub | ) | [virtual] |
XrdSutBucket * XrdCryptosslCipher::AsBucket | ( | ) | [virtual] |
Reimplemented from XrdCryptoCipher.
Definition at line 711 of file XrdCryptosslCipher.cc.
References XrdCryptoBasic::Buffer(), fDH, fIV, kXRS_cipher, XrdCryptoBasic::Length(), lIV, XrdCryptoBasic::Type(), and valid.
char* XrdCryptosslCipher::IV | ( | int & | l | ) | const [inline, virtual] |
bool XrdCryptosslCipher::IsDefaultLength | ( | ) | const [inline, virtual] |
Reimplemented from XrdCryptoCipher.
Definition at line 75 of file XrdCryptosslCipher.hh.
References deflength.
void XrdCryptosslCipher::SetIV | ( | int | l, | |
const char * | iv | |||
) | [virtual] |
Reimplemented from XrdCryptoCipher.
Definition at line 793 of file XrdCryptosslCipher.cc.
Referenced by XrdCryptosslCipher().
int XrdCryptosslCipher::Encrypt | ( | const char * | bin, | |
int | lin, | |||
char * | out | |||
) | [virtual] |
Reimplemented from XrdCryptoCipher.
Definition at line 844 of file XrdCryptosslCipher.cc.
References EncDec().
int XrdCryptosslCipher::Decrypt | ( | const char * | bin, | |
int | lin, | |||
char * | out | |||
) | [virtual] |
Reimplemented from XrdCryptoCipher.
Definition at line 855 of file XrdCryptosslCipher.cc.
References EncDec().
char * XrdCryptosslCipher::RefreshIV | ( | int & | l | ) | [virtual] |
Reimplemented from XrdCryptoCipher.
Definition at line 813 of file XrdCryptosslCipher.cc.
References fIV, GenerateIV(), and lIV.
char* XrdCryptosslCipher::fIV [private] |
Definition at line 35 of file XrdCryptosslCipher.hh.
Referenced by AsBucket(), EncDec(), GenerateIV(), IV(), RefreshIV(), SetIV(), XrdCryptosslCipher(), and ~XrdCryptosslCipher().
int XrdCryptosslCipher::lIV [private] |
Definition at line 36 of file XrdCryptosslCipher.hh.
Referenced by AsBucket(), GenerateIV(), IV(), RefreshIV(), SetIV(), and XrdCryptosslCipher().
const EVP_CIPHER* XrdCryptosslCipher::cipher [private] |
Definition at line 37 of file XrdCryptosslCipher.hh.
Referenced by EncDec(), Finalize(), and XrdCryptosslCipher().
EVP_CIPHER_CTX XrdCryptosslCipher::ctx [private] |
Definition at line 38 of file XrdCryptosslCipher.hh.
Referenced by DecOutLength(), EncDec(), EncOutLength(), Finalize(), XrdCryptosslCipher(), and ~XrdCryptosslCipher().
DH* XrdCryptosslCipher::fDH [private] |
Definition at line 39 of file XrdCryptosslCipher.hh.
Referenced by AsBucket(), Cleanup(), Finalize(), Publen(), Public(), and XrdCryptosslCipher().
bool XrdCryptosslCipher::deflength [private] |
Definition at line 40 of file XrdCryptosslCipher.hh.
Referenced by EncDec(), Finalize(), IsDefaultLength(), and XrdCryptosslCipher().
bool XrdCryptosslCipher::valid [private] |
Definition at line 41 of file XrdCryptosslCipher.hh.
Referenced by AsBucket(), Finalize(), IsValid(), XrdCryptosslCipher(), and ~XrdCryptosslCipher().