CSenWsSecurityHeader2 Class Reference

Link against: senmessages.lib


#include <SenWsSecurityHeader2.h>

Inherits CSenFragmentBase.


Detailed Description

CSenWsSecurityHeader represents security header functionality according to oasis web services security (WSS) specifications (2004/01).
Dll SenUtils.lib
Since:
Series60 3.0

Public Types

enum   TPasswordType { EText = 1, EDigest }
  PasswordType Enumeration. More...

Public Member Functions

virtual IMPORT_C  ~CSenWsSecurityHeader2 ()
  Destructor.
IMPORT_C HBufC8 *  UsernameTokenL (CSenIdentityProvider &aIdentityProvider)
  Constructs a username token.
IMPORT_C HBufC8 *  UsernameTokenL (CSenIdentityProvider &aIdentityProvider, CSenWsSecurityHeader2::TPasswordType aType)
  Constructs a username token.
virtual IMPORT_C TPtrC8  XmlNs ()
  Basic getter for XML namespace of the WS security header.
virtual IMPORT_C TPtrC8  XmlNsPrefix ()
  Basic getter for XML namespace prefix of the WS security header.

Static Public Member Functions

static IMPORT_C CSenWsSecurityHeader2 NewL (RSenDocument aDocument, TXmlEngElement aElement)
  Basic constructor.
static IMPORT_C CSenWsSecurityHeader2 NewLC (RSenDocument aDocument, TXmlEngElement aElement)
  Basic constructor.
static IMPORT_C CSenWsSecurityHeader2 NewL (const TDesC8 &aData, RSenDocument aDocument, TXmlEngElement aElement)
  Basic constructor.
static IMPORT_C CSenWsSecurityHeader2 NewLC (const TDesC8 &aData, RSenDocument aDocument, TXmlEngElement aElement)
  Basic constructor.
static IMPORT_C CSenWsSecurityHeader2 NewL (const TDesC8 &aData, const TDesC8 &aSecurityNs, RSenDocument aDocument, TXmlEngElement aElement)
  Basic constructor.
static IMPORT_C CSenWsSecurityHeader2 NewLC (const TDesC8 &aData, const TDesC8 &aSecurityNs, RSenDocument aDocument, TXmlEngElement aElement)
  Basic constructor.
static IMPORT_C TInt  UsernameTokenL (const TDesC8 &aUsername, HBufC8 *&aToken)
  Constructs a username token.
static IMPORT_C TInt  UsernameTokenL (const TDesC8 &aUsername, const TDesC8 &aPassword, HBufC8 *&aToken)
  Constructs a username token using a password, too.
static IMPORT_C TInt  UsernameTokenL (const TDesC8 &aUsername, const TDesC8 &aPassword, CSenWsSecurityHeader2::TPasswordType aType, HBufC8 *&aToken)
  Constructs a username token using a password, too.
static IMPORT_C TInt  TimestampL (const TDesC8 &aCreated, const TDesC8 &aExpires, HBufC8 *&aTimestamp)
  Constructs a timestamp.
static IMPORT_C TInt  TimestampL (const TDesC8 &aCreated, HBufC8 *&aTimestamp)
  Constructs a timestamp.

Protected Member Functions

IMPORT_C  CSenWsSecurityHeader2 ()
  C++ default constructor.
IMPORT_C void  BaseConstructL (RSenDocument aDocument, TXmlEngElement aElement)
  Basic BaseConstructL function.
IMPORT_C void  BaseConstructL (const TDesC8 &aData, RSenDocument aDocument, TXmlEngElement aElement)
  From CSenBaseFragment Basic BaseConstructL function.
IMPORT_C void  BaseConstructL (const TDesC8 &aData, const TDesC8 &aSecurityNs, RSenDocument aDocument, TXmlEngElement aElement)
  From CSenBaseFragment Basic BaseConstructL function.

Member Enumeration Documentation

enum CSenWsSecurityHeader2::TPasswordType
 

PasswordType Enumeration.

Enumerator:
EText 
EDigest 

Constructor & Destructor Documentation

virtual IMPORT_C CSenWsSecurityHeader2::~CSenWsSecurityHeader2  )  [virtual]
 

Destructor.

IMPORT_C CSenWsSecurityHeader2::CSenWsSecurityHeader2  )  [protected]
 

C++ default constructor.


Member Function Documentation

IMPORT_C void CSenWsSecurityHeader2::BaseConstructL const TDesC8 &  aData,
const TDesC8 &  aSecurityNs,
RSenDocument  aDocument,
TXmlEngElement  aElement
[protected]
 

From CSenBaseFragment Basic BaseConstructL function.

Since:
Series60 3.0
Parameters:
aData  Data which will be used as current token (content) of this security header
aSecurityNs  A namespace to be set to the header.
aDocument  The document which will be the owner of the elements of this header
aElement  An element which will be parent for this header.
IMPORT_C void CSenWsSecurityHeader2::BaseConstructL const TDesC8 &  aData,
RSenDocument  aDocument,
TXmlEngElement  aElement
[protected]
 

