xrootd
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
XrdCryptosslCipher Class Reference

#include <XrdCryptosslCipher.hh>

Inheritance diagram for XrdCryptosslCipher:
Inheritance graph
[legend]
Collaboration diagram for XrdCryptosslCipher:
Collaboration graph
[legend]

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)
XrdSutBucketAsBucket ()
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)
- Public Member Functions inherited from XrdCryptoCipher
 XrdCryptoCipher ()
virtual ~XrdCryptoCipher ()
int Encrypt (XrdSutBucket &buck)
int Decrypt (XrdSutBucket &buck)
- Public Member Functions inherited from XrdCryptoBasic
 XrdCryptoBasic (const char *t=0, int l=0, const char *b=0)
virtual ~XrdCryptoBasic ()
char * AsHexString ()
virtual int Length () const
virtual char * Buffer () const
virtual char * Type () const
virtual int FromHex (const char *hex)
virtual int SetLength (int l)
virtual int SetBuffer (int l, const char *b)
virtual int SetType (const char *t)
virtual void UseBuffer (int l, const char *b)

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

Constructor & Destructor Documentation

XrdCryptosslCipher::XrdCryptosslCipher ( const char *  t,
int  l = 0 
)
XrdCryptosslCipher::XrdCryptosslCipher ( const char *  t,
int  l,
const char *  k,
int  liv,
const char *  iv 
)
XrdCryptosslCipher::XrdCryptosslCipher ( XrdSutBucket b)
XrdCryptosslCipher::XrdCryptosslCipher ( int  len,
char *  pub,
int  lpub,
const char *  t 
)
XrdCryptosslCipher::XrdCryptosslCipher ( const XrdCryptosslCipher c)
XrdCryptosslCipher::~XrdCryptosslCipher ( )
virtual

References Cleanup(), ctx, fIV, and valid.

Member Function Documentation

XrdSutBucket * XrdCryptosslCipher::AsBucket ( )
virtual
void XrdCryptosslCipher::Cleanup ( )

References fDH.

Referenced by Finalize(), XrdCryptosslCipher(), and ~XrdCryptosslCipher().

int XrdCryptosslCipher::DecOutLength ( int  l)
virtual

Reimplemented from XrdCryptoCipher.

References ctx.

int XrdCryptosslCipher::Decrypt ( const char *  bin,
int  lin,
char *  out 
)
virtual

Reimplemented from XrdCryptoCipher.

References EncDec().

int XrdCryptosslCipher::EncDec ( int  encdec,
const char *  bin,
int  lin,
char *  out 
)
private
int XrdCryptosslCipher::EncOutLength ( int  l)
virtual

Reimplemented from XrdCryptoCipher.

References ctx.

int XrdCryptosslCipher::Encrypt ( const char *  bin,
int  lin,
char *  out 
)
virtual

Reimplemented from XrdCryptoCipher.

References EncDec().

bool XrdCryptosslCipher::Finalize ( char *  pub,
int  lpub,
const char *  t 
)
virtual
void XrdCryptosslCipher::GenerateIV ( )
private

References fIV, XrdSutRndm::GetBuffer(), and lIV.

Referenced by RefreshIV(), and XrdCryptosslCipher().

bool XrdCryptosslCipher::IsDefaultLength ( ) const
inlinevirtual

Reimplemented from XrdCryptoCipher.

References deflength.

bool XrdCryptosslCipher::IsSupported ( const char *  cip)
static
bool XrdCryptosslCipher::IsValid ( )
inlinevirtual

Reimplemented from XrdCryptoCipher.

References valid.

char* XrdCryptosslCipher::IV ( int &  l) const
inlinevirtual

Reimplemented from XrdCryptoCipher.

References fIV, and lIV.

void XrdCryptosslCipher::PrintPublic ( BIGNUM *  pub)
private

References Publen().

int XrdCryptosslCipher::Publen ( )
private

References fDH.

Referenced by PrintPublic(), and Public().

char * XrdCryptosslCipher::Public ( int &  lpub)
virtual

Reimplemented from XrdCryptoCipher.

References fDH, and Publen().

char * XrdCryptosslCipher::RefreshIV ( int &  l)
virtual

Reimplemented from XrdCryptoCipher.

References fIV, GenerateIV(), and lIV.

void XrdCryptosslCipher::SetIV ( int  l,
const char *  iv 
)
virtual

Reimplemented from XrdCryptoCipher.

References fIV, and lIV.

Referenced by XrdCryptosslCipher().

Member Data Documentation

const EVP_CIPHER* XrdCryptosslCipher::cipher
private
EVP_CIPHER_CTX XrdCryptosslCipher::ctx
private
bool XrdCryptosslCipher::deflength
private
DH* XrdCryptosslCipher::fDH
private
char* XrdCryptosslCipher::fIV
private
int XrdCryptosslCipher::lIV
private
bool XrdCryptosslCipher::valid
private

The documentation for this class was generated from the following files: