Genivia - wsseapi-lite.c File Reference

|  | Home | Documentation | wsseapi-lite.c File Reference updated Fri Jul 17 2020 by Robert van Engelen |

- Main Page
- Related Pages
- Classes
- Files

- File List
- File Members

Macros | Functions | Variables
wsseapi-lite.c File Reference
`#include "wsseapi-lite.h"`
Include dependency graph for wsseapi-lite.c:

## Macros
#define | SOAP_WSSE_CLKSKEW (300)

## Functions
SOAP_FMAC1 struct _wsse__Security *SOAP_FMAC2 | soap_wsse_add_Security (struct soap *soap)
| Adds Security header element. More...
SOAP_FMAC1 struct _wsse__Security *SOAP_FMAC2 | soap_wsse_add_Security_actor (struct soap *soap, const char *actor)
| Adds Security header element with actor or role attribute. More...
SOAP_FMAC1 void SOAP_FMAC2 | soap_wsse_delete_Security (struct soap *soap)
| Deletes Security header element. More...
SOAP_FMAC1 struct _wsse__Security *SOAP_FMAC2 | soap_wsse_Security (struct soap *soap)
| Returns Security header element if present. More...
SOAP_FMAC1 int SOAP_FMAC2 | soap_wsse_add_Timestamp (struct soap *soap, const char *id, time_t lifetime)
| Adds Timestamp element with optional expiration date+time (lifetime). More...
SOAP_FMAC1 struct _wsu__Timestamp *SOAP_FMAC2 | soap_wsse_Timestamp (struct soap *soap)
| Returns Timestamp element if present. More...
SOAP_FMAC1 int SOAP_FMAC2 | soap_wsse_verify_Timestamp (struct soap *soap)
| Verifies the Timestamp/Expires element against the current time. More...
SOAP_FMAC1 int SOAP_FMAC2 | soap_wsse_add_UsernameTokenText (struct soap *soap, const char *id, const char *username, const char *password)
| Adds UsernameToken element with optional clear-text password. More...
SOAP_FMAC1 struct _wsse__UsernameToken *SOAP_FMAC2 | soap_wsse_UsernameToken (struct soap *soap, const char *id)
| Returns UsernameToken element if present. More...
SOAP_FMAC1 const char *SOAP_FMAC2 | soap_wsse_get_Username (struct soap *soap)
| Returns UsernameToken/username string or wsse:FailedAuthentication fault. More...
SOAP_FMAC1 int SOAP_FMAC2 | soap_wsse_verify_Password (struct soap *soap, const char *password)
| Verifies the supplied password or sets wsse:FailedAuthentication fault. More...
SOAP_FMAC1 int SOAP_FMAC2 | soap_wsse_sender_fault_subcode (struct soap *soap, const char *faultsubcode, const char *faultstring, const char *faultdetail)
| Sets sender SOAP Fault (sub)code for server fault response. More...
SOAP_FMAC1 int SOAP_FMAC2 | soap_wsse_receiver_fault_subcode (struct soap *soap, const char *faultsubcode, const char *faultstring, const char *faultdetail)
| Sets receiver SOAP Fault (sub)code for server fault response. More...
SOAP_FMAC1 int SOAP_FMAC2 | soap_wsse_sender_fault (struct soap *soap, const char *faultstring, const char *faultdetail)
| Sets sender SOAP Fault for server fault response. More...
SOAP_FMAC1 int SOAP_FMAC2 | soap_wsse_receiver_fault (struct soap *soap, const char *faultstring, const char *faultdetail)
| Sets receiver SOAP Fault for server fault response. More...
SOAP_FMAC1 int SOAP_FMAC2 | soap_wsse_fault (struct soap *soap, wsse__FaultcodeEnum fault, const char *detail)
| Sets SOAP Fault (sub)code for server response. More...
SOAP_FMAC1 int SOAP_FMAC2 | soap_wsse_set_wsu_id (struct soap *soap, const char *tags)
| Sets the elements that are to be extended with wsu:Id attributes. The wsu:Id attribute values are set to the string value of the tag's QName by replacing colons with hyphens to produce an xsd:ID value. More...

## Variables
const char * | wsse_PasswordTextURI = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"

## Macro Definition Documentation

#define SOAP_WSSE_CLKSKEW (300)

Clock skew between machines (in sec) to fit message expiration in window

## Function Documentation

SOAP_FMAC1 struct _wsse__Security* SOAP_FMAC2 soap_wsse_add_Security | ( | struct soap * | soap | ) |

Adds Security header element.

Parameters

  soap | context

Returns
  _wsse__Security object

SOAP_FMAC1 struct _wsse__Security* SOAP_FMAC2 soap_wsse_add_Security_actor | ( | struct soap * | soap,
|  | const char * | actor
| ) |  |

Adds Security header element with actor or role attribute.

Parameters

  soap | context
  actor | string

Returns
  _wsse__Security object

SOAP_FMAC1 int SOAP_FMAC2 soap_wsse_add_Timestamp | ( | struct soap * | soap,
|  | const char * | id,
|  | time_t | lifetime
| ) |  |

Adds Timestamp element with optional expiration date+time (lifetime).

Parameters

  [in] | soap | context
  [in] | id | for signature referencing or NULL
  [in] | lifetime | expressed in time_t units, or 0 for no expiration

Returns
  SOAP_OK

SOAP_FMAC1 int SOAP_FMAC2 soap_wsse_add_UsernameTokenText | ( | struct soap * | soap,
|  | const char * | id,
|  | const char * | username,
|  | const char * | password
| ) |  |

Adds UsernameToken element with optional clear-text password.

