m2e mit SSL-Zertifikat-basierter Authentifizierung

9

TL; DR

Wie wird Eclipse's eingebauter Maven mit einem HTTPS-Repository verbunden, das zertifikatbasierte Authentifizierung verwendet?

Es scheint, dass m2e die Keystores finden kann, aber keine Verbindung herstellen kann. Befehlszeile Maven funktioniert wie ein Zauber, der genau die gleichen Schlüsselspeicher verwendet. Run as -> Maven build arbeitet mit externem Maven und nicht mit dem eingebetteten.

Problem

Ich habe ein Maven-Projekt mit einer Abhängigkeit. Diese Abhängigkeit ist in einem Repository verfügbar, das zusätzlich zur regulären Kombination aus Benutzername und Kennwort eine SSL-Zertifikat-basierte Authentifizierung verwendet. Ich muss es in Eclipse Luna mit dem eingebauten Maven machen. Alles, was ich bekommen kann, ist handshake_failure . Die Untersuchung der Logs zeigt, dass der eingebaute Maven kein passendes Zertifikat finden kann.

Wenn ich Run as -> Maven build mit einem externen Maven oder Kommandozeilen-Maven verwende, stellt es erfolgreich eine Verbindung zum Repository her und ruft das Artefakt genau nach Bedarf ab.

Interessant ist, dass sowohl externe als auch eingebettete Mavens dieselbe Version (3.2.3) haben.

Einrichtung

Ich übergebe diese Parameter durch eclipse.ini :

%Vor%

Die Datei trustStore enthält:

  • die gesamte Zertifikatskette für das Repository, mit dem ich eine Verbindung herstelle (die Kette endet mit einem selbstsignierten Zertifikat), von denen eines unter dem Alias repository.location.url gespeichert wird (literaler Repository-Speicherort hier, z. B. myrepository.com <) / em>)
  • Zertifikat für maven central

Die Datei keyStore enthält ein importiertes PKCS-Zertifikat unter einem Alias ​​des Repositorys.

Es scheint überhaupt kein Problem mit dem Setup zu geben, da die Befehlszeile Maven funktioniert. Wenn ich externes Maven oder Kommandozeile eins verwende, funktioniert es. Wenn ich auf embedded eins wechsle (was immer zur Auflösung von Abhängigkeiten verwendet wird), wird handshake error angezeigt.

Was mache ich falsch? Ich vermisse etwas völlig Offensichtliches. Jede Hilfe wäre willkommen.

    
Sorrow 27.10.2014, 11:58
quelle

3 Antworten

3

Ich hatte genau das gleiche Problem: Eclipse konnte keine Verbindung zum externen Maven-Repository herstellen, wenn die eingebettete Maven-Installation für den Fall verwendet wird, dass das Repository ein Client-SSL-Zertifikat benötigt.

Das Problem wurde gelöst, indem ich auf das neueste jvm (in meinem Fall - 1.8.0u52) upgraden und das Eclipse m2e-Plugin auf Version 1.6.1 (mit Eclipse Version 4.4.0) upgraden.

    
Alexey Sh. 12.08.2015, 09:46
quelle
3

Optionen, die bei mir nicht funktionierten

  • Installation des Zertifikats in Java & Gt; jre & gt; lib & gt; Sicherheit & gt; cacerts
  • Bereitstellung von cacerts in Java Ausführung von Konfigurations-VM-Argumenten
  • Aktualisierung der Eclipse auf die neuesten Versionen wie Mars oder Neon
  • Aktualisierung des Maven-Plugins für Eclipse auf 1.7.0

Schritte, die das Problem für mich gelöst haben

  • Zertifikatsdatei herunterladen & amp; Fügen Sie Eclipse bei Einstellungen & gt; Entfernte Systeme & gt; SSL & gt; Fügen Sie hinzu
  • Löschen .m2 & gt; Repository-Ordner aller vorhandenen Dateien
  • Öffnen Sie die Eclipse, klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Maven & gt; Projekt aktualisieren Wählen Sie Erzwinge Aktualisierung von Snapshots / Releases

wurde am 19.09.2017 aktualisiert

Uvaraj Krishna 26.05.2017 09:21
quelle
1

Wählen Sie in Ihren Laufkonfigurationen Ihren Maven Build und dann den JRE Tab am oberen Rand des Dialogs. Setzen Sie Ihre SSL-Parameter in den Textbereich der VM-Argumente.

das hat es für mich repariert.

    
user4802011 17.04.2015 16:16
quelle