Home | Documentation |
wsseapi-lite.c File Reference
updated Fri Jul 17 2020 by Robert van Engelen
|
#include "wsseapi-lite.h"
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" |
#define SOAP_WSSE_CLKSKEW (300) |
Clock skew between machines (in sec) to fit message expiration in window
SOAP_FMAC1 struct _wsse__Security* SOAP_FMAC2 soap_wsse_add_Security | ( | struct soap * | soap | ) |
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.
soap | context |
actor | string |
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).
[in] | soap | context |
[in] | id | for signature referencing or NULL |
[in] | lifetime | expressed in time_t units, or 0 for no expiration |
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.
soap | context | |
[in] | id | string for signature referencing or NULL |
[in] | username | string |
[in] | password | string or NULL to omit the password |
Passwords are sent in the clear, so transport-level encryption is required.
SOAP_FMAC1 void SOAP_FMAC2 soap_wsse_delete_Security | ( | struct soap * | soap | ) |
Deletes Security header element.
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.
soap | context | |
[in] | fault | is one of wsse:FaultcodeEnum |
[in] | detail | string with optional text message |
SOAP_FMAC1 const char* SOAP_FMAC2 soap_wsse_get_Username | ( | struct soap * | soap | ) |
Returns UsernameToken/username string or wsse:FailedAuthentication fault.
soap | context |
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.
soap | context | |
[in] | faultstring | fault string |
[in] | faultdetail | detail string |
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.
soap | context | |
[in] | faultsubcode | sub code string |
[in] | faultstring | fault string |
[in] | faultdetail | detail string |
SOAP_FMAC1 struct _wsse__Security* SOAP_FMAC2 soap_wsse_Security | ( | struct soap * | soap | ) |
Returns Security header element if present.
soap | context |
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.
soap | context | |
[in] | faultstring | fault string |
[in] | faultdetail | detail string |
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.
soap | context | |
[in] | faultsubcode | sub code string |
[in] | faultstring | fault string |
[in] | faultdetail | detail string |
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.
soap | context | |
[in] | tags | string of space-separated qualified and unqualified element tag names |
SOAP_FMAC1 struct _wsu__Timestamp* SOAP_FMAC2 soap_wsse_Timestamp | ( | struct soap * | soap | ) |
Returns Timestamp element if present.
soap | context |
SOAP_FMAC1 struct _wsse__UsernameToken* SOAP_FMAC2 soap_wsse_UsernameToken | ( | struct soap * | soap, |
const char * | id | ||
) |
Returns UsernameToken element if present.
soap | context | |
[in] | id | string of UsernameToken or NULL |
SOAP_FMAC1 int SOAP_FMAC2 soap_wsse_verify_Password | ( | struct soap * | soap, |
const char * | password | ||
) |
Verifies the supplied password or sets wsse:FailedAuthentication fault.
soap | context | |
[in] | password | string to verify against |
The verification supports both clear-text password verification only.
SOAP_FMAC1 int SOAP_FMAC2 soap_wsse_verify_Timestamp | ( | struct soap * | soap | ) |
Verifies the Timestamp/Expires element against the current time.
soap | context |
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.
const char* wsse_PasswordTextURI = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText" |