CPaddingSSLv3 Class Reference
class CPaddingSSLv3 : public CPadding
|
This concrete subclass of
CPadding
implements padding according to the SSLv3/TLS standard.
The SSL 3.0 spec does not specifiy the padding bytes to be used - it is assumed to be arbitrary (and the openssl implementation uses non-zero random data). The TLS spec however states that padding bytes should be the length of the padding - 1. This class implements the latter when padding, but does not check the padding byes when unpadding, so as to be interoperable with SSL 3.0.
Inherited Functions
|
|
CBase::CBase()
|
|
CBase::Delete(CBase *)
|
|
CBase::Extension_(TUint,TAny *&,TAny *)
|
|
CBase::operator new(TUint)
|
|
CBase::operator new(TUint,TAny *)
|
|
CBase::operator new(TUint,TLeave)
|
|
CBase::operator new(TUint,TLeave,TUint)
|
|
CBase::operator new(TUint,TUint)
|
|
CBase::~CBase()
|
|
CPadding::BlockSize(void)const
|
|
CPadding::CPadding(TInt)
|
|
CPadding::GetExtension(TUint,TAny *&,TAny *)
|
|
CPadding::MaxUnPaddedLength(TInt)const
|
|
CPadding::PadL(const TDesC8 &,TDes8 &)
|
|
CPadding::SetBlockSize(TInt)
|
Constructor & Destructor Documentation
CPaddingSSLv3(TInt)
IMPORT_C
|
CPaddingSSLv3
|
(
|
TInt
|
aBlockBytes
|
)
|
[protected]
|
Parameters
TInt
aBlockBytes
|
The block size in bytes.
|
CPaddingSSLv3(void)
CPaddingSSLv3
|
(
|
void
|
|
)
|
[private]
|
CPaddingSSLv3(const CPaddingSSLv3 &)
Member Functions Documentation
DoPadL(const TDesC8 &, TDes8 &)
void
|
DoPadL
|
(
|
const
TDesC8
&
|
aInput,
|
|
TDes8
&
|
aOutput
|
|
)
|
[private, virtual]
|
MaxPaddedLength(TInt)
TInt
|
MaxPaddedLength
|
(
|
TInt
|
aInputBytes
|
)
|
const [virtual]
|
Gets the size of the aOutput buffer, in a call to
PadL()
, must be in order to accommodate a block size of
BlockSize()
and an input size of aInputBytes.
Note:
By default, this function returns the output of
BlockSize()
. If a derived padding system outputs more than a single block of padding, one must override this function and return the appropriate value.
Parameters
TInt
aInputBytes
|
The amount of data to be padded out in bytes.
|
MinPaddingLength(void)
TInt
|
MinPaddingLength
|
(
|
void
|
|
)
|
const [virtual]
|
Gets the smallest number of bytes that
PadL()
will ever add to aInput in order to get a valid block aligned aOutput.
For example, in SSLv3 padding, if the block size is 8 and aInput is 7 bytes, it will append 1 byte of padding. For SSLv3 padding, this is the smallest amount possible as an 8 byte input will add another block size (8 more bytes) of padded data.
NewL(TInt)
Parameters
TInt
aBlockBytes
|
The block size in bytes.
|
NewLC(TInt)
Creates a new
CPaddingSSLv3
object and leaves a pointer to it on the cleanup stack.
Parameters
TInt
aBlockBytes
|
The block size in bytes.
|
UnPadL(const TDesC8 &, TDes8 &)
void
|
UnPadL
|
(
|
const
TDesC8
&
|
aInput,
|
|
TDes8
&
|
aOutput
|
|
)
|
[virtual]
|
Removes padding from aInput and appends unpadded result to aOutput.
Parameters
const
TDesC8
& aInput
|
Data to be unpadded.
|
TDes8
& aOutput
|
On return, the unpadded data.
|
operator=(const CPaddingSSLv3 &)
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.