SAML Calculator
Dieser Adapter signiert, validiert, verschlüsselt und entschlüsselt SAML Assertions und Requests.
Eigenschaften (Properties)
Operation | Bestimmt, welche Operation der Funktions-Adapter durchführt Mögliche Werte:
|
Parameter
Adapter | Hauptklasse des Adapters (nicht verändern!) Mögliche Werte: de.softproject.x4.adapter.saml.SamlAdapter: Hauptklasse (Standard) |
keystoreUrl | URL des Keystores, der verwendet wird, um die SAML Assertions zu verschlüsseln und zu entschlüsseln. Mögliche Werte: String (URL) |
keystorePassword | Passwort des Keystores, der verwendet wird, um die SAML Assertions zu verschlüsseln und zu entschlüsseln. Mögliche Werte: String |
keystoreType | Art des Keystores, der verwendet wird, um die SAML Assertions zu verschlüsseln und zu entschlüsseln. Mögliche Werte: Art des Keystores, z. B. |
signatureRequired | Legt fest, ob eine Signatur benötigt wird, um die Datei zu entschlüsseln. Mögliche Werte: |
skipValidations | Legt fest, ob die Prüfung von Signatur und Gültigkeit während des Entschlüsselns übersprungen werden sollen. Mögliche Werte: |
cryptAlias | Alias des Schlüsselpaars oder Zertifikats, das verwendet wird, um SAML Assertions zu verschlüsseln und zu entschlüsseln. |
cryptPassword | Passwort des Schlüsselpaars, das verwendet wird, um SAML Assertions zu entschlüsseln. |
signatureAlias | Alias des Schlüsselpaars, das verwendet wird, um SAML Assertions zu signieren. |
signaturePassword | Passwort des Schlüsselpaars, das verwendet wird, um SAML Assertions zu signieren. |
algorithm | Algorithmus, der verwendet werden soll, um SAML Assertions zu signieren. Mögliche Werte:
|
Statuswerte
1 | Der Adapter gibt ein Ergebnis aus. |
-1 | Fehler bei der Ausführung des Adapters (Details siehe Server-Log) |
Input
Der Adapter erwartet je nach gewählter Operation eine SAML Assertion oder ein SAML Request:
SAML Assertion:
Beispiel Input SAML Assertion
XML<saml:Assertion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="_d71a3a8e9fcc45c9e9d248ef7049393fc8f04e5f75" Version="2.0" IssueInstant="2014-07-17T01:01:48Z"> <saml:Issuer>http://idp.example.com/metadata.php</saml:Issuer> <saml:Subject> <saml:NameID SPNameQualifier="http://sp.example.com/demo1/metadata.php" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"> _ce3d2948b4cf20146dee0a0b3dd6f69b6cf86f62d7 </saml:NameID> <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <saml:SubjectConfirmationData NotOnOrAfter="2024-01-18T06:21:48Z" Recipient="http://sp.example.com/demo1/index.php?acs" InResponseTo="ONELOGIN_4fee3b046395c4e751011e97f8900b5273d56685"/> </saml:SubjectConfirmation> </saml:Subject> <saml:Conditions NotBefore="2014-07-17T01:01:18Z" NotOnOrAfter="2024-01-18T06:21:48Z"> <saml:AudienceRestriction> <saml:Audience>http://sp.example.com/demo1/metadata.php</saml:Audience> </saml:AudienceRestriction> </saml:Conditions> <saml:AuthnStatement AuthnInstant="2014-07-17T01:01:48Z" SessionNotOnOrAfter="2024-07-17T09:01:48Z" SessionIndex="_be9967abd904ddcae3c0eb4189adbe3f71e327cf93"> <saml:AuthnContext> <saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml:AuthnContextClassRef> </saml:AuthnContext> </saml:AuthnStatement> <saml:AttributeStatement> <saml:Attribute Name="uid" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml:AttributeValue xsi:type="xs:string">test</saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="mail" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml:AttributeValue xsi:type="xs:string">test@example.com</saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="eduPersonAffiliation" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml:AttributeValue xsi:type="xs:string">users</saml:AttributeValue> <saml:AttributeValue xsi:type="xs:string">examplerole1</saml:AttributeValue> </saml:Attribute> </saml:AttributeStatement> </saml:Assertion>
SAML Request:
Beispiel Input SAML Request
XML<samlp:AuthnRequest ID="123456789" Version="2.0" IssueInstant="2019-01-01T12:00:00" Destination="https://www.example.org/saml/login" ForceAuthn="false" IsPassive="false" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"> <saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">BPMX4</saml:Issuer> <samlp:NameIDPolicy AllowCreate="true" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" /> </samlp:AuthnRequest>
Output
Dieser Funktions-Adapter gibt je nach ausgeführter Operation eine andere Datei als Output aus:
Encrypt Assertion
: Der Adapter gibt eine entschlüsselte SAML-Assertion aus.Sign Assertion
: Der Adapter gibt eine signierte SAML-Assertion aus.Sign Request
: Der Adapter gibt einen signierte SAML-Request aus.