xrootd
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes

XrdCryptosslCipher Class Reference

#include <XrdCryptosslCipher.hh>

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

List of all members.

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)

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 [inline, virtual]

Reimplemented from XrdCryptoCipher.

References deflength.

bool XrdCryptosslCipher::IsSupported ( const char *  cip) [static]
bool XrdCryptosslCipher::IsValid ( ) [inline, virtual]

Reimplemented from XrdCryptoCipher.

References valid.

char* XrdCryptosslCipher::IV ( int &  l) const [inline, virtual]

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]
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: