| Top |
| enum | LassoMessageFormat |
| enum | LassoSignatureType |
| enum | LassoSignatureMethod |
| LassoNodeClassData | |
| struct | LassoNode |
GObject
╰── LassoNode
├── LassoProfile
├── LassoDsKeyInfo
├── LassoDsKeyValue
├── LassoDsRsaKeyValue
├── LassoFederation
├── LassoIdentity
├── LassoSamlAssertion
├── LassoSamlStatementAbstract
├── LassoLibAuthnContext
├── LassoLibAuthnRequestEnvelope
├── LassoSamlpRequestAbstract
├── LassoLibAuthnResponseEnvelope
├── LassoSamlpResponseAbstract
├── LassoLibIDPEntries
├── LassoLibIDPEntry
├── LassoLibIDPList
├── LassoLibRequestAuthnContext
├── LassoLibScoping
├── LassoSamlSubject
├── LassoMiscTextNode
├── LassoProvider
├── LassoSaml2Action
├── LassoSaml2Advice
├── LassoSaml2Assertion
├── LassoSaml2Attribute
├── LassoSaml2StatementAbstract
├── LassoSaml2AttributeValue
├── LassoSaml2ConditionAbstract
├── LassoSaml2AuthnContext
├── LassoSaml2BaseIDAbstract
├── LassoSaml2Conditions
├── LassoSaml2EncryptedElement
├── LassoSaml2Evidence
├── LassoSaml2KeyInfoConfirmationData
├── LassoSaml2NameID
├── LassoSaml2SubjectConfirmationData
├── LassoSaml2SubjectConfirmation
├── LassoSaml2Subject
├── LassoSaml2SubjectLocality
├── LassoSamlAdvice
├── LassoSamlAttributeDesignator
├── LassoSamlAttributeValue
├── LassoSamlConditionAbstract
├── LassoSamlAuthorityBinding
├── LassoSamlConditions
├── LassoSamlNameIdentifier
├── LassoSamlp2RequestAbstract
├── LassoSamlp2StatusResponse
├── LassoSamlp2Extensions
├── LassoSamlp2IDPEntry
├── LassoSamlp2IDPList
├── LassoSamlp2NameIDPolicy
├── LassoSamlp2RequestedAuthnContext
├── LassoSamlp2Scoping
├── LassoSamlp2StatusCode
├── LassoSamlp2StatusDetail
├── LassoSamlp2Status
├── LassoSamlp2Terminate
├── LassoSamlpStatusCode
├── LassoSamlpStatus
├── LassoSamlSubjectConfirmation
├── LassoSamlSubjectLocality
├── LassoSession
├── LassoSoapBody
├── LassoSoapDetail
├── LassoSoapEnvelope
├── LassoSoapFault
╰── LassoSoapHeader
LassoNode is the base class for Lasso objects; just a step over GObject as defined in glib.
LassoNode *
lasso_node_new_from_dump (const char *dump);
Restores the dump
to a new LassoNode subclass.
LassoNode *
lasso_node_new_from_soap (const char *soap);
Parses SOAP message and creates a new Lasso object with the right class.
LassoNode *
lasso_node_new_from_xmlNode (xmlNode *node);
Builds a new LassoNode from an xmlNode.
void
lasso_node_cleanup_original_xmlnodes (LassoNode *node);
node
: a LassoNode
Traverse the LassoNode tree starting at Node and remove keeped xmlNode if one is found.
char *
lasso_node_dump (LassoNode *node);
Dumps node
. All datas in object are dumped in an XML format.
char * lasso_node_debug (LassoNode *node,int level);
Create a debug dump for node
, it is pretty printed so any contained signature will be
uncheckable.
char *
lasso_node_export_to_base64 (LassoNode *node);
Exports node
to a base64-encoded message.
char * lasso_node_export_to_query (LassoNode *node,LassoSignatureMethod sign_method,const char *private_key_file);
Exports node
to a HTTP query string. If private_key_file
is NULL,
query won't be signed.
char * lasso_node_export_to_query_with_password (LassoNode *node,LassoSignatureMethod sign_method,const char *private_key_file,const char *private_key_file_password);
Exports node
to a HTTP query string. If private_key_file
is NULL,
query won't be signed.
char *
lasso_node_export_to_soap (LassoNode *node);
Exports node
to a SOAP message.
char * lasso_node_export_to_soap_with_headers (LassoNode *node,GList *headers);
Exports node
to a SOAP message. The node
becomes the SOAP body.
each header in the headers list is added to the SOAP header if non-NULL.
headers
is permitted to be an empty list (e.g. NULL).
Example 1. Create SOAP envelope with variable number of header nodes
You need to form a SOAP message with authn_request as the body and paos_request, ecp_request and ecp_relaystate as SOAP header elements. It is possible one or more of these may be NULL and should be skipped.
char *text = NULL; LassoNode *paos_request = NULL; LassoNode *ecp_request = NULL; LassoNode *ecp_relaystate = NULL; GList *headers = NULL; paos_request = lasso_paos_request_new(responseConsumerURL, message_id); ecp_request = lasso_ecp_request_new(issuer, is_passive, provider_name, idp_list); lasso_list_add_new_gobject(headers, paos_request); lasso_list_add_new_gobject(headers, ecp_request); lasso_list_add_new_gobject(headers, ecp_relaystate); text = lasso_node_export_to_soap_with_headers(node, headers); lasso_release_list_of_gobjects(headers);
gchar *
lasso_node_export_to_xml (LassoNode *node);
Exports node
to an xml message.
char * lasso_node_export_to_paos_request (LassoNode *node,const char *issuer,const char *responseConsumerURL,const char *relay_state);
Exports node
to a PAOS message.
Deprecated, use lasso_node_export_to_paos_request_full() instead
char * lasso_node_export_to_paos_request_full (LassoNode *node,const char *issuer,const char *responseConsumerURL,const char *message_id,const char *relay_state,gboolean is_passive,gchar *provider_name,LassoSamlp2IDPList *idp_list);
Creates a new SOAP message. The SOAP headers include a PaosRequst,
a EcpRequest and optionally a EcpRelayState. The SOAP body contains
the node
parameters.
char * lasso_node_export_to_ecp_soap_response (LassoNode *node,const char *assertionConsumerURL);
Exports node
to a ECP SOAP message.
xmlNode * lasso_node_get_xmlNode (LassoNode *node,gboolean lasso_dump);
Builds an XML representation of node
.
const char *
lasso_node_get_name (LassoNode *node);
Return the XML element name for this object, the one that would be used in the XML dump of this object.
xmlNode *
lasso_node_get_original_xmlnode (LassoNode *node);
Retrieve the original xmlNode eventually associated to this LassoNode.
void lasso_node_set_original_xmlnode (LassoNode *node,xmlNode *xmlnode);
Set the underlying XML representation of the object.
void lasso_node_set_custom_namespace (LassoNode *node,const char *prefix,const char *href);
Set a custom namespace for an object instance, use it with object existing a lot of revision of the nearly same namespace.
node |
a LassoNode object |
|
prefix |
the prefix to use for the definition |
|
href |
the URI of the namespace |
void lasso_node_set_custom_nodename (LassoNode *node,const char *nodename);
Set a custom nodename for an object instance, use it with object implement a schema type and not a real element.
LassoMessageFormat lasso_node_init_from_message (LassoNode *node,const char *message);
Parses message
and initialiazes node
fields with data from it. Message
type may be base64, SOAP, XML or query string, correct type is found
automatically.
gboolean lasso_node_init_from_query (LassoNode *node,const char *query);
Initialiazes node
fields with data from query
string.
lasso_error_t lasso_node_init_from_xml (LassoNode *node,xmlNode *xmlnode);
Initialiazes node
fields with data from xmlnode
XML node.
Return code for lasso_node_init_from_message; it describes the type of the message that was passed to that function.
Signature method.
|
sign using a RSA private key |
||
|
sign using a DSA private key |
||
|
sign using a HMAC-SHA1 secret key |
||
|
sign using a RSA private key and use SHA256 digest |
||
|
sign using a HMAC-SHA256 secret key |
||
|
sign using a RSA private key and use SHA384 digest |
||
|
sign using a HMAC-SHA384 secret key |
||
|
sign using a RSA private key and use SHA521 digest |
||
|
sign using a HMAC-SHA512 secret key |
||