Skip to main content
Skip table of contents

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:

  • Encrypt Assertion: SAML Assertion verschlüsseln
    Erforderliche Parameter: cryptAlias, cryptPassword
  • Decrypt Assertion: SAML Assertion entschlüsseln
    Erforderliche Parameter: cryptAlias, cryptPassword
  • Sign Assertion: SAML Assertion mit einem Zertifikat signieren
    Erforderliche Parameter: signatureAlias, signaturePassword, algorithm
  • Validate Assertion: SAML Assertion validieren
    Erforderliche Parameter: cryptAlias, cryptPassword, signatureRequired, skipValidation
  • Sign Request: SAML Request mit einem Zertifikat signieren
    Erforderliche Parameter: signatureAlias, signaturePassword, algorithm
  • Validate Request: SAML Request validieren
    Erforderliche Parameter: signatureRequired, skipValidations

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. JKSPKCS12, ...

signatureRequired

Legt fest, ob eine Signatur benötigt wird, um die Datei zu entschlüsseln.

Mögliche Werte: true / false

skipValidations

Legt fest, ob die Prüfung von Signatur und Gültigkeit während des Entschlüsselns übersprungen werden sollen.

Mögliche Werte: true / false

cryptAliasAlias des Schlüsselpaars oder Zertifikats, das verwendet wird, um SAML Assertions zu verschlüsseln und zu entschlüsseln.
cryptPasswordPasswort des Schlüsselpaars, das verwendet wird, um SAML Assertions zu entschlüsseln.
signatureAliasAlias des Schlüsselpaars, das verwendet wird, um SAML Assertions zu signieren.
signaturePasswordPasswort des Schlüsselpaars, das verwendet wird, um SAML Assertions zu signieren.
algorithmAlgorithmus, der verwendet werden soll, um SAML Assertions zu signieren.

Mögliche Werte:

  • SHA1:
  • SHA256:
  • SHA512:

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.
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.