Bug 75624 - secure java applets not working
Summary: secure java applets not working
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: kjava (show other bugs)
Version: unspecified
Platform: FreeBSD Ports Linux
: NOR normal
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-02-19 16:28 UTC by joaobr
Modified: 2004-08-11 16:28 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description joaobr 2004-02-19 16:28:00 UTC
Version:           3.2.0 (using KDE KDE 3.2.0)
Installed from:    FreeBSD Ports

this is on kdebase3.2.0 on FBSD 5.2.1-RC | 5.2-R | 4.9-{R|S}
nspluging compiled
with native jdk1.3.1 (and jdk1.4.2)
jsse for 1.3 in jre/lib/ext or in apps/kjava makes no difference

java secure applets are not working correctly (bank account access):
example: https://www2.bancobrasil.com.br/aapf/aai/login.pbk

with jdk1.4.2 the applet is not loaded, msg: java applet failed

with jdk1.3.1 they are loading again(what was not the case since 3.1.2) 
they permit basic access to the account but no later transaction is possible
the banks here display another applet to confirm a transaction with a special passwd and soon this second applet is loaded the page is refreshed giving no time to enter anything and so the transaction can not be completed. This appears in java console:

KJAS: JSObject.getWindow
KJAS: JSObject.ctor: [WINDOW]
KJAS: evaluate ("javascript:setaCod('7');")
KJAS: JSObject.getWindow
KJAS: JSObject.ctor: [WINDOW]
KJAS: evaluate ("javascript:setaContraste('4');")
java.lang.NoSuchMethodError: javax.swing.JFrame: method getWindowListeners()[Ljava/awt/event/WindowListener; not found
	at org.kde.kjas.server.KJASAppletStub.stopApplet(KJASAppletStub.java:316)
	at org.kde.kjas.server.KJASAppletContext.stopApplet(KJASAppletContext.java:256)
	at org.kde.kjas.server.KJASProtocolHandler.processCommand(KJASProtocolHandler.java:225)
	at org.kde.kjas.server.KJASProtocolHandler.commandLoop(KJASProtocolHandler.java:87)
	at org.kde.kjas.server.Main.main(Main.java:171)

additional info:
on RH9 same result
firebird, mozilla 1.6a and netscape 7.1 load the applet but when confirming the passwd: attention: password: zero length | means no access to the account
Comment 1 Koos Vriezen 2004-02-19 19:19:25 UTC
Hmm, getWindowListeners()[Ljava/awt/event/WindowListener; since 1.4. That doesn't work on 1.3.x, I'll fix that ..

Upgrade to 1.4.2_03 (see bug 68752)


*** This bug has been marked as a duplicate of 68752 ***
Comment 2 joaobr 2004-02-19 19:54:57 UTC
I am not sure if I understood your comment right because with 1.4.2 the applet is NOT even loading. 

So with 1.3 it is loading and partial working.

bug #68752 happens when kdebase compiled without nsplugin enabled. Appearently this was not the case with 3.1.4 ports but was enabled on 3.1.2 ports - BUT - even when enabled still appears this problem I am reporting here. 
Comment 3 joaobr 2004-02-28 23:12:00 UTC
I re-checked with java 1.4.3_03 and it is not working. More exact, it makes no difference which java I use at all. I also tried sun java, blackdown, diablo and native jdk. Which all of them the same result.
Comment 4 Koos Vriezen 2004-02-29 11:54:57 UTC
Problem with 1.4.2 that I had, that none of the https sites worked.

Java support has nothing to do with nsplugin (nsplugin does not support the java plugin that comes with the JRE)

What is the logging output with JDK > 1.4
Comment 5 joaobr 2004-03-03 12:03:37 UTC
sorry for the delay, something held me busy here, so
you say nsplugin has nothing to do, fact is that when kde is not compiled with nsplugin support this java applets do not even try to load, but whatever

the output is there on top and another odd is that wether you have or not debugging and showing console enabled in the javacontrolpanel it does not display. The problem is when you then disable error report the console appears but do not show any other information as already posted

also I may add that this seems to be a clear freebsd issue because on RH9 and Fedora this thing runs smooth in 3.1.4 and 3.2 (as lots of other issues related to konqueror)

I really think that it is time that somebody tries to resolve this seriously because this kind of applets are today a must for accessing homebanking and similare apps, certainly this is a bad reputation for kde and the user will go back to an OS which permits the access (this is nothing personal but reality)

There should be a clear line which java to use by the average user to have access to https java (the average user certainly do not need jdk which needs a day to compile after getting diablo and then still sun's to be compiled and installed finally by the ports) so I mean there should be a jre which runs with kde3.2 without headache - only to compare: you install the most basic ws version from rh9 or fedora, download the jre1.4.2..rpm and you are acessing your bank 5 minutes later ... this seems to be a very far future for fbsd today , knowing that this issue is since release of kde3.1.4 
Comment 6 Koos Vriezen 2004-03-05 18:51:14 UTC
The output from your first posting is with a jdk-1.3.x not with 1.4.x (this error, java.lang.NoSuchMethodError, is fixed in 3.2.1 for JDKs < 1.4)
So, please send the output from a JDK >= 1.4 also. You may add '-Dkjas.debug=1' to the java additional arguments field, for even more debug output.

What you tell about the java console window is weird indeed. The error reporting option is for Javascript, not Java. There is only one option for the console window and that should be independant of all others on that page (except for the 'Path to the java executable' of course)
Comment 7 joaobr 2004-03-06 13:07:16 UTC
The only output I get is this when confirming the password of the site, after that nothing else comes out.
this is on fbsd5.2.1 with sun 1.4.2

KJAS: JSObject.getWindow
KJAS: JSObject.ctor: [WINDOW]
KJAS: evaluate ("javascript:setaCod('37');")
KJAS: JSObject.getWindow
KJAS: JSObject.ctor: [WINDOW]
KJAS: evaluate ("javascript:setaContraste('4');")

without KIO the applet is not loading
security manager can be either on or off without difference

on another site where the applet is not competing at all I get this
KJAS: JSObject.getWindow
KJAS: JSObject.ctor: [WINDOW]
KJAS: JSObject.call: [WINDOW].Started
err: java.lang.NullPointerException

Comment 8 Koos Vriezen 2004-03-07 19:24:46 UTC
That it only loads with use of KIO points to SSL problems (see bug 68752). BTW, for jdk-1.3 you need to install this separately.

The output shows a javascript call in both cases.
Hmm, could be the return value of this call is not delivered or doesn't wake up the calling, and now waiting, thread.
There should be a 'KJAS: putValue: applet __lc_ret=V' in the debug output after both output samples you gave. 
Do you see a javascript error somewhere? (Maybe you should launch konqueror from konsole and enable debug area 6100 with kdebugdialog. Might be that javascript error reporting icon also appears in the statusbar).

These applets work fine on linux systems, right? Actually, you mentioned other konqueror related things that don't work on *bsd. What are they, have they anything to do with javascript?

Comment 9 joaobr 2004-03-07 19:50:02 UTC
Hi

I have no java error anywhere, the icon also do not appear
the applets are working better on linux, I can tell about rh9 and fedora only

other problems are javascripts where menus are not appearing correctly and 
retrieved data is not showing up, all java but better we check this one first

meanwhile, may be you have better debug experiences (should you ;)

you can go directly to the link
www.bb.com.br
on the right top, just under banco do Brasil is a blue box: acesse sua conta 
where are
"Sua Conta"
until this moment we where talking about this and you can see what happens 
until the applet loads
"Conta da sua Empresa"
what is not loading under any circunstancy

you also should go to
www.bradesco.com.br
where you find on top three input boxes, you can type this:
ag
Comment 10 Koos Vriezen 2004-03-07 22:27:49 UTC
> "Conta da sua Empresa" what is not loading under any circunstancy 
Yes, this needs signed applet support. It works more or less with the development version for KDE-3.3 (seems windows oriented - accessing c:\ ).

> you also should go to 
> www.bradesco.com.br 
[..]
> attention on the "Aguarde!" (under the longer input box) this should show OK
This is a bug, fixed. In case you want to fix this manually, see revision
kdelibs/khtml/java/org/kde/javascript/JSObject.java 1.16 chunk at line 142
(compile kjava.jar as 'PATH=$JAVA_HOME/bin:$PATH ./make-jar' in kdelibs/khtml/java directory and copy it to $KDEDIR/share/apps/kjava/kjava.jar)

Thanks for your report!
Comment 11 joaobr 2004-03-08 12:39:29 UTC
On Sunday 07 March 2004 18:27, Koos Vriezen wrote:
> ------- You are receiving this mail because: -------
> You reported the bug, or are watching the reporter.
>
> http://bugs.kde.org/show_bug.cgi?id=75624
>
> This is a bug, fixed. In case you want to fix this manually, see revision
> kdelibs/khtml/java/org/kde/javascript/JSObject.java 1.16 chunk at line 142
> (compile kjava.jar as 'PATH=$JAVA_HOME/bin:$PATH ./make-jar' in
> kdelibs/khtml/java directory and copy it to
> $KDEDIR/share/apps/kjava/kjava.jar)
>

That is good news.
Is there any way to send me the jar ?
I am travelling and back only next week and still I had to pick the sources 
first.

You say the C:/ access will work in 3.3, is it a guess or almost sure?

Jo
Comment 12 Koos Vriezen 2004-03-08 18:06:28 UTC
> That is good news. 
Note that this only fixes one case. The applet that stopped after
'KJAS: evaluate ("javascript:setaContraste('4');")' is not solved with this fix.

> Is there any way to send me the jar ?
There were already more changes for KDE-3.2.1...hmm I think they can't hurt. Ok I'll send it to you. md5sum is
6426988281da3ce9c00a66aed12fc1e6  kjava.jar

> You say the C:/ access will work in 3.3, is it a guess or almost sure?
No, C:\ will not work. However applets that need disk access will work in KDE-3.3 if the user confirms the actions. Of course applets should query the java system properties for filesystem layout and not blindly assuming that there is a c:\ somewhere..
Comment 13 joaobr 2004-03-14 12:16:46 UTC
>> That is good news. 
>> Note that this only fixes one case. The applet that stopped after 
>> 'KJAS: evaluate ("javascript:setaContraste('4');")' is not solved with this fix.

ok, I understand this, I suggest that we do it the same way as with the jar, I give you an access to debug locally, what do you think?

>> Is there any way to send me the jar ? 
Ok, the first part is ok, but after typing the secret and confirming the next page is white, I suggest the same as above? If you want.

>>..No, C:\ will not work. However applets that need disk access will work ..
On the same machine I can open it with mozilla. Has nothing to do right?
Comment 14 Koos Vriezen 2004-03-15 19:24:45 UTC
Debugging locally is fine. You may send it me privately.

>>>..No, C:\ will not work. However applets that need disk access will work .. 
> On the same machine I can open it with mozilla. Has nothing to do right?

Actually I have this working in CVS. The applet install a complete application in ~/BancoBrasil. I think I say it searching for it at first (like in c:\..).
Comment 15 joaobr 2004-03-24 18:34:46 UTC
hi, could you please confirm if you got the data? Thanks, João
Comment 16 Koos Vriezen 2004-03-26 18:54:00 UTC
No, AFAICS I didn't get it. When did you send it?
Comment 17 joaobr 2004-03-30 03:48:31 UTC
march 8 ... I'll send it again now
Comment 18 Koos Vriezen 2004-04-02 15:44:25 UTC
I hope you didn't repeat your actions, because I still haven't got any mail from you. Most likely my email address is wrong (which is the one if you click
on my name from the '------- Additional Comment #18 From Koos Vriezen 2004-xx' line).
Comment 19 joaobr 2004-04-04 09:14:28 UTC
If you still didn't get it may be you send me your sig key and I put it here encrypted. I have send it to that address each time. Thanks
Comment 20 Koos Vriezen 2004-08-11 13:55:04 UTC
This was fixed (or simply it worked) in CVS. So it should work in KDE-3.3
Comment 21 joaobr 2004-08-11 16:28:33 UTC
I could not get it to work with 3.3
Interesting is that on FreeBSd seems to exist another issue, what I describe here is not happening with FedoraC1.
When I try to open this questionend java app locally with konqueror on freeBSD then freebsd create a NEW directory tree of the app in the actual users home directory. 
Let's say it is /mnt/banking/ where this app resides and then optining it on FreeBSd is created ~/banking/
This under Fedora is not the case.