00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 #ifndef SAML_H
00018 #define SAML_H
00019 
00020 #include <axutil_utils.h>
00021 #include <axutil_array_list.h>
00022 #include <axutil_hash.h>
00023 #include <axutil_date_time.h>
00024 #include <axiom.h>
00025 #include <oxs_xml_signature.h>
00026 #include <oxs_sign_ctx.h>
00027 #include <oxs_xml_key_processor.h>
00028 #include <oxs_utility.h>
00029 #include <oxs_transforms_factory.h>
00030 #include <oxs_xml_key_info_builder.h>
00031 #include <oxs_key_mgr.h>
00032 #include <oxs_transform.h>
00033 #include <oxs_x509_cert.h>
00034 #include <openssl_pkey.h>
00035 
00036 #ifdef __cplusplus
00037 extern "C"
00038 {
00039 #endif
00040 
00041 
00042 #define SAML_VERSION_MAX    16
00043 #define SAML_URI_LEN_MAX    2048
00044 #define SAML_ARRAY_LIST_DEF    4
00045 
00046 #define SAML_PREFIX                                                     "saml"
00047 #define SAML_NMSP_URI                                           "urn:oasis:names:tc:SAML:1.0:assertion"
00048 #define SAML_XML_TYPE                                           "type"
00049 #define SAML_XSI_NS                                                     "http://www.w3.org/2001/XMLSchema-instance"
00050 #define SAML_XSI                                                        "xsi"
00051 
00052 #define SAML_MAJORVERSION                                       "MajorVersion"
00053 #define SAML_MINORVERSION                                       "MinorVersion"
00054 #define SAML_ASSERTION_ID                                       "AssertionID"
00055 #define SAML_ISSUER                                                     "Issuer"
00056 #define SAML_ISSUE_INSTANT                                      "IssueInstant"
00057 #define SAML_STATEMENT                                          "Statement"
00058 #define SAML_SUBJECT_STATEMENT                          "SubjectStatement"
00059 #define SAML_AUTHENTICATION_STATEMENT           "AuthenticationStatement"
00060 #define SAML_AUTHORIZATION_DECISION_STATEMENT "AuthorizationDecisionStatement"
00061 #define SAML_ATTRIBUTE_STATEMENT                        "AttributeStatement"
00062 #define SAML_CONDITIONS                                         "Conditions"
00063 #define SAML_ADVICE                                                     "Advice"
00064 #define SAML_NOT_BEFORE                                         "NotBefore"
00065 #define SAML_NOT_ON_OR_AFTER                "NotOnOrAfter"
00066 #define SAML_SIGNATURE                                          "Signature"
00067 
00068 #define SAML_EMAIL_ADDRESS                                      "#emailAddress"
00069 #define SAML_X509_SUBJECT_NAME                          "#X509SubjectName"
00070 #define SAML_WINDOWS_DOMAIN_QUALIFIED_NAME  "#WindowsDomainQualifiedName"
00071 
00072 #define SAML_NAME_QUALIFIER                                     "NameQualifier"
00073 #define SAML_FORMAT                                                     "Format"
00074 #define SAML_NAME_IDENTIFIER                "NameIdentifier"
00075 #define SAML_SUBJECT_CONFIRMATION                       "SubjectConfirmation"
00076 #define SAML_CONFIRMATION_METHOD            "ConfirmationMethod"
00077 #define SAML_SUBJECT_CONFIRMATION_DATA          "SubjectConfirmationData"
00078 #define SAML_KEY_INFO                                           "KeyInfo"
00079 #define SAML_SUBJECT                                            "Subject"
00080 
00081 #define SAML_AUDIENCE                                           "Audience"
00082 #define SAML_AUDIENCE_RESTRICTION_CONDITION_TYPE "AudienceRestrictionConditionType" 
00083 #define SAML_AUDIENCE_RESTRICTION_CONDITION "AudienceRestrictionCondition"
00084 
00085 #define SAML_AUTHENTICATION_METHOD                      "AuthenticationMethod"
00086 #define SAML_AUTHENTICATION_INSTANT                     "AuthenticationInstant"
00087 #define SAML_IP_ADDRESS                                         "IPAddress" 
00088 #define SAML_DNS_ADDRESS                    "DNSAddress"
00089 #define SAML_SUBJECT_LOCALITY                "SubjectLocality"
00090 #define SAML_AUTHORITY_BINDING                          "AuthorityBinding"
00091 #define SAML_AUTHORITY_KIND                                     "AuthorityKind"
00092 #define SAML_LOCATION                                           "Location"
00093 #define SAML_BINDING                                            "Binding"
00094 
00095 #define SAML_RESOURCE                                           "Resource"
00096 #define SAML_DECISION                                           "Decision"    
00097 #define SAML_ACTION                                                     "Action"
00098 #define SAML_NAMESPACE                                          "Namespace"
00099 #define SAML_ASSERTION_ID_REFERENCE                     "AssertionIDReference" 
00100 #define SAML_ASSERTION                                          "Assertion"    
00101 #define SAML_ACTION                                                     "Action"
00102 #define SAML_EVIDENCE                                           "Evidence"
00103 
00104 #define SAML_ATTRIBUTE_NAME                                     "AttributeName"
00105 #define SAML_ATTRIBUTE_NAMESPACE            "AttributeNamespace"
00106 #define SAML_ATTRIBUTE_VALUE                "AttributeValue"
00107 #define SAML_ATTRIBUTE                                          "Attribute"
00108 #define SAML_ATTRIBUTE_DESIGNATOR                       "AttributeDesignator"
00109 
00110 #define SAML_SUB_CONFIRMATION_HOLDER_OF_KEY     "urn:oasis:names:tc:SAML:1.0:cm:holder-of-key"
00111 #define SAML_SUB_CONFIRMATION_SENDER_VOUCHES    "urn:oasis:names:tc:SAML:1.0:cm:sender-vouches"
00112 #define SAML_SUB_CONFIRMATION_ARTIFACT          "urn:oasis:names:tc:SAML:1.0:cm:artifact-01"
00113 #define SAML_SUB_CONFIRMATION_BEARER            "urn:oasis:names:tc:SAML:1.0:cm:bearer"
00114 
00115 #define SAML_AUTH_METHOD_URI_PASSWORD           "urn:oasis:names:tc:SAML:1.0:am:password"
00116 #define SAML_AUTH_METHOD_URI_KERBEROS           "urn:ietf:rfc:1510"
00117 #define SAML_AUTH_METHOD_URI_SRP                        "urn:ietf:rfc:2945"
00118 #define SAML_AUTH_METHOD_URI_HARDWARE_TOKEN     "urn:oasis:names:tc:SAML:1.0:am:HardwareToken"
00119 #define SAML_AUTH_METHOD_URI_SSL_TLS            "urn:ietf:rfc:2246"
00120 #define SAML_AUTH_METHOD_URI_X509                       "urn:oasis:names:tc:SAML:1.0:am:X509-PKI"
00121 #define SAML_AUTH_METHOD_URI_PGP                        "urn:oasis:names:tc:SAML:1.0:am:PGP"
00122 #define SAML_AUTH_METHOD_URI_SPKI                       "urn:oasis:names:tc:SAML:1.0:am:SPKI"
00123 #define SAML_AUTH_METHOD_URI_XKMS                       "urn:oasis:names:tc:SAML:1.0:am:XKMS"
00124 #define SAML_AUTH_METHOD_URI_XML_DS                     "urn:ietf:rfc:3075"
00125 #define SAML_AUTH_METHOD_URI_UNSPECIFIED        "urn:oasis:names:tc:SAML:1.0:am:unspecified"
00126 
00127 #define SAML_ACTION_URI_RWEDC_N                         "urn:oasis:names:tc:SAML:1.0:action:rwedc-negation"
00128 #define SAML_ACTION_URI_RWEDC                           "urn:oasis:names:tc:SAML:1.0:action:rwedc"
00129 
00130 #define SAML_ACTION_READ                                        "Read"
00131 #define SAML_ACTION_WRITE                                       "Write"
00132 #define SAML_ACTION_EXECUTE                                     "Execute"
00133 #define SAML_ACTION_DELETE                                      "Delete"
00134 #define SAML_ACTION_CONTROL                                     "Control"
00135 #define SAML_ACTION_READ_N                                      "~Read"
00136 #define SAML_ACTION_WRITE_N                                     "~Write"
00137 #define SAML_ACTION_EXECUTE_N                           "~Execute"
00138 #define SAML_ACTION_DELETE_N                            "~Delete"
00139 #define SAML_ACTION_CONTROL_N                           "~Control"
00140 
00141 #define SAML_MAJOR_VERSION                                      "1"
00142 
00143 typedef struct saml_assertion_s saml_assertion_t;
00144 
00145 #ifndef SAML_DECLARE
00146 #define SAML_DECLARE(type)      AXIS2_EXTERN type AXIS2_CALL
00147 #endif
00148 
00149 
00150 
00151 
00152 typedef enum decision_type
00153 {
00154     PERMIT = 0,
00155     DENY,
00156     INDETERMINATE
00157 } decision_type_t;
00158 
00159 typedef enum
00160 {
00161     SAML_COND_UNSPECFIED = 0,
00162     SAML_COND_AUDI_RESTRICTION 
00163 } saml_cond_type_t; 
00164 
00165 typedef struct condition_s 
00166 {
00167     saml_cond_type_t type;
00168     void *cond;
00169 } saml_condition_t;
00170 
00171 typedef struct saml_audi_restriction_cond_s
00172 {
00173     axutil_array_list_t *audiences;     
00174 } saml_audi_restriction_cond_t;
00175 
00176 typedef struct saml_advise_s
00177 {
00178     int a;
00179 } saml_advise_t;
00180 
00181 typedef enum
00182 {
00183     SAML_STMT_UNSPECIFED = 0,
00184     SAML_STMT_SUBJECTSTATEMENT,
00185     SAML_STMT_AUTHENTICATIONSTATEMENT,
00186     SAML_STMT_AUTHORIZATIONDECISIONSTATEMENT,
00187     SAML_STMT_ATTRIBUTESTATEMENT
00188 } saml_stmt_type_t;
00189 
00190 typedef struct
00191 {
00192     saml_stmt_type_t type;
00193     void *stmt;
00194 } saml_stmt_t;
00195 
00196 typedef struct saml_named_id_s
00197 {
00198     
00199 
00200 
00201     axis2_char_t *name_qualifier;
00202 
00203     
00204     axis2_char_t *format;
00205 
00206     axis2_char_t *name;
00207 } saml_named_id_t;
00208 
00209 
00210 typedef struct saml_subject_s
00211 {
00212     saml_named_id_t *named_id;
00213     
00214     
00215 
00216 
00217     axutil_array_list_t *confirmation_methods;
00218 
00219     
00220 
00221 
00222     axiom_node_t *key_info;
00223 
00224     
00225 
00226 
00227     axiom_node_t *confirmation_data;    
00228 } saml_subject_t;
00229 
00230 typedef struct saml_subject_stmt_s
00231 {
00232     saml_subject_t *subject;
00233 } saml_subject_stmt_t;
00234 
00235 typedef struct saml_action
00236 {
00237     
00238     char *name_space;
00239 
00240     
00241     char *data;
00242 } saml_action_t;
00243 
00244 
00245 typedef struct saml_evidence_s
00246 {
00247     
00248 
00249 
00250     axutil_array_list_t *assertion_ids;
00251 
00252     
00253     axutil_array_list_t *assertions;
00254 } saml_evidence_t;
00255 
00256 
00257 typedef struct saml_subject_locality
00258 {
00259     
00260     axis2_char_t *ip;
00261 
00262     
00263     axis2_char_t *dns;
00264 } saml_subject_locality_t;
00265 
00266 
00267 typedef struct saml_auth_binding
00268 {
00269     
00270 
00271 
00272     axis2_char_t *auth_kind;
00273 
00274     
00275 
00276 
00277     axis2_char_t *location;
00278 
00279     
00280 
00281 
00282     axis2_char_t *binding;
00283 } saml_auth_binding_t;
00284 
00285 typedef struct saml_auth_stmt
00286 {
00287         saml_subject_t *subject;
00288 
00289     
00290     axis2_char_t *auth_method;
00291     
00292     
00293     axutil_date_time_t *auth_instanse;
00294 
00295     
00296 
00297 
00298 
00299     
00300         axis2_char_t *ip;
00301         
00302         axis2_char_t *dns;
00303 
00304     
00305     axutil_array_list_t *auth_binding;
00306 
00307 } saml_auth_stmt_t;
00308 
00309 typedef struct saml_auth_desicion_stmt
00310 {
00311     saml_subject_t *subject;
00312     
00313     char *resource;
00314 
00315     
00316     char *decision;
00317 
00318     
00319     axutil_array_list_t *action;
00320 
00321     
00322     saml_evidence_t *evidence;
00323 } saml_auth_desicion_stmt_t;
00324 
00325 typedef struct saml_attr_s 
00326 {
00327     
00328     char *attr_name;
00329 
00330     
00331     char *attr_nmsp;
00332 
00333     axutil_array_list_t *attr_value;
00334 } saml_attr_t;
00335 
00336 
00337 typedef struct saml_attr_stmt_s 
00338 {
00339     saml_subject_t *subject;
00340     
00341     axutil_array_list_t *attribute;
00342 } saml_attr_stmt_t;
00343 
00344 typedef struct saml_attr_desig_s
00345 {
00346     axis2_char_t *attr_name;
00347     axis2_char_t *attr_nmsp;
00348 } saml_attr_desig_t;
00349 
00350 struct saml_assertion_s
00351 {
00352     
00353     axis2_char_t *major_version;
00354 
00355     
00356     axis2_char_t *minor_version;
00357 
00358     
00359     axis2_char_t *assertion_id;
00360 
00361     
00362     axis2_char_t *issuer;
00363 
00364     
00365     axutil_date_time_t *issue_instant;
00366         
00367         
00368     axutil_date_time_t *not_before;    
00369 
00370         
00371     axutil_date_time_t *not_on_or_after;
00372 
00373     
00374     axutil_array_list_t *conditions;
00375 
00376     
00377     axiom_node_t *signature;
00378 
00379         
00380         axutil_array_list_t *statements;
00381 
00382         
00383         oxs_sign_ctx_t *sign_ctx;
00384 
00385         
00386         axiom_node_t *ori_xml;  
00387 };
00388 
00389 
00390 
00391 
00392 
00393 
00394 
00395 AXIS2_EXTERN saml_assertion_t *AXIS2_CALL 
00396 saml_assertion_create(
00397         const axutil_env_t *env);
00398 
00399 
00400 
00401 
00402 
00403 AXIS2_EXTERN void AXIS2_CALL 
00404 saml_assertion_free(
00405         saml_assertion_t *assertion, 
00406         const axutil_env_t *env);
00407 
00408 
00409 
00410 
00411 
00412 
00413 AXIS2_EXTERN int AXIS2_CALL 
00414 saml_assertion_build(
00415         saml_assertion_t *a, 
00416         axiom_node_t *node, 
00417         const axutil_env_t *env);
00418 
00419 
00420 
00421 
00422 
00423 
00424 
00425 AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
00426 saml_assertion_to_om(
00427         saml_assertion_t *assertion, 
00428         axiom_node_t *parent, 
00429         const axutil_env_t *env);
00430 
00431 
00432 
00433 
00434 
00435 
00436 AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL 
00437 saml_assetion_get_conditions(
00438         saml_assertion_t *assertion, 
00439         const axutil_env_t *env);
00440 
00441 
00442 
00443 
00444 
00445 
00446 AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL 
00447 saml_assertion_get_statements(
00448         saml_assertion_t *assertion, 
00449         const axutil_env_t *env);
00450 
00451 
00452 
00453 
00454 
00455 
00456 
00457 
00458 AXIS2_EXTERN int AXIS2_CALL 
00459 saml_assertion_set_conditions(
00460         saml_assertion_t *assertion, 
00461         const axutil_env_t *env, axutil_array_list_t *list);
00462 
00463 
00464 
00465 
00466 
00467 
00468 
00469 AXIS2_EXTERN int AXIS2_CALL 
00470 saml_assertion_add_condition(
00471         saml_assertion_t *assertion, 
00472         const axutil_env_t *env, 
00473         saml_condition_t *cond);
00474 
00475 
00476 
00477 
00478 
00479 
00480 AXIS2_EXTERN int AXIS2_CALL 
00481 saml_assertion_remove_condition(
00482         saml_assertion_t *assertion, 
00483         const axutil_env_t *env, 
00484         int index);
00485 
00486 
00487 
00488 
00489 
00490 
00491 
00492 
00493 AXIS2_EXTERN int AXIS2_CALL 
00494 saml_assertion_set_statements(
00495         saml_assertion_t *assertion, 
00496         const axutil_env_t *env, 
00497         axutil_array_list_t *list);
00498 
00499 
00500 
00501 
00502 
00503 
00504 
00505 AXIS2_EXTERN int AXIS2_CALL 
00506 saml_assertion_add_statement(
00507         saml_assertion_t *assertion, 
00508         const axutil_env_t *env, 
00509         saml_stmt_t *stmt);
00510 
00511 
00512 
00513 
00514 
00515 
00516 AXIS2_EXTERN int AXIS2_CALL 
00517 saml_assertion_remove_statement(
00518         saml_assertion_t *assertion, 
00519         const axutil_env_t *env, 
00520         int index);
00521 
00522 
00523 
00524 
00525 
00526 
00527  
00528 AXIS2_EXTERN int AXIS2_CALL 
00529 saml_assertion_set_minor_version(
00530         saml_assertion_t *assertion, 
00531         const axutil_env_t *env, 
00532         int version);
00533 
00534 
00535 
00536 
00537 
00538  
00539 AXIS2_EXTERN int AXIS2_CALL 
00540 saml_assertion_set_issuer(
00541         saml_assertion_t *assertion, 
00542         const axutil_env_t *env, 
00543         axis2_char_t *issuer);
00544 
00545 
00546 
00547 
00548 
00549 
00550 
00551 AXIS2_EXTERN int AXIS2_CALL 
00552 saml_assertion_set_issue_instant(
00553         saml_assertion_t *assertion, 
00554         const axutil_env_t *env, 
00555         axutil_date_time_t *instant);
00556 
00557 
00558 
00559 
00560 
00561 
00562  
00563 AXIS2_EXTERN int AXIS2_CALL 
00564 saml_assertion_set_not_before(
00565         saml_assertion_t *assertion, 
00566         const axutil_env_t *env, 
00567         axutil_date_time_t *time);
00568 
00569 
00570 
00571 
00572 
00573 
00574  
00575 AXIS2_EXTERN int AXIS2_CALL 
00576 saml_assertion_set_not_on_or_after(
00577         saml_assertion_t *assertion, 
00578         const axutil_env_t *env, 
00579         axutil_date_time_t *time);
00580 
00581 
00582 
00583 
00584 
00585 
00586 
00587 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
00588 saml_assertion_get_issuer(
00589         saml_assertion_t *assertion, 
00590         const axutil_env_t *env);
00591 
00592 
00593 
00594 
00595 
00596 
00597 AXIS2_EXTERN axutil_date_time_t * AXIS2_CALL 
00598 saml_assertion_get_issue_instant(
00599         saml_assertion_t *assertion, 
00600         const axutil_env_t *env);
00601 
00602 
00603 
00604 
00605 
00606  
00607 AXIS2_EXTERN axutil_date_time_t * AXIS2_CALL 
00608 saml_assertion_get_not_before(
00609         saml_assertion_t *assertion, 
00610         const axutil_env_t *env);
00611 
00612 
00613 
00614 
00615 
00616  
00617 AXIS2_EXTERN axutil_date_time_t * AXIS2_CALL 
00618 saml_assertion_get_not_on_or_after(
00619         saml_assertion_t *assertion, 
00620         const axutil_env_t *env);
00621 
00622 
00623 
00624 
00625 
00626 
00627 
00628 
00629 
00630 
00631 AXIS2_EXTERN int AXIS2_CALL
00632 saml_assertion_is_signed(
00633         saml_assertion_t *assertion, 
00634         const axutil_env_t *env);
00635 
00636 
00637 
00638 
00639 
00640 
00641 
00642 
00643 AXIS2_EXTERN int AXIS2_CALL
00644 saml_assertion_is_sign_set(
00645         saml_assertion_t *assertion, 
00646         const axutil_env_t *env);
00647 
00648 
00649 
00650 
00651 
00652 
00653 
00654 AXIS2_EXTERN int AXIS2_CALL
00655 saml_assertion_signature_verify(
00656         saml_assertion_t *assertion, 
00657         const axutil_env_t *env);
00658 
00659 
00660 
00661 
00662 
00663 
00664 
00665 AXIS2_EXTERN int AXIS2_CALL
00666 saml_assertion_sign(
00667         saml_assertion_t *assertion, 
00668         axiom_node_t *node, 
00669         const axutil_env_t *env);
00670 
00671 
00672 
00673 
00674 
00675 
00676 AXIS2_EXTERN int AXIS2_CALL 
00677 saml_assertion_unsign(
00678         saml_assertion_t *assertion, 
00679         const axutil_env_t *env);
00680 
00681 
00682 
00683 
00684 
00685 
00686 
00687 AXIS2_EXTERN int AXIS2_CALL 
00688 saml_assertion_set_default_signature(
00689         saml_assertion_t *assertion, 
00690         const axutil_env_t *env, 
00691         oxs_sign_ctx_t *sign_ctx);
00692 
00693 
00694 
00695 
00696 
00697 
00698 
00699 AXIS2_EXTERN int AXIS2_CALL 
00700 saml_assertion_set_signature(
00701         saml_assertion_t *assertion, 
00702         const axutil_env_t *env, 
00703         oxs_sign_ctx_t *sign_ctx);
00704 
00705 
00706 
00707 
00708 
00709 
00710 
00711 
00712 
00713 
00714 AXIS2_EXTERN saml_stmt_t * AXIS2_CALL 
00715 saml_stmt_create(
00716         const axutil_env_t *env);
00717 
00718 
00719 
00720 
00721 
00722 
00723 AXIS2_EXTERN void AXIS2_CALL 
00724 saml_stmt_free(
00725         saml_stmt_t *stmt, 
00726         const axutil_env_t *env);
00727 
00728 
00729 
00730 
00731 
00732 
00733 
00734 
00735 AXIS2_EXTERN int AXIS2_CALL 
00736 saml_stmt_build(
00737         saml_stmt_t *stmt, 
00738         axiom_node_t *node, 
00739         const axutil_env_t *env);
00740 
00741 
00742 
00743 
00744 
00745 
00746 
00747 AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
00748 saml_stmt_to_om(saml_stmt_t *stmt, axiom_node_t *parent, const axutil_env_t *env);
00749 
00750 
00751 
00752 
00753 
00754 
00755 
00756 AXIS2_EXTERN saml_stmt_type_t AXIS2_CALL 
00757 saml_stmt_get_type(saml_stmt_t *stmt, const axutil_env_t *env);
00758 
00759 
00760 
00761 
00762 
00763 
00764 AXIS2_EXTERN saml_stmt_t * AXIS2_CALL 
00765 saml_stmt_get_stmt(saml_stmt_t *stmt, const axutil_env_t *env);
00766 
00767 
00768 
00769 
00770 
00771 
00772 
00773 AXIS2_EXTERN int AXIS2_CALL 
00774 saml_stmt_set_type(saml_stmt_t *stmt, const axutil_env_t *env, saml_stmt_type_t type);
00775 
00776 
00777 
00778 
00779 
00780 
00781 
00782 
00783 AXIS2_EXTERN int AXIS2_CALL 
00784 saml_stmt_set_stmt(saml_stmt_t *stmt, const axutil_env_t *env, 
00785                                    void *st, saml_stmt_type_t type);
00786 
00787 
00788 
00789 AXIS2_EXTERN axis2_char_t * AXIS2_CALL saml_id_generate_random_bytes(const axutil_env_t *env);
00790 
00791 
00792 
00793 
00794 
00795 
00796 
00797 
00798 
00799 AXIS2_EXTERN saml_auth_binding_t * AXIS2_CALL 
00800 saml_auth_binding_create(const axutil_env_t *env);
00801 
00802 
00803 
00804 
00805 
00806 
00807 AXIS2_EXTERN void AXIS2_CALL 
00808 saml_auth_binding_free(saml_auth_binding_t *auth_bind, const axutil_env_t *env);
00809 
00810 
00811 
00812 
00813 
00814 
00815 
00816 AXIS2_EXTERN int AXIS2_CALL 
00817 saml_auth_binding_build(saml_auth_binding_t *auth_bind, 
00818                                                 axiom_node_t *node, const axutil_env_t *env);
00819 
00820 
00821 
00822 
00823 
00824 
00825 
00826 AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
00827 saml_auth_binding_to_om(saml_auth_binding_t *auth_binding, 
00828                                                 axiom_node_t *parent, const axutil_env_t *env);
00829 
00830 
00831 
00832 
00833 
00834 
00835 
00836 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
00837 saml_auth_binding_get_authoity_kind(saml_auth_binding_t *auth_bind, 
00838                                                                         const axutil_env_t *env);
00839 
00840 
00841 
00842 
00843 
00844 
00845 
00846 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
00847 saml_auth_binding_get_binding(saml_auth_binding_t *auth_binding, 
00848                                                           const axutil_env_t *env);
00849 
00850 
00851 
00852 
00853 
00854 
00855 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
00856 saml_auth_binding_get_location(saml_auth_binding_t *auth_bind, 
00857                                                            const axutil_env_t *env);
00858 
00859 
00860 
00861 
00862 
00863 
00864 
00865 
00866 AXIS2_EXTERN int AXIS2_CALL 
00867 saml_auth_binding_set_authority_kind(saml_auth_binding_t *auth_bind, 
00868                                                                          const axutil_env_t *env, axis2_char_t *auth_kind);
00869 
00870 
00871 
00872 
00873 
00874 
00875 
00876 
00877 AXIS2_EXTERN int AXIS2_CALL 
00878 saml_auth_binding_set_binding(saml_auth_binding_t *auth_bind, 
00879                                                           const axutil_env_t *env, axis2_char_t *binding);
00880 
00881 
00882 
00883 
00884 
00885 
00886 
00887 AXIS2_EXTERN int AXIS2_CALL 
00888 saml_auth_binding_set_location(saml_auth_binding_t *auth_bind, 
00889                                                            const axutil_env_t *env, axis2_char_t *location);
00890 
00891 
00892 
00893 
00894 
00895 
00896 
00897 
00898 AXIS2_EXTERN saml_subject_locality_t * AXIS2_CALL 
00899 saml_subject_locality_create(const axutil_env_t *env);
00900 
00901 
00902 
00903 
00904 
00905 
00906 AXIS2_EXTERN void AXIS2_CALL 
00907 saml_subject_locality_free(saml_subject_locality_t *sub_locality, 
00908                                                    const axutil_env_t *env);
00909 
00910 
00911 
00912 
00913 
00914 
00915 
00916 
00917 AXIS2_EXTERN int AXIS2_CALL 
00918 saml_subject_locality_build(saml_subject_locality_t *sub_locality, 
00919                                                         axiom_node_t *node, const axutil_env_t *env);
00920 
00921 
00922 
00923 
00924 
00925 
00926 
00927 AXIS2_EXTERN axiom_node_t *AXIS2_CALL 
00928 saml_subject_locality_to_om(saml_subject_locality_t *sub_locality, 
00929                                                         axiom_node_t *parent, const axutil_env_t *env);
00930 
00931 
00932 
00933 
00934 
00935 
00936 
00937 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
00938 saml_subject_locality_get_ip(saml_subject_locality_t *sub_locality, 
00939                                                          const axutil_env_t *env);
00940 
00941 
00942 
00943 
00944 
00945 
00946 
00947 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
00948 saml_subject_locality_get_dns(saml_subject_locality_t *sub_locality, 
00949                                                           const axutil_env_t *env);
00950 
00951 
00952 
00953 
00954 
00955 
00956 
00957 AXIS2_EXTERN int AXIS2_CALL 
00958 saml_subject_locality_set_ip(saml_subject_locality_t *sub_locality, 
00959                                                          const axutil_env_t *env, axis2_char_t *ip);
00960 
00961 
00962 
00963 
00964 
00965 
00966 
00967 AXIS2_EXTERN int AXIS2_CALL 
00968 saml_subject_locality_set_dns(saml_subject_locality_t *sub_locality, 
00969                                                           const axutil_env_t *env, axis2_char_t *dns);
00970 
00971 
00972 
00973 
00974 
00975 
00976 
00977 
00978 AXIS2_EXTERN saml_subject_t * AXIS2_CALL 
00979 saml_subject_create(const axutil_env_t *env);
00980 
00981 
00982 
00983 
00984 
00985 
00986 AXIS2_EXTERN void AXIS2_CALL 
00987 saml_subject_free(saml_subject_t *subject, const axutil_env_t *env);
00988 
00989 
00990 
00991 
00992 
00993 
00994 
00995 AXIS2_EXTERN int AXIS2_CALL 
00996 saml_subject_build(saml_subject_t *subject, 
00997                                    axiom_node_t *node, const axutil_env_t *env);
00998 
00999 
01000 
01001 
01002 
01003 
01004 
01005 AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
01006 saml_subject_to_om(saml_subject_t *subject, 
01007                                    axiom_node_t *parent, const axutil_env_t *env);
01008 
01009 
01010 
01011 
01012 
01013 
01014 
01015 AXIS2_EXTERN saml_named_id_t * AXIS2_CALL 
01016 saml_subject_get_named_id(saml_subject_t *subject, const axutil_env_t *env);
01017 
01018 
01019 
01020 
01021 
01022 
01023 
01024 AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL 
01025 saml_subject_get_confirmation_methods(saml_subject_t *subject, 
01026                                                                           const axutil_env_t *env);
01027 
01028 
01029 
01030 
01031 
01032 
01033 
01034 AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
01035 saml_subject_get_confirmation_data(saml_subject_t *subject, const axutil_env_t *env);
01036 
01037 
01038 
01039 
01040 
01041 
01042 
01043 AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
01044 saml_subject_get_key_info(saml_subject_t *subject, const axutil_env_t *env);
01045 
01046 
01047 
01048 
01049 
01050 
01051 
01052 AXIS2_EXTERN int AXIS2_CALL 
01053 saml_subject_set_named_id(saml_subject_t *subject, 
01054                                                   const axutil_env_t *env, saml_named_id_t *named_id);
01055 
01056 
01057 
01058 
01059 
01060 
01061 
01062 
01063 
01064 AXIS2_EXTERN int AXIS2_CALL 
01065 saml_subject_set_confirmation_methods(saml_subject_t *subject, 
01066                                                                           const axutil_env_t *env, 
01067                                                                           axutil_array_list_t *list);
01068 
01069 
01070 
01071 
01072 
01073 
01074 AXIS2_EXTERN int AXIS2_CALL 
01075 saml_subject_add_confirmation(saml_subject_t *subject, 
01076                                                           const axutil_env_t *env, 
01077                                                           axis2_char_t *sub_confirmation);
01078 
01079 
01080 
01081 
01082 
01083 
01084 
01085 AXIS2_EXTERN int AXIS2_CALL 
01086 saml_subject_remove_subject_confiirmation(saml_subject_t *subject, 
01087                                                                                   const axutil_env_t *env, int index);
01088 
01089 
01090 
01091 
01092 
01093 
01094 
01095 
01096 AXIS2_EXTERN int AXIS2_CALL 
01097 saml_subject_set_key_info(saml_subject_t *subject, 
01098                                                   const axutil_env_t *env, axiom_node_t *node);
01099 
01100 
01101 
01102 
01103 
01104 
01105 
01106 
01107  
01108 AXIS2_EXTERN int AXIS2_CALL 
01109 saml_subject_stmt_build(saml_subject_stmt_t *subject_stmt, 
01110                                                 axiom_node_t *node, const axutil_env_t *env);
01111 
01112 
01113 
01114 
01115 
01116 
01117 AXIS2_EXTERN void AXIS2_CALL 
01118 saml_subject_stmt_free(saml_subject_stmt_t *subject_stmt, 
01119                                            const axutil_env_t *env);
01120 
01121 
01122 
01123 
01124 
01125 
01126 AXIS2_EXTERN saml_subject_stmt_t * AXIS2_CALL 
01127 saml_subject_stmt_create(const axutil_env_t *env);
01128 
01129 
01130 
01131 
01132 
01133 
01134 
01135 AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
01136 saml_subject_stmt_to_om(saml_subject_stmt_t *subject_stmt, 
01137                                                 axiom_node_t *parent, const axutil_env_t *env);
01138 
01139 
01140 
01141 
01142 
01143 
01144 
01145 AXIS2_EXTERN int AXIS2_CALL 
01146 saml_subject_stmt_set_subject(saml_subject_stmt_t *subject_stmt, 
01147                                                           const axutil_env_t *env, saml_subject_t *subject);
01148 
01149 
01150 
01151 
01152 
01153 
01154 
01155 AXIS2_EXTERN saml_subject_t * AXIS2_CALL 
01156 saml_subject_stmt_get_subject(saml_subject_stmt_t *subject_stmt, 
01157                                                           const axutil_env_t *env);
01158 
01159 
01160 
01161 
01162 
01163 
01164 
01165 AXIS2_EXTERN saml_auth_desicion_stmt_t * AXIS2_CALL 
01166 saml_auth_desicion_stmt_create(const axutil_env_t *env);
01167 
01168 
01169 
01170 
01171 
01172 
01173 AXIS2_EXTERN void AXIS2_CALL 
01174 saml_auth_desicion_stmt_free(saml_auth_desicion_stmt_t *auth_des_stmt, 
01175                                                          const axutil_env_t *env);
01176 
01177 
01178 
01179 
01180 
01181 
01182 
01183 
01184 AXIS2_EXTERN int AXIS2_CALL 
01185 saml_auth_desicion_stmt_build(saml_auth_desicion_stmt_t *auth_des_stmt, 
01186                                                           axiom_node_t *node, const axutil_env_t *env);
01187 
01188 
01189 
01190 
01191 
01192 
01193 
01194 AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
01195 saml_auth_desicion_stmt_to_om(saml_auth_desicion_stmt_t *auth_des_stmt, 
01196                                                           axiom_node_t *parent, const axutil_env_t *env);
01197 
01198 
01199 
01200 
01201 
01202 
01203 AXIS2_EXTERN saml_subject_t * AXIS2_CALL 
01204 saml_auth_desicion_stmt_get_subject(saml_auth_desicion_stmt_t *auth_des_stmt, 
01205                                                                         const axutil_env_t *env);
01206 
01207 
01208 
01209 
01210 
01211 
01212 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
01213 saml_auth_desicion_stmt_get_resource(saml_auth_desicion_stmt_t *auth_des_stmt, 
01214                                                                          const axutil_env_t *env);
01215 
01216 
01217 
01218 
01219 
01220 
01221 
01222 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
01223 saml_auth_desicion_stmt_get_desicion(saml_auth_desicion_stmt_t *auth_des_stmt, 
01224                                                                          const axutil_env_t *env);
01225 
01226 
01227 
01228 
01229 
01230 
01231 
01232 AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL 
01233 saml_auth_desicion_stmt_get_actions(saml_auth_desicion_stmt_t *auth_des_stmt, 
01234                                                                         const axutil_env_t *env);
01235 
01236 
01237 
01238 
01239 
01240 
01241 
01242 AXIS2_EXTERN saml_evidence_t * AXIS2_CALL 
01243 saml_auth_desicion_stmt_get_evidence(saml_auth_desicion_stmt_t *auth_des_stmt, 
01244                                                                          const axutil_env_t *env);
01245 
01246 
01247 
01248 
01249 
01250 
01251 
01252 
01253 AXIS2_EXTERN int AXIS2_CALL 
01254 saml_auth_desicion_stmt_set_resource(saml_auth_desicion_stmt_t *auth_des_stmt, 
01255                                                                          const axutil_env_t *env, axis2_char_t *resource);
01256 
01257 
01258 
01259 
01260 
01261 
01262 
01263 
01264 
01265 AXIS2_EXTERN int AXIS2_CALL 
01266 saml_auth_desicion_stmt_set_desicion(saml_auth_desicion_stmt_t *auth_des_stmt, 
01267                                                                          const axutil_env_t *env, axis2_char_t *desicion);
01268 
01269 
01270 
01271 
01272 
01273 
01274 
01275 
01276 AXIS2_EXTERN int AXIS2_CALL 
01277 saml_auth_desicion_stmt_set_actions(saml_auth_desicion_stmt_t *auth_des_stmt, 
01278                                                                         const axutil_env_t *env, axutil_array_list_t *list);
01279 
01280 
01281 
01282 
01283 
01284 
01285 AXIS2_EXTERN int AXIS2_CALL 
01286 saml_auth_desicion_stmt_remove_action(saml_auth_desicion_stmt_t *auth_des_stmt, 
01287                                                                           const axutil_env_t *env, int index);
01288 
01289 
01290 
01291 
01292 
01293 
01294 
01295 AXIS2_EXTERN int AXIS2_CALL 
01296 saml_auth_desicion_stmt_add_action(saml_auth_desicion_stmt_t *auth_des_stmt, 
01297                                                                    const axutil_env_t *env, saml_action_t *action);
01298 
01299 
01300 
01301 
01302 
01303 
01304 
01305 AXIS2_EXTERN int AXIS2_CALL 
01306 saml_auth_desicion_stmt_set_subject(saml_auth_desicion_stmt_t *auth_des_stmt, 
01307                                                                         const axutil_env_t *env, saml_subject_t *subject);
01308 
01309 
01310 
01311 
01312 
01313 
01314 
01315  
01316 AXIS2_EXTERN saml_auth_stmt_t * AXIS2_CALL 
01317 saml_auth_stmt_create(const axutil_env_t *env);
01318 
01319 
01320 
01321 
01322 
01323 
01324 AXIS2_EXTERN void AXIS2_CALL 
01325 saml_auth_stmt_free(saml_auth_stmt_t *auth_stmt, const axutil_env_t *env);
01326 
01327 
01328 
01329 
01330 
01331 
01332 
01333 AXIS2_EXTERN int AXIS2_CALL 
01334 saml_auth_stmt_build(saml_auth_stmt_t *auth_stmt, 
01335                                          axiom_node_t *node, const axutil_env_t *env);
01336 
01337 
01338 
01339 
01340 
01341 
01342 
01343 AXIS2_EXTERN axiom_node_t *AXIS2_CALL 
01344 saml_auth_stmt_to_om(saml_auth_stmt_t *auth_stmt, 
01345                                          axiom_node_t *parent, const axutil_env_t *env);
01346 
01347 
01348 
01349 
01350 
01351 
01352 
01353 
01354 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
01355 saml_auth_stmt_get_auth_method(saml_auth_stmt_t *auth_stmt, 
01356                                                            const axutil_env_t *env);
01357 
01358 
01359 
01360 
01361 
01362 
01363 
01364 AXIS2_EXTERN axutil_date_time_t * AXIS2_CALL 
01365 saml_auth_stmt_get_auth_instant(saml_auth_stmt_t *auth_stmt, 
01366                                                                 const axutil_env_t *env);
01367 
01368 
01369 
01370 
01371 
01372 
01373 
01374 
01375 AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL 
01376 saml_auth_stmt_get_auth_bindings(saml_auth_stmt_t *auth_stmt, 
01377                                                                  const axutil_env_t *env);
01378 
01379 
01380 
01381 
01382 
01383 
01384 
01385 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
01386 saml_auth_stmt_get_subject_ip(saml_auth_stmt_t *auth_stmt, 
01387                                                           const axutil_env_t *env);
01388 
01389 
01390 
01391 
01392 
01393 
01394 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
01395 saml_auth_stmt_get_subject_dns(saml_auth_stmt_t *auth_stmt, 
01396                                                            const axutil_env_t *env);
01397 
01398 
01399 
01400 
01401 
01402 
01403 
01404 AXIS2_EXTERN int AXIS2_CALL 
01405 saml_auth_stmt_set_subject(saml_auth_stmt_t *auth_stmt, 
01406                                                    const axutil_env_t *env, saml_subject_t *subject);
01407 
01408 
01409 
01410 
01411 
01412 
01413 
01414 
01415 AXIS2_EXTERN int AXIS2_CALL 
01416 saml_auth_stmt_set_auth_method(saml_auth_stmt_t *auth_stmt, 
01417                                                            const axutil_env_t *env, axis2_char_t *method);
01418 
01419 
01420 
01421 
01422 
01423 
01424 
01425 AXIS2_EXTERN int AXIS2_CALL 
01426 saml_auth_stmt_set_auth_instant(saml_auth_stmt_t *auth_stmt, 
01427                                                                 const axutil_env_t *env, axutil_date_time_t *dt);
01428 
01429 
01430 
01431 
01432 
01433 
01434 
01435 
01436 AXIS2_EXTERN int AXIS2_CALL 
01437 saml_auth_stmt_set_auth_bindings(saml_auth_stmt_t *auth_stmt, 
01438                                                                  const axutil_env_t *env, axutil_array_list_t *list);
01439 
01440 
01441 
01442 
01443 
01444 
01445 
01446 
01447 AXIS2_EXTERN int AXIS2_CALL 
01448 saml_auth_stmt_add_auth_binding(saml_auth_stmt_t *auth_stmt, 
01449                                                                 const axutil_env_t *env, saml_auth_binding_t *bind);
01450 
01451 
01452 
01453 
01454 
01455 
01456 
01457 AXIS2_EXTERN int AXIS2_CALL 
01458 saml_auth_stmt_remove_auth_binding(saml_auth_stmt_t *auth_stmt, 
01459                                                                    const axutil_env_t *env, int index);
01460 
01461 
01462 
01463 
01464 
01465 
01466 
01467 AXIS2_EXTERN int AXIS2_CALL 
01468 saml_auth_stmt_set_subject_dns(saml_auth_stmt_t *auth_stmt, 
01469                                                            const axutil_env_t *env, axis2_char_t *dns);
01470 
01471 
01472 
01473 
01474 
01475 
01476 
01477 AXIS2_EXTERN int AXIS2_CALL 
01478 saml_auth_stmt_set_subject_ip(saml_auth_stmt_t *auth_stmt, 
01479                                                           const axutil_env_t *env, axis2_char_t *ip);
01480 
01481 
01482 
01483 
01484 
01485 
01486 
01487 
01488 AXIS2_EXTERN saml_attr_stmt_t * AXIS2_CALL 
01489 saml_attr_stmt_create(const axutil_env_t *env);
01490 
01491 
01492 
01493 
01494 
01495 
01496 AXIS2_EXTERN void AXIS2_CALL 
01497 saml_attr_stmt_free(saml_attr_stmt_t *attr_stmt, const axutil_env_t *env);
01498 
01499 
01500 
01501 
01502 
01503 
01504 
01505 
01506 AXIS2_EXTERN int AXIS2_CALL 
01507 saml_attr_stmt_build(saml_attr_stmt_t *attr_stmt, 
01508                                          axiom_node_t *node, const axutil_env_t *env);
01509 
01510 
01511 
01512 
01513 
01514 
01515 
01516 AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
01517 saml_attr_stmt_to_om(saml_attr_stmt_t *attr_stmt, 
01518                                          axiom_node_t *parent, const axutil_env_t *env);
01519 
01520 
01521 
01522 
01523 
01524 
01525 
01526 AXIS2_EXTERN saml_subject_t * AXIS2_CALL 
01527 saml_attr_stmt_get_subject(saml_attr_stmt_t *attr_stmt, const axutil_env_t *env);
01528 
01529 
01530 
01531 
01532 
01533 
01534 
01535 AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL 
01536 saml_attr_stmt_get_attributes(saml_attr_stmt_t *attr_stmt, const axutil_env_t *env);
01537 
01538 
01539 
01540 
01541 
01542 
01543 
01544 AXIS2_EXTERN int AXIS2_CALL 
01545 saml_attr_stmt_set_subject(saml_attr_stmt_t *attr_stmt, 
01546                                                    const axutil_env_t *env, saml_subject_t *subject);
01547 
01548 
01549 
01550 
01551 
01552 
01553 
01554 
01555 AXIS2_EXTERN int AXIS2_CALL 
01556 saml_attr_stmt_set_attributes(saml_attr_stmt_t *attr_stmt, 
01557                                                           const axutil_env_t *env, axutil_array_list_t *list);
01558 
01559 
01560 
01561 
01562 
01563 
01564 
01565 AXIS2_EXTERN int AXIS2_CALL 
01566 saml_attr_stmt_add_attribute(saml_attr_stmt_t *attr_stmt, 
01567                                                          const axutil_env_t *env, saml_attr_t *attribute);
01568 
01569 
01570 
01571 
01572 
01573 
01574 
01575 AXIS2_EXTERN int AXIS2_CALL 
01576 saml_attr_stmt_remove_attribute(saml_attr_stmt_t *attr_stmt, 
01577                                                                 const axutil_env_t *env, int index);
01578 
01579 
01580 
01581 
01582 
01583 
01584 
01585 
01586 
01587 AXIS2_EXTERN saml_condition_t * AXIS2_CALL 
01588 saml_condition_create(const axutil_env_t *env);
01589 
01590 
01591 
01592 
01593 
01594 
01595 
01596 AXIS2_EXTERN void AXIS2_CALL 
01597 saml_condition_free(saml_condition_t *cond, const axutil_env_t *env);
01598 
01599 
01600 
01601 
01602 
01603 
01604 
01605 
01606 AXIS2_EXTERN int AXIS2_CALL 
01607 saml_condition_build(saml_condition_t *cond, 
01608                                          axiom_node_t *node, const axutil_env_t *env);
01609 
01610 
01611 
01612 
01613 
01614 
01615 
01616 AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
01617 saml_condition_to_om(saml_condition_t *cond, 
01618                                          axiom_node_t *parent, const axutil_env_t *env);
01619 
01620 
01621 
01622 
01623 
01624 
01625 
01626 
01627 AXIS2_EXTERN int AXIS2_CALL 
01628 saml_condition_set_condition(saml_condition_t *cond, 
01629                                                          const axutil_env_t *env, void * condition, 
01630                                                          saml_cond_type_t type);
01631 
01632 
01633 
01634 
01635 
01636 
01637 
01638 AXIS2_EXTERN int AXIS2_CALL 
01639 saml_condition_set_type(saml_condition_t *cond, 
01640                                                 const axutil_env_t *env, saml_cond_type_t type);
01641 
01642 
01643 
01644 
01645 
01646 
01647 AXIS2_EXTERN void * AXIS2_CALL 
01648 saml_condition_get_condition(saml_condition_t *cond, const axutil_env_t *env);
01649 
01650 
01651 
01652 
01653 
01654 
01655 AXIS2_EXTERN saml_cond_type_t AXIS2_CALL 
01656 saml_condition_get_type(saml_condition_t *cond, const axutil_env_t *env);
01657 
01658 
01659 
01660 
01661 
01662 
01663 
01664 
01665 
01666 AXIS2_EXTERN int AXIS2_CALL 
01667 saml_audi_restriction_cond_build(saml_audi_restriction_cond_t *arc, 
01668                                                                  axiom_node_t *node, const axutil_env_t *env);
01669 
01670 
01671 
01672 
01673 
01674 
01675 
01676 AXIS2_EXTERN axiom_node_t *AXIS2_CALL 
01677 saml_audi_restriction_cond_to_om(saml_audi_restriction_cond_t *arc, 
01678                                                                  axiom_node_t *parent, const axutil_env_t *env);
01679 
01680 
01681 
01682 
01683 
01684 
01685 AXIS2_EXTERN void AXIS2_CALL 
01686 saml_audi_restriction_cond_free(saml_audi_restriction_cond_t *arc, 
01687                                                                 const axutil_env_t *env);
01688 
01689 
01690 
01691 
01692 
01693 
01694 AXIS2_EXTERN saml_audi_restriction_cond_t * AXIS2_CALL 
01695 saml_audi_restriction_cond_create(const axutil_env_t *env);
01696 
01697 
01698 
01699 
01700 
01701 
01702 AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL 
01703 saml_audi_restriction_cond_get_audiences(saml_audi_restriction_cond_t *arc, 
01704                                                                                  const axutil_env_t *env);
01705 
01706 
01707 
01708 
01709 
01710 
01711 AXIS2_EXTERN int AXIS2_CALL 
01712 saml_audi_restriction_cond_set_audiences(saml_audi_restriction_cond_t *cond, 
01713                                                                                  const axutil_env_t *env, axutil_array_list_t *list);
01714 
01715 
01716 
01717 
01718 
01719 
01720 
01721 AXIS2_EXTERN int AXIS2_CALL 
01722 saml_audi_restriction_cond_remove_audiences(saml_audi_restriction_cond_t *cond, 
01723                                                                                         const axutil_env_t *env, int index);
01724 
01725 
01726 
01727 
01728 
01729 
01730 
01731 AXIS2_EXTERN int AXIS2_CALL 
01732 saml_audi_restriction_cond_add_audience(saml_audi_restriction_cond_t *cond, 
01733                                                                                 const axutil_env_t *env, axis2_char_t *audience);
01734 
01735 
01736 
01737 
01738 
01739 
01740 
01741 
01742 
01743 AXIS2_EXTERN saml_action_t * AXIS2_CALL 
01744 saml_action_create(const axutil_env_t *env);
01745 
01746 
01747 
01748 
01749 
01750 
01751 AXIS2_EXTERN void AXIS2_CALL 
01752 saml_action_free(saml_action_t *action, const axutil_env_t *env);
01753 
01754 
01755 
01756 
01757 
01758 
01759 
01760 AXIS2_EXTERN int AXIS2_CALL 
01761 saml_action_build(saml_action_t *action, axiom_node_t *node, const axutil_env_t *env);
01762 
01763 
01764 
01765 
01766 
01767 
01768 
01769 AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
01770 saml_action_to_om(saml_action_t *action, 
01771                                   axiom_node_t *parent, const axutil_env_t *env);
01772 
01773 
01774 
01775 
01776 
01777 
01778 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
01779 saml_action_get_data(saml_action_t *action, const axutil_env_t *env);
01780 
01781 
01782 
01783 
01784 
01785 
01786 
01787 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
01788 saml_action_get_namespace(saml_action_t *action, const axutil_env_t *env);
01789 
01790 
01791 
01792 
01793 
01794 
01795 
01796 AXIS2_EXTERN int AXIS2_CALL 
01797 saml_action_set_data(saml_action_t *action, const axutil_env_t *env, 
01798                                          axis2_char_t *data);
01799 
01800 
01801 
01802 
01803 
01804 
01805 
01806 
01807 AXIS2_EXTERN int AXIS2_CALL 
01808 saml_action_set_namespace(saml_action_t *action, const axutil_env_t *env, 
01809                                                   axis2_char_t *name_space);
01810 
01811 
01812 AXIS2_EXTERN saml_evidence_t * AXIS2_CALL 
01813 saml_evidence_create(const axutil_env_t *env);
01814 
01815 AXIS2_EXTERN void AXIS2_CALL 
01816 saml_evidence_free(saml_evidence_t *evidence, const axutil_env_t *env);
01817 
01818 AXIS2_EXTERN int AXIS2_CALL 
01819 saml_evidence_build(saml_evidence_t *evidence, 
01820                                         axiom_node_t *node, const axutil_env_t *env);
01821 
01822 AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
01823 saml_evidence_to_om(saml_evidence_t *evidence, axiom_node_t *parent, 
01824                                         const axutil_env_t *env);
01825 
01826 AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL 
01827 saml_evidence_get_assertions(saml_evidence_t *evidence, const axutil_env_t *env);
01828 
01829 AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL 
01830 saml_evidence_get_assertion_ids(saml_evidence_t *evidence, const axutil_env_t *env);
01831 
01832 AXIS2_EXTERN int AXIS2_CALL 
01833 saml_evidence_set_assertions(saml_evidence_t *evidence, 
01834                                                          const axutil_env_t *env, axutil_array_list_t *list);
01835 
01836 AXIS2_EXTERN int AXIS2_CALL 
01837 saml_evidence_remove_assertion(saml_evidence_t *evidence, 
01838                                                            const axutil_env_t *env, int index);
01839 
01840 AXIS2_EXTERN int AXIS2_CALL 
01841 saml_evidence_add_assertion(saml_evidence_t *evidence, 
01842                                                         const axutil_env_t *env, saml_assertion_t *assertion);
01843 
01844 AXIS2_EXTERN int AXIS2_CALL 
01845 saml_evidence_set_assertion_ids(saml_evidence_t *evidence, 
01846                                                                 const axutil_env_t *env, axutil_array_list_t *list);
01847 
01848 AXIS2_EXTERN int AXIS2_CALL 
01849 saml_evidence_remove_assertion_id(saml_evidence_t *evidence, 
01850                                                                   const axutil_env_t *env, int index);
01851 
01852 AXIS2_EXTERN int AXIS2_CALL 
01853 saml_evidence_add_assertion_id(saml_evidence_t *evidence, 
01854                                                            const axutil_env_t *env, axis2_char_t *assertion_id);
01855 
01856 
01857 
01858 
01859 
01860 
01861 
01862 
01863 AXIS2_EXTERN saml_attr_desig_t * AXIS2_CALL 
01864 saml_attr_desig_create(const axutil_env_t *env);
01865 
01866 
01867 
01868 
01869 
01870 
01871 AXIS2_EXTERN void AXIS2_CALL 
01872 saml_attr_desig_free(saml_attr_desig_t *attr_desig, const axutil_env_t *env);
01873 
01874 
01875 
01876 
01877 
01878 
01879 
01880 AXIS2_EXTERN int AXIS2_CALL 
01881 saml_attr_desig_build(saml_attr_desig_t *attr_desig, 
01882                                           axiom_node_t *node, const axutil_env_t *env);
01883 
01884 
01885 
01886 
01887 
01888 
01889 
01890 AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
01891 saml_attr_desig_to_om(saml_attr_desig_t *attr_desig, 
01892                                           axiom_node_t *parent, const axutil_env_t *env);
01893 
01894 
01895 
01896 
01897 
01898 
01899 
01900 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
01901 saml_attr_desig_get_name(saml_attr_desig_t *attr_desig, const axutil_env_t *env);
01902 
01903 
01904 
01905 
01906 
01907 
01908 
01909 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
01910 saml_attr_desig_get_namespace(saml_attr_desig_t *attr_desig, const axutil_env_t *env);
01911 
01912 
01913 
01914 
01915 
01916 
01917 
01918 AXIS2_EXTERN int AXIS2_CALL 
01919 saml_attr_desig_set_name(saml_attr_desig_t *attr_desig, 
01920                                                  const axutil_env_t *env, axis2_char_t *name);
01921 
01922 
01923 
01924 
01925 
01926 
01927 
01928 AXIS2_EXTERN int AXIS2_CALL 
01929 saml_attr_desig_set_namespace(saml_attr_desig_t *attr_desig, 
01930                                                           const axutil_env_t *env, axis2_char_t *name_space);
01931 
01932 
01933 
01934 
01935 
01936 
01937 
01938 
01939 AXIS2_EXTERN saml_attr_t * AXIS2_CALL 
01940 saml_attr_create(const axutil_env_t *env);
01941 
01942 
01943 
01944 
01945 
01946 
01947 AXIS2_EXTERN void AXIS2_CALL 
01948 saml_attr_free(saml_attr_t *attr, const axutil_env_t *env);
01949 
01950 
01951 
01952 
01953 
01954 
01955 
01956 AXIS2_EXTERN int AXIS2_CALL 
01957 saml_attr_build(saml_attr_t *attr, axiom_node_t *node, const axutil_env_t *env);
01958 
01959 
01960 
01961 
01962 
01963 
01964 
01965 AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
01966 saml_attr_to_om(saml_attr_t *attr, axiom_node_t *parent, const axutil_env_t *env);
01967 
01968 
01969 
01970 
01971 
01972 
01973 
01974 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
01975 saml_attr_get_name(saml_attr_t *attr, const axutil_env_t *env);
01976 
01977 
01978 
01979 
01980 
01981 
01982 
01983 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
01984 saml_attr_get_namespace(saml_attr_t *attr_stmt, const axutil_env_t *env);
01985 
01986 
01987 
01988 
01989 
01990 
01991 
01992 AXIS2_EXTERN int AXIS2_CALL 
01993 saml_attr_set_name(saml_attr_t *attr, const axutil_env_t *env, axis2_char_t *name);
01994 
01995 
01996 
01997 
01998 
01999 
02000 
02001 AXIS2_EXTERN int AXIS2_CALL 
02002 saml_attr_set_namespace(saml_attr_t *attr, const axutil_env_t *env, 
02003                                                 axis2_char_t *name_space);
02004 
02005 
02006 
02007 
02008 
02009 
02010 
02011 AXIS2_EXTERN int AXIS2_CALL 
02012 saml_attr_set_values(saml_attr_t *attr, const axutil_env_t *env, 
02013                                          axutil_array_list_t *list);
02014 
02015 
02016 
02017 
02018 
02019 
02020 
02021 AXIS2_EXTERN int AXIS2_CALL 
02022 saml_attr_remove_value(saml_attr_t *attr, const axutil_env_t *env, int index);
02023 
02024 
02025 
02026 
02027 
02028 
02029 
02030 AXIS2_EXTERN int AXIS2_CALL 
02031 saml_attr_add_value(saml_attr_t *attr, const axutil_env_t *env, axiom_node_t *value);
02032 
02033 
02034 
02035 
02036 
02037 
02038 
02039 
02040 
02041 AXIS2_EXTERN saml_named_id_t * AXIS2_CALL 
02042 saml_named_id_create(const axutil_env_t *env);
02043 
02044 
02045 
02046 
02047 
02048 
02049 AXIS2_EXTERN void AXIS2_CALL 
02050 saml_named_id_free(saml_named_id_t *named_id, const axutil_env_t *env);
02051 
02052 
02053 
02054 
02055 
02056 
02057 
02058 AXIS2_EXTERN int AXIS2_CALL 
02059 saml_named_id_build(saml_named_id_t *named_id, axiom_node_t *node, 
02060                                         const axutil_env_t *env);
02061 
02062 
02063 
02064 
02065 
02066 
02067 
02068 AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
02069 saml_named_id_to_om(saml_named_id_t *id, axiom_node_t *parent, 
02070                                         const axutil_env_t *env);
02071 
02072 
02073 
02074 
02075 
02076 
02077 
02078 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
02079 saml_named_id_get_name(saml_named_id_t *id, const axutil_env_t *env);
02080 
02081 
02082 
02083 
02084 
02085 
02086 
02087 
02088 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
02089 saml_named_id_get_format(saml_named_id_t *id, const axutil_env_t *env);
02090 
02091 
02092 
02093 
02094 
02095 
02096 
02097 
02098 AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
02099 saml_named_id_get_name_qualifier(saml_named_id_t *id, const axutil_env_t *env);
02100 
02101 
02102 
02103 
02104 
02105 
02106 
02107 AXIS2_EXTERN int AXIS2_CALL 
02108 saml_named_id_set_name(saml_named_id_t *id, 
02109                                            const axutil_env_t *env, axis2_char_t *name);
02110 
02111 
02112 
02113 
02114 
02115 
02116 
02117 
02118 AXIS2_EXTERN int AXIS2_CALL 
02119 saml_named_id_set_format(saml_named_id_t *id, 
02120                                                  const axutil_env_t *env, axis2_char_t *format);
02121 
02122 
02123 
02124 
02125 
02126 
02127 
02128 
02129 AXIS2_EXTERN int AXIS2_CALL 
02130 saml_named_id_set_name_qualifier(saml_named_id_t *id, 
02131                                                                  const axutil_env_t *env, axis2_char_t *qualifier);
02132 
02133 
02134 
02135 AXIS2_EXTERN int AXIS2_CALL saml_util_set_sig_ctx_defaults(oxs_sign_ctx_t *sig_ctx, const axutil_env_t *env, axis2_char_t *id);
02136 
02137 
02138 
02139 
02140 
02141 
02142 
02143 AXIS2_EXTERN oxs_key_t * AXIS2_CALL
02144 saml_assertion_get_session_key(const axutil_env_t *env, axiom_node_t *assertion, 
02145                                openssl_pkey_t *pvt_key);
02146 
02147 #ifdef __cplusplus
02148 }
02149 #endif
02150 
02151 
02152 #endif