Parameters

  | soap | context
  [in] | id | string for signature referencing or NULL
  [in] | username | string
  [in] | password | string or NULL to omit the password

Returns
  SOAP_OK

Passwords are sent in the clear, so transport-level encryption is required.

Note
  This release supports the use of at most one UsernameToken in the header.

SOAP_FMAC1 void SOAP_FMAC2 soap_wsse_delete_Security | ( | struct soap * | soap | ) |

Deletes Security header element.

Parameters

  soap | context

SOAP_FMAC1 int SOAP_FMAC2 soap_wsse_fault | ( | struct soap * | soap,
|  | wsse__FaultcodeEnum | fault,
|  | const char * | detail
| ) |  |

Sets SOAP Fault (sub)code for server response.

Parameters

  | soap | context
  [in] | fault | is one of wsse:FaultcodeEnum
  [in] | detail | string with optional text message

Returns
  SOAP_FAULT

SOAP_FMAC1 const char* SOAP_FMAC2 soap_wsse_get_Username | ( | struct soap * | soap | ) |

Returns UsernameToken/username string or wsse:FailedAuthentication fault.

Parameters

  soap | context

Returns
  UsernameToken/username string or NULL with wsse:FailedAuthentication fault error set

See also
  soap_wsse_verify_Password

The returned username should be used to lookup the user's password in a dictionary or database for server-side authentication with soap_wsse_verify_Password.

SOAP_FMAC1 int SOAP_FMAC2 soap_wsse_receiver_fault | ( | struct soap * | soap,
|  | const char * | faultstring,
|  | const char * | faultdetail
| ) |  |

Sets receiver SOAP Fault for server fault response.

Parameters

  | soap | context
  [in] | faultstring | fault string
  [in] | faultdetail | detail string

Returns
  SOAP_FAULT

SOAP_FMAC1 int SOAP_FMAC2 soap_wsse_receiver_fault_subcode | ( | struct soap * | soap,
|  | const char * | faultsubcode,
|  | const char * | faultstring,
|  | const char * | faultdetail
| ) |  |

Sets receiver SOAP Fault (sub)code for server fault response.

Parameters

  | soap | context
  [in] | faultsubcode | sub code string
  [in] | faultstring | fault string
  [in] | faultdetail | detail string

Returns
  SOAP_FAULT

SOAP_FMAC1 struct _wsse__Security* SOAP_FMAC2 soap_wsse_Security | ( | struct soap * | soap | ) |

Returns Security header element if present.

Parameters

  soap | context

Returns
  _wsse__Security object or NULL

SOAP_FMAC1 int SOAP_FMAC2 soap_wsse_sender_fault | ( | struct soap * | soap,
|  | const char * | faultstring,
|  | const char * | faultdetail
| ) |  |

Sets sender SOAP Fault for server fault response.

Parameters

  | soap | context
  [in] | faultstring | fault string
  [in] | faultdetail | detail string

Returns
  SOAP_FAULT

SOAP_FMAC1 int SOAP_FMAC2 soap_wsse_sender_fault_subcode | ( | struct soap * | soap,
|  | const char * | faultsubcode,
|  | const char * | faultstring,
|  | const char * | faultdetail
| ) |  |

Sets sender SOAP Fault (sub)code for server fault response.

Parameters

  | soap | context
  [in] | faultsubcode | sub code string
  [in] | faultstring | fault string
  [in] | faultdetail | detail string

Returns
  SOAP_FAULT

SOAP_FMAC1 int SOAP_FMAC2 soap_wsse_set_wsu_id | ( | struct soap * | soap,
|  | const char * | tags
| ) |  |

Sets the elements that are to be extended with wsu:Id attributes. The wsu:Id attribute values are set to the string value of the tag's QName by replacing colons with hyphens to produce an xsd:ID value.

Parameters

  | soap | context
  [in] | tags | string of space-separated qualified and unqualified element tag names

Returns
  SOAP_OK

SOAP_FMAC1 struct _wsu__Timestamp* SOAP_FMAC2 soap_wsse_Timestamp | ( | struct soap * | soap | ) |

Returns Timestamp element if present.

Parameters

  soap | context

Returns
  _wsu__Timestamp object or NULL

SOAP_FMAC1 struct _wsse__UsernameToken* SOAP_FMAC2 soap_wsse_UsernameToken | ( | struct soap * | soap,
|  | const char * | id
| ) |  |

Returns UsernameToken element if present.

Parameters

  | soap | context
  [in] | id | string of UsernameToken or NULL

Returns
  _wsse__UsernameToken object or NULL

Note
  This release supports the use of at most one UsernameToken in the header.

SOAP_FMAC1 int SOAP_FMAC2 soap_wsse_verify_Password | ( | struct soap * | soap,
|  | const char * | password
| ) |  |

Verifies the supplied password or sets wsse:FailedAuthentication fault.

Parameters

  | soap | context
  [in] | password | string to verify against

Returns
  SOAP_OK (authorized) or SOAP_FAULT with wsse:FailedAuthentication fault

The verification supports both clear-text password verification only.

Note
  This release supports the use of at most one UsernameToken in the header.

SOAP_FMAC1 int SOAP_FMAC2 soap_wsse_verify_Timestamp | ( | struct soap * | soap | ) |

Verifies the Timestamp/Expires element against the current time.

Parameters

  soap | context

Returns
  SOAP_OK or SOAP_FAULT with wsu:MessageExpired fault

Sets wsu:MessageExpired fault if wsu:Timestamp is expired. The SOAP_WSSE_CLKSKEW value is used as a margin to mitigate clock skew. Keeps silent when no timestamp is supplied or no expiration date is included in the wsu:Timestamp element.

## Variable Documentation

const char* wsse_PasswordTextURI = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"