From CSenBaseFragment Basic BaseConstructL function.

Since:
Series60 3.0
Parameters:
aData  Data which will be used as current token (content) of this security header
aDocument  The document which will be the owner of the elements of this header
aElement  An element which will be parent for this header.
IMPORT_C void CSenWsSecurityHeader2::BaseConstructL RSenDocument  aDocument,
TXmlEngElement  aElement
[protected]
 

Basic BaseConstructL function.

static IMPORT_C CSenWsSecurityHeader2* CSenWsSecurityHeader2::NewL const TDesC8 &  aData,
const TDesC8 &  aSecurityNs,
RSenDocument  aDocument,
TXmlEngElement  aElement
[static]
 

Basic constructor.

Parameters:
aData  Data to be set as header's content.
aSecurityNs  A namespace to be set to the header.
aDocument  The document which will be the owner of the elements of this header
aElement  An element which will be parent for this header.
Returns:
a pointer to new CSenWsSecurityHeader class instance.
static IMPORT_C CSenWsSecurityHeader2* CSenWsSecurityHeader2::NewL const TDesC8 &  aData,
RSenDocument  aDocument,
TXmlEngElement  aElement
[static]
 

Basic constructor.

Parameters:
aData  Data to be set as header's content.
aDocument  The document which will be the owner of the elements of this header
aElement  An element which will be parent for this header.
Returns:
a pointer to new CSenWsSecurityHeader class instance.
static IMPORT_C CSenWsSecurityHeader2* CSenWsSecurityHeader2::NewL RSenDocument  aDocument,
TXmlEngElement  aElement
[static]
 

Basic constructor.

Parameters:
aDocument  The document which will be the owner of the elements of this header
aElement  An element which will be parent for this header.
Returns:
a pointer to new CSenWsSecurityHeader class instance.
static IMPORT_C CSenWsSecurityHeader2* CSenWsSecurityHeader2::NewLC const TDesC8 &  aData,
const TDesC8 &  aSecurityNs,
RSenDocument  aDocument,
TXmlEngElement  aElement
[static]
 

Basic constructor.

Parameters:
aData  Data to be set as header's content.
aSecurityNs  A namespace to be set to the header.
aDocument  The document which will be the owner of the elements of this header
aElement  An element which will be parent for this header.
Returns:
a new CSenWsSecurityHeader class instance, which pointer is left on cleanup stack.
static IMPORT_C CSenWsSecurityHeader2* CSenWsSecurityHeader2::NewLC const TDesC8 &  aData,
RSenDocument  aDocument,
TXmlEngElement  aElement
[static]
 

Basic constructor.

Parameters:
aData  Data to be set as header's content.
aDocument  The document which will be the owner of the elements of this header
aElement  An element which will be parent for this header.
Returns:
a new CSenWsSecurityHeader class instance, which pointer is left on cleanup stack.
static IMPORT_C CSenWsSecurityHeader2* CSenWsSecurityHeader2::NewLC RSenDocument  aDocument,
TXmlEngElement  aElement
[static]
 

Basic constructor.

Parameters:
aDocument  The document which will be the owner of the elements of this header
aElement  An element which will be parent for this header.
Returns:
a new CSenWsSecurityHeader class instance, which pointer is left on cleanup stack.
static IMPORT_C TInt CSenWsSecurityHeader2::TimestampL const TDesC8 &  aCreated,
HBufC8 *&  aTimestamp
[static]
 

Constructs a timestamp.

Since:
Series60 5.0 Format of the timestamp is as follows: <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsu:Created>2001-09-13T08:42:00Z</wsu:Created> </wsu:Timestamp> The wsu namespace is declared inside this element. Based on chapter 10 from WS-Security 2004
Parameters:
aCreated  - creation time of token
aTimestamp  - a pointer to buffer containing the timestamp. Does not return NULL. Ownership is transferred to the caller.
Returns:
KErrNone or some system-wide Symbian error code.
static IMPORT_C TInt CSenWsSecurityHeader2::TimestampL const TDesC8 &  aCreated,
const TDesC8 &  aExpires,
HBufC8 *&  aTimestamp
[static]
 

Constructs a timestamp.

Since:
Series60 5.0 Format of the timestamp is as follows: <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsu:Created>2001-09-13T08:42:00Z</wsu:Created> <wsu:Expires>2002-09-13T08:42:00Z</wsu:Expires> </wsu:Timestamp> The wsu namespace is declared inside this element. Based on chapter 10 from WS-Security 2004
Parameters:
aCreated  - creation time of token
aExpires  - end of validation time for token
aTimestamp  - a pointer to buffer containing the timestamp. Does not return NULL. Ownership is transferred to the caller.
Returns:
KErrNone or some system-wide Symbian error code.
static IMPORT_C TInt CSenWsSecurityHeader2::UsernameTokenL const TDesC8 &  aUsername,
const TDesC8 &  aPassword,
CSenWsSecurityHeader2::TPasswordType  aType,
HBufC8 *&  aToken
[static]
 

