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