Das Notes Forum

Lotus Notes / Domino Sonstiges => Java und .NET mit Notes/Domino => Thema gestartet von: m3 am 20.10.09 - 13:56:09

Titel: Hilfe zur Fehlermeldung "JCE cannot authenticate the provider IAIK" gesucht
Beitrag von: m3 am 20.10.09 - 13:56:09
Werte Mitstreiterinnen und Mitstreiter,

ich versuche derzeit, einen Java-Agent unter Notes 8.5.1 zu schreiben, der über die Java-Schnittstelle von IXOS mit einem Archiv der gleichnamigen Firma zu kommunizieren versucht.

Die ersten Hürden habe ich schon umschifft, jetzt stehe ich aber bei der nachfolgenden Fehlermeldung an.

Hat wer von Euch eine Idee, was ich da jetzt wieder ändern muss, damit der "JCE" den "IAIK" authenticaten kann?

Code
Exception javax.naming.NamingException occurred: java.lang.SecurityException: JCE cannot authenticate the provider IAIK
----- Details: ------
javax.naming.NamingException: java.lang.SecurityException: JCE cannot authenticate the provider IAIK
	at ixos.sec.crypto.util.EncrypterDecrypter.<init>(EncrypterDecrypter.java:155)
	at ixos.sec.crypto.util.EncrypterDecrypter.getInstance(EncrypterDecrypter.java:260)
	at ixos.sec.crypto.util.EncrypterDecrypter.encrypt(EncrypterDecrypter.java:184)
	at ixos.dms.intf.httpx.client.DMSTransportServiceImpl.login(DMSTransportServiceImpl.java:184)
	at ixos.dms.data.services.DataServiceXdr.logonImpl(DataServiceXdr.java:1437)
	at ixos.dms.data.services.DataService.logon(DataService.java:994)
	at ixos.dms.services.impl.DmsServiceImpl.<init>(DmsServiceImpl.java:636)
	at ixos.dms.services.DmsServiceFactory.connect(DmsServiceFactory.java:426)
	at JavaAgent.NotesMain(Unknown Source)
	at lotus.domino.AgentBase.runNotes(Unknown Source)
	at lotus.domino.NotesThread.run(Unknown Source)

Danke schon mal im Voraus.
Titel: Re: Hilfe zur Fehlermeldung "JCE cannot authenticate the provider IAIK" gesucht
Beitrag von: flaite am 21.10.09 - 13:04:18
Gibts da kein Manual von Ixos zu.
Google "JCE cannot authenticate the provider" bringt eine Menge Treffer.
Schlaumachen und erst einmal standalone versuchen waer meine Vorgehensweise.
Titel: Re: Hilfe zur Fehlermeldung "JCE cannot authenticate the provider IAIK" gesucht
Beitrag von: flaite am 21.10.09 - 13:20:26
scheint sich um einen security provider fuer pki zu handeln, der irgendwo in den externen jar files steckt.
Versuch mal die externen jar Files (von ixos) in das java-ext Verzeichnis von Notes zu legen. Nicht an den Agenten haengen.
Aber erstmal standalone versuchen. Einfach ein kleines Projekt mit Eclipse erstellen und schauen, ob du die Verbindung ohne Notes ans laufen bekommst.
Titel: Re: Hilfe zur Fehlermeldung "JCE cannot authenticate the provider IAIK" gesucht
Beitrag von: m3 am 21.10.09 - 14:58:29
Soda. Ich bin wieder einen Schritt weiter gekommen. Sorry für die späte Antwort.

Via Eclipse (mit Notes JRE) hat es geklappt. Unter Notes habe ich es dann auch zum Laufen gebracht, indem ich die relevante .jar nicht in den Agent importiert, sondern unter "jvm\lib\ext" abgelegt habe.
"Schuld" dürfte das abgelaufene Zertifikat des .jar sein, welches Notes anscheinend nicht mag.

Das Manual von IXOS geht auf derartige "Trivialitäten" natürlich nicht ein.


Ideen, wie ich Notes doch dazu bringen könnte, das Ding zu schlucken?
Titel: Re: Hilfe zur Fehlermeldung "JCE cannot authenticate the provider IAIK" gesucht
Beitrag von: flaite am 22.10.09 - 16:17:22
Via Eclipse (mit Notes JRE) hat es geklappt. Unter Notes habe ich es dann auch zum Laufen gebracht, indem ich die relevante .jar nicht in den Agent importiert, sondern unter "jvm\lib\ext" abgelegt habe.
"Schuld" dürfte das abgelaufene Zertifikat des .jar sein, welches Notes anscheinend nicht mag.
Wenn das unter Notes mit jvm\lib\ext funktioniert, dann funktioniert das für mein Verständnis auch unter Notes.
Problematisch ist natürlich die Verteilung der  jars ins lib/ext. Du könntest den Agenten vielleicht auf den Server legen und ihn vom Client mit runOnServer aufrufen.

Das Java Classloading in Notes-Agenten ist ein wenig seltsam. Dadurch können diese Probleme entstehen. Es gibt dann auch meines Wissens keinen Workaround. Du kannst auch in die Applikation etwas erstellen, dass die entsprechenden jars automatisch ins java/lib/ext kopiert. Classloader sind hierarchisch aufgebaut und vermutlich benötigt eine in einem unteren Classloader geladene Klasse eben diese Zertifikatdatei, die im jar gepackt ist. Die wird aber erst vom Agenten-Classloader geladen. 100% konkret hab ich das auch noch nicht durchdacht. Bin aber solchen Problemen des öfteren begegnet.