KNIME does not save proxy credentials, proxy connection does not work

Hi,
I want to use KNIME 3.6 unter Linux (amd64, Debian, 64bit).
I enter the proxy settings in the preferences like under Windows:

If I “Apply/Save” and reopen the proxy setting again it looks like this:

. So the credential habe not been saved (but the proxy hostname). If I try to “update Knime …” via menu I get connections errors. I do not find any erros in the console or the knime log.

I checked the user permissions and did a “chown -R user:group /path/to/knime-installation” and “chmod -R user:group /path/to/knime-installation” but I still do not know exactly where and how the credentials are being saved.

Thanks in advance for your help and hints.

HI @spider,

Unfortunately I was not able to reproduce the problem on Fedora. Could you provide a screenshot of the error message you’re getting when trying to update your KNIME?

I can suggest that it’s a problem of not being able to reach one of the update sites. In this case please go to KNIME -> Preferences -> Install/Update -> Available Software Sites and leave only the KNIME Analytics Platform 3.6 Update Site checked and try to update the software again.

Best,
Anna

HI
I want to user KNIME 3.5.3. on Windows 10 Like @Spider i´m unable to save my User / Password in the Proxy Settings.
After leaving the Preferences-Dialog the Username and Passord are gone.
Hope somebody can help us!!

Best
Chris

Hi,

I do have the exact same issue, but running on Windows10. Other users having the same version and server in use - no issues.
Any recommendation?

Kind regards
Hannes

Hello @hannesmergler,

and welcome to KNIME Community!

What KNIME version are you running? Can you set your credentials, hit Apply and Close and check .log file? There should be some info about it. Log file is locate here: ...\knime-workspace\.metadata

Br,
Ivan

1 Like

Hello @ipazin.

running on 4.1.3, tested a 4.3.x version that worked fine.
No info in the log, even not in DEBUG setting…

Kind regards
Hannes

Hello @hannesmergler,

no entries in log file? Hmmm… Just to make sure that you are checking proper log file (there are two log files). The one that you should look is in .metadata folder named .log. If you were looking at that one and not one in …metadata\knime location named knime then there are no entries and sry for the trouble :slight_smile:

I would try starting KNIME with -clean parameter (see here) and if that does work then reinstall.

Regarding versions is there something stopping you from updating KNIME to latest version?

Br,
Ivan

Hello @ipazin

sorry…classic failure from my side.
Log prompt is:

!ENTRY org.eclipse.core.net 4 0 2021-04-20 11:13:10.012
!MESSAGE Salt must be 8 bytes long
!STACK 0
org.eclipse.equinox.security.storage.StorageException: Salt must be 8 bytes long
at org.eclipse.equinox.internal.security.storage.JavaEncryption.handle(JavaEncryption.java:212)
at org.eclipse.equinox.internal.security.storage.JavaEncryption.internalDecrypt(JavaEncryption.java:192)
at org.eclipse.equinox.internal.security.storage.JavaEncryption.decrypt(JavaEncryption.java:176)
at org.eclipse.equinox.internal.security.storage.SecurePreferencesRoot.getModulePassword(SecurePreferencesRoot.java:278)
at org.eclipse.equinox.internal.security.storage.SecurePreferencesRoot.getPassword(SecurePreferencesRoot.java:226)
at org.eclipse.equinox.internal.security.storage.SecurePreferences.put(SecurePreferences.java:226)
at org.eclipse.equinox.internal.security.storage.SecurePreferencesWrapper.put(SecurePreferencesWrapper.java:110)
at org.eclipse.core.internal.net.ProxyType.saveProxyAuth(ProxyType.java:550)
at org.eclipse.core.internal.net.ProxyType.setProxyData(ProxyType.java:154)
at org.eclipse.core.internal.net.ProxyManager.internalSetProxyData(ProxyManager.java:195)
at org.eclipse.core.internal.net.ProxyManager.doSetProxyData(ProxyManager.java:183)
at org.eclipse.core.internal.net.ProxyManager.setProxyData(ProxyManager.java:177)
at org.eclipse.core.internal.net.ProxySelector.setProxyData(ProxySelector.java:106)
at org.eclipse.ui.internal.net.ProxyEntriesComposite.performApply(ProxyEntriesComposite.java:297)
at org.eclipse.ui.internal.net.ProxyPreferencePage.performApply(ProxyPreferencePage.java:101)
at org.eclipse.ui.internal.net.ProxyPreferencePage.performOk(ProxyPreferencePage.java:117)
at org.eclipse.jface.preference.PreferenceDialog$7.run(PreferenceDialog.java:902)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:44)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
at org.eclipse.jface.preference.PreferenceDialog.okPressed(PreferenceDialog.java:886)
at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.okPressed(FilteredPreferenceDialog.java:400)
at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.okPressed(WorkbenchPreferenceDialog.java:168)
at org.eclipse.jface.preference.PreferenceDialog.buttonPressed(PreferenceDialog.java:230)
at org.eclipse.jface.dialogs.Dialog.lambda$0(Dialog.java:619)
at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:81)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:249)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4238)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3817)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)
at org.eclipse.jface.window.Window.open(Window.java:794)
at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.open(WorkbenchPreferenceDialog.java:211)
at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:63)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:565)
at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:397)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4238)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3817)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.knime.product.rcp.KNIMEApplication.start(KNIMEApplication.java:149)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
Caused by: java.security.InvalidAlgorithmParameterException: Salt must be 8 bytes long
at com.sun.crypto.provider.PBES1Core.init(PBES1Core.java:241)
at com.sun.crypto.provider.PBEWithMD5AndDESCipher.engineInit(PBEWithMD5AndDESCipher.java:221)
at javax.crypto.Cipher.implInit(Cipher.java:805)
at javax.crypto.Cipher.chooseProvider(Cipher.java:863)
at javax.crypto.Cipher.init(Cipher.java:1395)
at javax.crypto.Cipher.init(Cipher.java:1326)
at org.eclipse.equinox.internal.security.storage.JavaEncryption.internalDecrypt(JavaEncryption.java:187)
… 63 more

Kind regards
Hannes

Hello @hannesmergler,

no problem. Glad there are some leads. Seems following line is related to Eclipse bug that is resolved in newer version and probably explains why you have no issues with latest KNIME version.

org.eclipse.equinox.security.storage.StorageException: Salt must be 8 bytes long

Can you create new workspace and give it another try? To avoid having to manually enter your preferences you can export it from existing one. (File --> Export/Import Preferences...)

Br,
Ivan

Hello @ipazin,

issue solved via comment from KNIME support directly:
Preferences → General → Security → Secure Storage → Tab: Contents - identify Storage Location, backup this and delete the folder. After restart all works fine.

BR and thank you for your help,
Hannes

2 Likes

Hello @hannesmergler,

glad to hear that. Tnx for info.

Br,
Ivan