![]() |
C library for SOAP (Simple Object Access Protocol) |
Modules | |
| XML-security errors | |
Defines | |
| #define | SOAP_SECURITY_NAMESPACE "http://schemas.xmlsoap.org/soap/security/2000-12" |
| #define | SOAP_SECURITY_PREFIX "SOAP-SEC" |
| #define | CSOAP_ENABLE_XMLSEC "-CSOAPxmlsec" |
| #define | CSOAP_XMLSEC_KEYFILE "-CSOAPkeyfile" |
| #define | CSOAP_XMLSEC_PASSWORD "-CSOAPpassword" |
| #define | CSOAP_XMLSEC_CERTFILE "-CSOAPcertfile" |
Functions | |
| herror_t | soap_xmlsec_server_init_args (int argc, char **argv) |
| herror_t | soap_xmlsec_client_init_args (int argc, char **argv) |
| herror_t | soap_xmlsec_sign (struct SoapCtx *context) |
| herror_t | soap_xmlsec_verify (struct SoapCtx *context) |
| herror_t | soap_xmlsec_encrypt (struct SoapCtx *context) |
| herror_t | soap_xmlsec_decrypt (struct SoapCtx *context) |
| void | soap_xmlsec_destroy (void) |
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss
| #define CSOAP_ENABLE_XMLSEC "-CSOAPxmlsec" |
Commandline argument to enable WS-Security.
| #define CSOAP_XMLSEC_CERTFILE "-CSOAPcertfile" |
Commandline argument to set a file of certificates.
| #define CSOAP_XMLSEC_KEYFILE "-CSOAPkeyfile" |
Commandline argument to set the keyfile. If this argument is not specified, a random key will be used.
| #define CSOAP_XMLSEC_PASSWORD "-CSOAPpassword" |
Commandline argument to set the password of the key.
| #define SOAP_SECURITY_NAMESPACE "http://schemas.xmlsoap.org/soap/security/2000-12" |
| #define SOAP_SECURITY_PREFIX "SOAP-SEC" |
| herror_t soap_xmlsec_client_init_args | ( | int | argc, | |
| char ** | argv | |||
| ) |
This function initializes the WS-Security subsystem for a SOAP client.
| argc | commandline arg count | |
| argv | commandline arg vector |
This function decrypts an XML document contained in a SOAP envelope.
| context | The SOAP context to be decrypted. |
| void soap_xmlsec_destroy | ( | void | ) |
This function frees the resources needed by the XML security subsystem.
This function encrypts an XML document contained in a SOAP envelope.
| context | The SOAP context to be encrypted. |
| herror_t soap_xmlsec_server_init_args | ( | int | argc, | |
| char ** | argv | |||
| ) |
This function initializes the WS-Security subsystem for a SOAP server.
| argc | commandline arg count | |
| argv | commandline arg vector |
This function signs an XML document contained in a SOAP Envelope with the key specified on the commandline. Our way to create a <SOAP-SEC:Signature> header entry is as follows:
XPath filtering can be used to specify objects to be signed, as described in the XML-Signature specification. However, since the SOAP message exchange model allows intermediate applications to modify the Envelope (add or delete a header entry, for example), XPath filtering does not always result in the same objects after message delivery. Care should be taken in using XPath filtering so that there is no subsequent validation failure due to such modifications.
The transform http://www.w3.org/2000/09/xmldsig#enveloped-signature defined in the XML-Signature specification may be useful when signing the entire Envelope including other header entries, if any.
| context | The SOAP context to be signed. |
This function verifies an XML documents signature contained in a SOAP Envelope. The validation of a <SOAP-SEC:Signature> header entry fails if:
If the validation of the signature header entry fails, applications MAY report the failure to the sender. It is out of the scope of this library how to deal with it.
| context | The SOAP context to be verified. |