wie man von opensaml 2.6 nach 3.1.1 migriert

9

Ich muss eine Klasse von opensaml 2.6 nach opensaml 3.1.1 migrieren Kompilieren Ich erhalte einige Fehler

1)

%Vor%

Ich kann die Klasse XMLHelper in der neuen Version nicht finden.

2)

%Vor%

Ich kann die Klasse DefaultBootstrap finden und finde keine Klassenkonfiguration mit den Methoden getBuilderFactory (), getMarshallerFactory ()

3)

%Vor%

Jetzt ist der neue Konstruktor BasicCredential () nicht sichtbar.

Ich habe keine Dokumentation mit Verfallsanzeige gefunden. Was muss ich tun, um diese Klasse in die Version 3.1.1 von opensaml zu portieren?

Kann mir jemand helfen? Danke im Voraus. Sorry für mein schlechtes Englisch.

    
Raffaele Fabbri 04.03.2016, 10:14
quelle

2 Antworten

14

Ich bin mir nicht sicher, ob Sie bereits ein Upgrade auf opensaml 3 durchgeführt haben, aber da ich während des Upgrades selbst auf das Upgrade gestoßen bin, dachte ich, ich werde dokumentieren, was ich gefunden habe.

Es gibt sehr wenig Dokumentation, da es augenscheinlich keine Priorität für sie gibt (auch hier erwähnt: OpenSaml3 Documentation ), die nützlichste (wenn auch bei weitem nicht vollständige) Seite, die ich gefunden habe, ist diese: Ссылка

1) Es gibt eine Klasse SerializeSupport mit einer Methode prettyPrintXML in lib net.shibboleth.utilities:java-support

2) Initialisierung erfolgt jetzt über InitializationService  z.B.

%Vor%

Sie können die Builder / Marshaller über XMLObjectProviderRegistrySupport z. B.:

abrufen %Vor%

Beachten Sie, dass opensaml die Java Service Provider-API verwendet. In meinem Fall (mit OSGi bundle org.apache.servicemix.bundles:org.apache.servicemix.bundles.opensaml ) zum Parsen einer SAML-Assertion habe ich die SPI-Konfiguration META-INF/services/org.opensaml.core.config.Initializer hinzugefügt, die folgende Einträge enthält:

%Vor%

BEARBEITEN: Das Obenstehende funktionierte in einem Test, aber lief nicht im OSGi-Container. Umgehung für OSGi: OpenSAML3-Ressource wurde nicht gefunden 'default-config.xml' im OSGi-Container

Wenn Sie die Standardbibliotheken ( org.opensaml:opensaml-core , org.opensaml:opensaml-saml-api , org.opensaml:opensaml-saml-impl , ...) verwenden, müssen Sie möglicherweise keine SPI-Konfiguration hinzufügen, da die JAR-Dateien bereits SPI-Konfigurationen mit einer Standardkonfiguration für die Initialisierung enthalten / p>

3) Es gibt eine Klasse BasicCredential in lib org.opensaml:opensaml-security-api . Ich sehe keine Alternative zur Bereitstellung eines Schlüssels während der Initalisierung.

    
Clauds 21.06.2016 14:06
quelle
0

Ich lerne, wie man das OS3 für die Entwicklung benutzt. Dies ist ein Beispiel, um eine Base64-SAML-Anfrage in SAMLObject in der V3-Version zu konvertieren. Ich hoffe, es kann dir helfen.

Das Projekt finden Sie im github-Repository

%Vor%     
Xin Meng 07.05.2017 22:37
quelle

Tags und Links