SAP ABAP Class CL_ABSTRACT_SAML_PROTOCOL (Base class for processing SAML protocol messages)
Hierarchy
☛
SAP_BASIS (Software Component) SAP Basis Component
⤷
BC-SEC-LGN-SML (Application Component) SAML 2.0
⤷
SAML2_API (Package) SAML2::API for SAML authentication

⤷

⤷

Meta Relationship - Using
# | Relationship type | Using | Short Description | Created on |
---|---|---|---|---|
1 | Interface implementation (CLASS c. INTERFACES i_ref) | IF_SAML20_CONSTANTS | Constants Within SAML2 | 20120127 |
Meta Relationship - Used By
# | Relationship type | Used by | Short Description | Created on |
---|---|---|---|---|
1 | Inheritance (c INHERITING FROM c_ref) | CL_ABSTRACT_SAML_ASSERTION | Base class for SAML assertions | 20120127 |
Properties
Class | CL_ABSTRACT_SAML_PROTOCOL | |
Short Description | Base class for processing SAML protocol messages | |
Super Class | ||
Instantiability of a Class | 2 | Public |
Final |
General Data
Message Class | ||
Program status | P | SAP Standard Production Program |
Category | 0 | |
Package | SAML2_API | SAML2::API for SAML authentication |
Created | 20111215 | SAP |
Last change | 20130531 | SAP |
Shared Memory-enabled | ||
Fixed point arithmetic | ||
Unicode checks active |
Forward declarations
# | Type group / Object type | Type | Type Description |
---|---|---|---|
1 | ![]() |
Type group use (TYPE-POOLS tp) | Type group use (TYPE-POOLS tp) |
Interfaces
# | Interface | Abstract | Final | Description | Created on |
---|---|---|---|---|---|
1 | IF_SAML20_CONSTANTS | Constants Within SAML2 | 20120127 |
Friends
Class CL_ABSTRACT_SAML_PROTOCOL has no friend class.
Attributes
# | Attribute | Level | Visibility | Read only | Typing | Associated Type | Initial Value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
Constant | Protected | Type reference (TYPE) | STRING | 'EncryptedData' | 20120127 | ||
2 | ![]() |
Constant | Protected | Type reference (TYPE) | PSECONTEXT | 'SSFA' | Application Context of a PSE | 20120127 | |
3 | ![]() |
Constant | Protected | Type reference (TYPE) | XSTRING | '4944' | 20120127 | ||
4 | ![]() |
Constant | Protected | Type reference (TYPE) | XSTRING | '417373657274696F6E4944' | 20120127 | ||
5 | ![]() |
Instance attribute | Protected | Object reference (TYPE REF TO) | XSDANY | XML Fragment | 20120127 | ||
6 | ![]() |
Instance attribute | Protected | Object reference (TYPE REF TO) | CL_SAML20_TRACE | SAML 2.0 Tracing | 20120127 | ||
7 | ![]() |
Instance attribute | Protected | Type reference (TYPE) | SAML2_NAME_ID | Structure for SAML 2.0 Type: NameIDType | 20120127 | ||
8 | ![]() |
Instance attribute | Protected | Type reference (TYPE) | ABAP_TRANS_RESBIND_TAB | 20120127 | |||
9 | ![]() |
Instance attribute | Protected | Type reference (TYPE) | MANDT | The execution client (for trace purposes) | 20120127 | ||
10 | ![]() |
Instance attribute | Protected | Type reference (TYPE) | SSFAPPL | 20120127 | |||
11 | ![]() |
Instance attribute | Protected | Type reference (TYPE) | TIMESTAMP | UTC time stamp in short form (YYYYMMDDhhmmss) | 20120127 | ||
12 | ![]() |
Instance attribute | Protected | Type reference (TYPE) | XSTRING | 20120127 | |||
13 | ![]() |
Instance attribute | Protected | Type reference (TYPE) | XSTRING | XML to parse | 20120127 | ||
14 | ![]() |
Instance attribute | Protected | Type reference (TYPE) | CXSLTDESC | Transformation name | 20120127 | ||
15 | ![]() |
Instance attribute | Protected | Type reference (TYPE) | STRING | 20120127 |
Methods
# | Method | Level | Visibility | Method type | Description | Created on |
---|---|---|---|---|---|---|
1 | ![]() |
Static method | Public | Method | Checks if this SAML Assertion was consumed | 20120418 |
2 | ![]() |
Static method | Public | Method | Clears all expired assertions | 20120418 |
3 | ![]() |
Instance method | Private | Method | Loops to nested exceptions and concatenates their texts | 20120127 |
4 | ![]() |
Instance method | Public | Constructor | CONSTRUCTOR | 20120127 |
5 | ![]() |
Static method | Public | Method | Consumes SAML Assertion | 20120418 |
6 | ![]() |
Instance method | Protected | Method | Decrypts encrypted parts | 20120127 |
7 | ![]() |
Instance method | Protected | Method | Gets the raw xml. If encrypted gets it decrypted | 20120127 |
8 | ![]() |
Instance method | Protected | Method | Parses the provided SAML XML protocol message | 20120127 |
9 | ![]() |
Instance method | Protected | Method | Parses provided sub element of the message | 20120127 |
10 | ![]() |
Instance method | Protected | Method | Sets abstract members to specific structure after parsing | 20120127 |
11 | ![]() |
Instance method | Protected | Method | Sets references to specific structure before parsing | 20120127 |
12 | ![]() |
Instance method | Protected | Method | Traces the raw (unmodified) XML | 20120127 |
13 | ![]() |
Instance method | Public | Method | Validates SAML XML | 20120127 |
14 | ![]() |
Instance method | Protected | Method | Check if the XML complies with the provided crypt options | 20120127 |
15 | ![]() |
Instance method | Private | Method | Validate hash algorithms of each message digest | 20120127 |
16 | ![]() |
Instance method | Protected | Method | Validates the assertion issuer | 20120127 |
17 | ![]() |
Instance method | Protected | Method | Validates the SAML version | 20120127 |
18 | ![]() |
Instance method | Protected | Method | Verifies the signature of the given string | 20120127 |
19 | ![]() |
Instance method | Protected | Method | Verifies the signature of the given XML fragment | 20120127 |
20 | ![]() |
Instance method | Private | Method | Verify XML signature with secondary signing certificate | 20120127 |
Events
Class CL_ABSTRACT_SAML_PROTOCOL has no event.
Types
Class CL_ABSTRACT_SAML_PROTOCOL has no local type.
Method Signatures
Method CHECK_IF_CONSUMED Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
IV_CLIENT | Call by reference | Type reference (TYPE) | MANDT | Client | 20120419 | ||
2 | ![]() |
IV_IDENTIFIER | Call by reference | Type reference (TYPE) | STRING | Assertion Id | 20120418 | ||
3 | ![]() |
IV_ISSUER | Call by reference | Type reference (TYPE) | STRING | Assertion Issuer | 20120418 |
# | Exception | Resumable | Description | Created on |
---|---|---|---|---|
1 | ![]() |
Exceptions Within SAML2 Core Function | 20120418 |
Method CLEAR_EXPIRED_ASSERTIONS Signature
Method CLEAR_EXPIRED_ASSERTIONS on class CL_ABSTRACT_SAML_PROTOCOL has no parameter.
Method CLEAR_EXPIRED_ASSERTIONS on class CL_ABSTRACT_SAML_PROTOCOL has no exception.
Method CONCATENATE_NESTED_EXC_TEXTS Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
IX_ROOT | Call by reference | Object reference (TYPE REF TO) | CX_ROOT | Abstract Superclass for All Global Exceptions | 20120127 | ||
2 | ![]() |
RV_CONCATENATED_TEXT | Value transfer | Type reference (TYPE) | STRING | 20120127 |
Method CONCATENATE_NESTED_EXC_TEXTS on class CL_ABSTRACT_SAML_PROTOCOL has no exception.
Method CONSTRUCTOR Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
IV_CLIENT | Call by reference | Type reference (TYPE) | MANDT | Client test for translation (to be deleted!) | 20120127 |
Method CONSTRUCTOR on class CL_ABSTRACT_SAML_PROTOCOL has no exception.
Method CONSUME_ASSERTION Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
IV_CLIENT | Call by reference | Type reference (TYPE) | MANDT | Client | 20120419 | ||
2 | ![]() |
IV_CLOCKSKEW | Call by reference | Type reference (TYPE) | I | 360 | Configuration clockskew | 20120418 | |
3 | ![]() |
IV_IDENTIFIER | Call by reference | Type reference (TYPE) | STRING | Assertion id | 20120418 | ||
4 | ![]() |
IV_ISSUER | Call by reference | Type reference (TYPE) | STRING | Issuer of this assertion | 20120418 | ||
5 | ![]() |
IV_VALID_TO | Call by reference | Type reference (TYPE) | SAML2_ASSERTION_VALID_TO | Validity of an SAML2 Assertion | 20120418 |
Method CONSUME_ASSERTION on class CL_ABSTRACT_SAML_PROTOCOL has no exception.
Method DECRYPT Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
IV_DECRYPTION_SSF_APPLICATION | Call by reference | Type reference (TYPE) | SSFAPPL | SSF application to use for decryption | 20120127 | ||
2 | ![]() |
IV_IS_ROOT_XML_ELEMENT | Call by reference | Type reference (TYPE) | SAML2_BOOLEAN | ABAP_TRUE | Whether XML is the whole protocol message or nested element | 20120127 | |
3 | ![]() |
IV_XML | Call by reference | Type reference (TYPE) | XSTRING | XML protocol message part to decrypt | 20120127 | ||
4 | ![]() |
RV_DECRYPTED_XML | Value transfer | Type reference (TYPE) | XSTRING | 20120127 |
# | Exception | Resumable | Description | Created on |
---|---|---|---|---|
1 | ![]() |
Raises an exception if decrypt fails (CX_SEC_SXML_ERROR) | 20120127 |
Method GET_XML Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
RV_XML | Value transfer | Type reference (TYPE) | XSTRING | 20120127 |
Method GET_XML on class CL_ABSTRACT_SAML_PROTOCOL has no exception.
Method PARSE_MESSAGE Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
IV_XML | Call by reference | Type reference (TYPE) | XSTRING | The SAML protocol message in XML format | 20120127 |
# | Exception | Resumable | Description | Created on |
---|---|---|---|---|
1 | ![]() |
Raises an exception in case of error | 20120127 |
Method PARSE_XML_ELEMENT Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
IV_TRANSFORMATION | Call by reference | Type reference (TYPE) | CXSLTDESC | Name of an XSLT Program | 20120127 | ||
2 | ![]() |
IV_XML_ELEMENT | Call by reference | Type reference (TYPE) | XSTRING | 20120127 |
# | Exception | Resumable | Description | Created on |
---|---|---|---|---|
1 | ![]() |
Exceptions Within SAML2 Core Function | 20120127 |
Method SET_ABSTRACT_MEMBERS Signature
Method SET_ABSTRACT_MEMBERS on class CL_ABSTRACT_SAML_PROTOCOL has no parameter.
Method SET_ABSTRACT_MEMBERS on class CL_ABSTRACT_SAML_PROTOCOL has no exception.
Method SET_DATA_REFERENCE Signature
Method SET_DATA_REFERENCE on class CL_ABSTRACT_SAML_PROTOCOL has no parameter.
Method SET_DATA_REFERENCE on class CL_ABSTRACT_SAML_PROTOCOL has no exception.
Method TRACE_RAW_XML Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
IV_XML | Call by reference | Type reference (TYPE) | XSTRING | Optional XML to be traced instead of the original one | 20120127 |
Method TRACE_RAW_XML on class CL_ABSTRACT_SAML_PROTOCOL has no exception.
Method VALIDATE Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
IT_SUBELEMENTS | Call by reference | Type reference (TYPE) | SAML_ELEMENT_T | List of sub-elements that must be signed or encrypted | 20120127 | ||
2 | ![]() |
IT_SUPPORTED_HASH_ALGORITHMS | Call by reference | Type reference (TYPE) | SAML2_HASH_ALGORITHM_T | Supported hash algorithms for signature verification | 20120306 | ||
3 | ![]() |
IV_ISSUER | Call by reference | Type reference (TYPE) | STRING | XML issuer | 20120127 | ||
4 | ![]() |
IV_MUST_BE_CONSUMED | Call by reference | Type reference (TYPE) | SAML2_BOOLEAN | True if the assertion must be consumed after validation | 20120417 | ||
5 | ![]() |
IV_MUST_BE_ENCRYPTED | Call by reference | Type reference (TYPE) | SAML2_BOOLEAN | Option whether XML must be encrypted | 20120127 | ||
6 | ![]() |
IV_MUST_BE_SIGNED | Call by reference | Type reference (TYPE) | SAML2_BOOLEAN | Option whether XML must be signed | 20120127 | ||
7 | ![]() |
IV_VERSION | Call by reference | Type reference (TYPE) | SAML_VERSION | SAML version | 20120127 | ||
8 | ![]() |
IV_XML | Call by reference | Type reference (TYPE) | XSTRING | Raw XML message | 20120306 |
# | Exception | Resumable | Description | Created on |
---|---|---|---|---|
1 | ![]() |
Exceptions Within SAML2 Core Function | 20120127 |
Method VALIDATE_CRYPTO_REQUIREMENTS Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
IT_SUBELEMENTS | Call by reference | Type reference (TYPE) | SAML_ELEMENT_T | List of sub-elements that must be signed or encrypted | 20120127 | ||
2 | ![]() |
IV_MUST_BE_ENCRYPTED | Call by reference | Type reference (TYPE) | SAML2_BOOLEAN | Option whether XML must be encrypted | 20120127 | ||
3 | ![]() |
IV_MUST_BE_SIGNED | Call by reference | Type reference (TYPE) | SAML2_BOOLEAN | Option whether XML must be signed | 20120127 |
# | Exception | Resumable | Description | Created on |
---|---|---|---|---|
1 | ![]() |
Exceptions Within SAML2 Core Function | 20120127 |
Method VALIDATE_HASH_ALGORITHMS Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
IT_DSIGINFO_TABLE | Call by reference | Type reference (TYPE) | SEC_XML_DSIG_INFO_TAB | Parsed dSigInfo elements from Signature element | 20120127 | ||
2 | ![]() |
IT_SUPPORTED_HASH_ALGORITHMS | Call by reference | Type reference (TYPE) | SAML2_HASH_ALGORITHM_T | List of supported digest algorithms | 20120127 |
# | Exception | Resumable | Description | Created on |
---|---|---|---|---|
1 | ![]() |
Exceptions Within SAML2 Core Function | 20120127 |
Method VALIDATE_ISSUER Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
IV_ISSUER | Call by reference | Type reference (TYPE) | STRING | XML issuer | 20120127 |
# | Exception | Resumable | Description | Created on |
---|---|---|---|---|
1 | ![]() |
Exceptions Within SAML2 Core Function | 20120127 |
Method VALIDATE_VERSION Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
IV_VERSION | Call by reference | Type reference (TYPE) | SAML_VERSION | SAML version | 20120127 |
# | Exception | Resumable | Description | Created on |
---|---|---|---|---|
1 | ![]() |
Exceptions Within SAML2 Core Function | 20120127 |
Method VERIFY_STRING_SIGNATURE Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
IV_CHECK_WITH_SEC_SIGN_CERT | Call by reference | Type reference (TYPE) | SAML2_BOOLEAN | ABAP_FALSE | Option to check with secondary sign certificate | 20120127 | |
2 | ![]() |
IV_SEC_SIGN_VALIDATION_CERT | Call by reference | Type reference (TYPE) | XSTRING | Secondary certificate to validate with | 20120127 | ||
3 | ![]() |
IV_SIGNATURE | Call by reference | Type reference (TYPE) | STRING | Signature URL parameter | 20120127 | ||
4 | ![]() |
IV_SIGNATURE_SSF_APPLICATION | Call by reference | Type reference (TYPE) | SSFAPPL | SSF application related to a signature PSE | 20120127 | ||
5 | ![]() |
IV_SIGNATURE_VALIDATION_CERT | Call by reference | Type reference (TYPE) | XSTRING | X509 certificate to validate with | 20120127 | ||
6 | ![]() |
IV_SIGNED_STRING | Call by reference | Type reference (TYPE) | STRING | Signed URL string | 20120127 | ||
7 | ![]() |
IV_SIGN_ALG | Call by reference | Type reference (TYPE) | STRING | Signature algorithm | 20120127 | ||
8 | ![]() |
RV_SUCCESSFULLY_VERIFIED | Value transfer | Type reference (TYPE) | SAML2_BOOLEAN | True if the input is suceessfully verified, otherwise false | 20120127 |
# | Exception | Resumable | Description | Created on |
---|---|---|---|---|
1 | ![]() |
Exceptions Within SAML2 Core Function | 20120127 |
Method VERIFY_XML_SIGNATURE Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
IT_SUPPORTED_HASH_ALGORITHMS | Call by reference | Type reference (TYPE) | SAML2_HASH_ALGORITHM_T | List of supported digest algorithms | 20120127 | ||
2 | ![]() |
IV_CHECK_WITH_SEC_SIGN_CERT | Call by reference | Type reference (TYPE) | SAML2_BOOLEAN | ABAP_FALSE | Option to check with secondary sign certificate | 20120127 | |
3 | ![]() |
IV_SEC_SIGN_VALIDATION_CERT | Call by reference | Type reference (TYPE) | XSTRING | Secondary certificate to validate with | 20120127 | ||
4 | ![]() |
IV_SIGNATURE_SSF_APPLICATION | Call by reference | Type reference (TYPE) | SSFAPPL | SSF application related to a signature PSE | 20120127 | ||
5 | ![]() |
IV_SIGNATURE_VALIDATION_CERT | Call by reference | Type reference (TYPE) | XSTRING | X509 certificate to validate with | 20120127 | ||
6 | ![]() |
IV_SIGNED_XML | Call by reference | Type reference (TYPE) | XSTRING | X509 certificate to validate with | 20120127 | ||
7 | ![]() |
RV_SUCCESSFULLY_VERIFIED | Value transfer | Type reference (TYPE) | SAML2_BOOLEAN | True if the input is successfully validated, otherwise false | 20120127 |
# | Exception | Resumable | Description | Created on |
---|---|---|---|---|
1 | ![]() |
Exceptions Within SAML2 Core Function | 20120127 |
Method VERIFY_XML_SIGNATURE_SEC_SIGN Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
IT_SUPPORTED_HASH_ALGORITHMS | Call by reference | Type reference (TYPE) | SAML2_HASH_ALGORITHM_T | List of supported digest algorithms | 20120127 | ||
2 | ![]() |
IV_SEC_SIGN_VALIDATION_CERT | Call by reference | Type reference (TYPE) | XSTRING | 20120127 | |||
3 | ![]() |
IV_SIGNATURE_SSF_APPLICATION | Call by reference | Type reference (TYPE) | SSFAPPL | 20120127 | |||
4 | ![]() |
IV_SIGNED_XML | Call by reference | Type reference (TYPE) | XSTRING | 20120127 | |||
5 | ![]() |
IX_ROOT | Call by reference | Object reference (TYPE REF TO) | CX_ROOT | Abstract Superclass for All Global Exceptions | 20120127 | ||
6 | ![]() |
RV_IS_APPLICABLE | Value transfer | Type reference (TYPE) | SAML2_BOOLEAN | Secondary signing key is applicable | 20120127 |
# | Exception | Resumable | Description | Created on |
---|---|---|---|---|
1 | ![]() |
Exceptions Within SAML2 Core Function | 20120127 |
History
Last changed by/on | SAP | 20130531 |
SAP Release Created in | 732 |