Constructs a username token using a password, too.

Since:
Series60 5.0
Parameters:
aUsername  User name which is to be used in new token.
aPassword  Password which is to be use in new token This is a Base64 [XML-Schema] encoded, SHA-1 hash value, of the UTF8 encoded password.
aType  Specifies the type of the password:
  • EText, being default refers to wsse:PasswordText, but this method does not add this, since it can be omitted.
  • EDigest: will add wsse:PasswordDigest attribute to the <Password> -element, as in here:
<wsse:UsernameToken> <wsse:Username> username </wsse:Username> <wsse:Password Type="wsse:PasswordDigest"> password </wsse:Password> </wsse:UsernameToken>"
Parameters:
aToken  Ref-to-pointer where the token will be allocated. Shouldn't contain any data when called, or that data will be lost.
Returns:
KErrNone or some system-wide Symbian error code.
static IMPORT_C TInt CSenWsSecurityHeader2::UsernameTokenL const TDesC8 &  aUsername,
const TDesC8 &  aPassword,
HBufC8 *&  aToken
[static]
 

Constructs a username token using a password, too.

Since:
Series60 5.0
Parameters:
aUsername  User name which is to be used in new token.
aPassword  Password which is to be use in new token. The type will be set to default: wsse:PasswordDigest, defined in KSecurityAttrTypeText. This is a Base64 [XML-Schema] encoded, SHA-1 hash value, of the UTF8 encoded password.
aToken  Ref-to-pointer in which the token will be allocated. Shouldn't contain any data when called, or that data will be lost.
Returns:
KErrNone or some system-wide Symbian error code.
static IMPORT_C TInt CSenWsSecurityHeader2::UsernameTokenL const TDesC8 &  aUsername,
HBufC8 *&  aToken
[static]
 

Constructs a username token.

This method does not add the <Password> element, since it is optional for basic username tokens.

Since:
Series60 3.0
Parameters:
aUsername  User name which is used in the username token.
aToken  Ref-to-pointer where the token will be allocated. Shouldn't contain any data when called, or that data will be lost.
Returns:
KErrNone or some system-wide Symbian error code.
IMPORT_C HBufC8* CSenWsSecurityHeader2::UsernameTokenL CSenIdentityProvider aIdentityProvider,
CSenWsSecurityHeader2::TPasswordType  aType
 

Constructs a username token.

Since:
Series60 3.0
Parameters:
aIdentityProvider  Identity provider which is used to get the authorization ID used in username token. Method takes the AuthzID out from aIdentityProvider, and uses it as username for this token. Password is also fetched from aIdentityProvider via calling Password() getter, which must return a Base64 [XML-Schema] encoded, SHA-1 hash value, of the UTF8 encoded password.
aType  Specifies the type of the password, either wsse:PasswordText or wsse:PasswordDigest
Format of the token is as follows (if password type is wsse:PasswordText):

<wsse:UsernameToken> <wsse:Username> username </wsse:Username> <wsse:Password> password </wsse:Password> </wsse:UsernameToken>"

If the password type is wsse:Password:Digest, then the password element will be declared as follows:

<wsse:Password Type="wsse:PasswordDigest">

The above token assumes, that wsse namespace is declared in top level of the security header.

Returns:
a pointer to buffer containing the username token. Does not return NULL. Ownership is transferred to the caller. Method leaves with value KErrNotSupported, if a password type is not supported.
IMPORT_C HBufC8* CSenWsSecurityHeader2::UsernameTokenL CSenIdentityProvider aIdentityProvider  ) 
 

Constructs a username token.

Since:
Series60 3.0
Parameters:
aIdentityProvider  Identity provider which is used to get the authorization ID used in username token. Method takes the AuthzID out from aIdentityProvider, and uses it as username for this token. Format of the token is as follows:
<wsse:UsernameToken> <wsse:Username> username </wsse:Username> </wsse:UsernameToken>"

The above token assumes, that wsse namespace is declared in top level of the security header.

Returns:
a pointer to buffer containing the username token. Does not return NULL. Ownership is transferred to the caller. Method leaves with value KErrNotSupported, if a password type is not supported.
virtual IMPORT_C TPtrC8 CSenWsSecurityHeader2::XmlNs  )  [virtual]
 

Basic getter for XML namespace of the WS security header.

Subclasses should override this to use different namespace

Since:
Series60 3.0
Returns:
the WS security header namespace as string
virtual IMPORT_C TPtrC8 CSenWsSecurityHeader2::XmlNsPrefix  )  [virtual]
 

Basic getter for XML namespace prefix of the WS security header.

Subclasses should override this to use different namespace prefix

Since:
Series60 3.0
Returns:
the WS security header namespace prefix as string

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

Copyright © Nokia Corporation 2001-2007
Back to top