| Lasso Reference Manual | ||||
|---|---|---|---|---|
#include <lasso/lasso.h>
LassoNode;
enum LassoSignatureType;
enum LassoSignatureMethod;
LassoNode* lasso_node_new (void);
LassoNode* lasso_node_new_from_dump (const char *dump);
LassoNode* lasso_node_new_from_xmlNode (xmlNode *node);
LassoNode* lasso_node_new_from_soap (const char *soap);
void lasso_node_destroy (LassoNode *node);
char * lasso_node_dump (LassoNode *node);
char * lasso_node_export_to_base64 (LassoNode *node);
char * lasso_node_export_to_query (LassoNode *node,
LassoSignatureMethod sign_method,
const char *private_key_file);
char * lasso_node_export_to_soap (LassoNode *node);
xmlNode * lasso_node_get_xmlNode (LassoNode *node,
gboolean lasso_dump);
LassoMessageFormat lasso_node_init_from_message (LassoNode *node,
const char *message);
enum LassoMessageFormat;
gboolean lasso_node_init_from_query (LassoNode *node,
const char *query);
int lasso_node_init_from_xml (LassoNode *node,
xmlNode *xmlnode);
GObject +----LassoNode +----LassoSamlAssertion +----LassoSamlStatementAbstract +----LassoLibAuthnContext +----LassoSamlpRequestAbstract +----LassoSamlpResponseAbstract +----LassoLibIDPEntries +----LassoLibIDPEntry +----LassoLibIDPList +----LassoLibRequestAuthnContext +----LassoLibScoping +----LassoSamlSubject +----LassoSamlAdvice +----LassoSamlConditionAbstract +----LassoSamlAuthorityBinding +----LassoSamlConditions +----LassoSamlNameIdentifier +----LassoSamlSubjectConfirmation +----LassoSamlSubjectLocality +----LassoSamlpStatus +----LassoSamlpStatusCode +----LassoProfile +----LassoFederation +----LassoProvider +----LassoIdentity +----LassoSession
LassoNode is the base class for Lasso objects; just a step over GObject as defined in glib.
typedef enum {
LASSO_SIGNATURE_TYPE_NONE = 0,
LASSO_SIGNATURE_TYPE_SIMPLE,
LASSO_SIGNATURE_TYPE_WITHX509
} LassoSignatureType;
Signature type.
typedef enum {
LASSO_SIGNATURE_METHOD_RSA_SHA1 = 1,
LASSO_SIGNATURE_METHOD_DSA_SHA1
} LassoSignatureMethod;
Signature method.
LassoNode* lasso_node_new (void);
Creates a new LassoNode.
| Returns : | a newly created LassoNode object |
LassoNode* lasso_node_new_from_dump (constchar *dump);
Restores the dump to a new LassoNode subclass.
dump : |
XML object dump |
| Returns : | a newly created object; or NULL if an error occured. |
LassoNode* lasso_node_new_from_xmlNode (xmlNode *node);
Builds a new LassoNode from an xmlNode.
node : |
an xmlNode |
| Returns : | a new node |
LassoNode* lasso_node_new_from_soap (constchar *soap);
Parses SOAP message and creates a new Lasso object with the right class.
soap : |
the SOAP message |
| Returns : | node if success; NULL otherwise |
void lasso_node_destroy (LassoNode *node);
Destroys the LassoNode.
node : |
a LassoNode |
char * lasso_node_dump (LassoNode *node);
Dumps node. All datas in object are dumped in an XML format.
node : |
a LassoNode |
| Returns : | a full XML dump of node. The string must be freed by the
caller.
|
char * lasso_node_export_to_base64 (LassoNode *node);
Exports node to a base64-encoded message.
node : |
a LassoNode |
| Returns : | a base64-encoded export of node. The string must be freed by
the caller.
|
char * lasso_node_export_to_query (LassoNode *node, LassoSignatureMethod sign_method, constchar *private_key_file);
Exports node to a HTTP query string. If private_key_file is NULL,
query won't be signed.
node : |
a LassoNode |
sign_method : |
the Signature transform method |
private_key_file : |
the path to the private key (may be NULL) |
| Returns : | a HTTP query export of node. The string must be freed by the
caller.
|
char * lasso_node_export_to_soap (LassoNode *node);
Exports node to a SOAP message.
node : |
a LassoNode |
| Returns : | a SOAP export of node. The string must be freed by the
caller.
|
xmlNode * lasso_node_get_xmlNode (LassoNode *node,gboolean lasso_dump);
Builds an XML representation of node.
node : |
a LassoNode |
lasso_dump : |
whether to include lasso-specific nodes |
| Returns : | a new xmlNode. It must be freed by the caller. |
LassoMessageFormat lasso_node_init_from_message (LassoNode *node, constchar *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.
node : |
a LassoNode (or derived class) |
message : |
a Liberty message |
| Returns : | message format |
typedef enum {
LASSO_MESSAGE_FORMAT_ERROR = -1,
LASSO_MESSAGE_FORMAT_UNKNOWN,
LASSO_MESSAGE_FORMAT_XML,
LASSO_MESSAGE_FORMAT_BASE64,
LASSO_MESSAGE_FORMAT_QUERY,
LASSO_MESSAGE_FORMAT_SOAP
} LassoMessageFormat;
Return code for lasso_node_init_from_message; it describes the type of the message that was passed to that function.
gboolean lasso_node_init_from_query (LassoNode *node, constchar *query);
Initialiazes node fields with data from query string.
node : |
a LassoNode (or derived class) |
query : |
the query string |
| Returns : | TRUE |