Sun heeft niet zo lang een vulnerability gefixed in JVM. Apple heeft dit inmiddels overgenomen, en op de een of andere manier gaat onder OSX Safari dan de mist in. Ze maken gebruikt van iets wat liveconnect heet. Javascript <=> Applet communicatie kun je daarmee.
Als ik alle debugging aanzet van mijn JVM, dan wijzen de symptomen die ik zie erop dat er op dat gebied iets niet goed gaat. In de Java console moet je daarvoor tracing op niveau 5 zetten. Dan zie je vervolgens een aantal dingen gerelateerd aan liveconnect voorbij komen. En vervolgens wordt de browser geeredirect naar de login pagina. Dit zegt mij dat OF de server niet de juist info krijgt en een redirect stuurt OF dat er browser side iets niet goed gaat.
Aangezien er genoeg demo's op internet zijn (inclusief de apple site:
http://developer.apple.com/internet/safari/samples/ColorBlockApplet.ht ml ) waarin dit mechanisme goed werkt, betekent dit voor mij dat er iets mis is met de implementatie van de CryptoApplet ten aanzien van OSX. Misschien iets simpels als een browser versie detectie, misschien iets fundamentelers. Punt is namelijk dat met dezelfde applet het probleem niet optreed op Windows systemen. Aangezien je bij zulk soort dingen altijd eerst er vanuit gaat dat het aan de software bouwer ligt en niet aan de OS bouwer is de Applet de hoofdverdachte bij een debug sessie.
Helaas heb ik geen inzage in de brond code. En decompilen zou ook zeer veel moeite kosten, alles is namelijk geobfuscate (code onleesbaar gemaakt door idiote var namen etc..).
Punt is in ieder geval dat er in OSX 10.4 en in een eerdere java update op OSX 10.3.9 er een behoorlijke wijziging is geweest in de Java VM. Er zijn namelijk wat lekken gedicht ten aanzien van liveconnect. Dus daar zou het ook nog is in kunnen liggen. maar dan zou windows er ook last van moeten hebben.
ets opvallends at me ook opviel is dat wanneer je mijn.postbank met Opera 7 opent onder OSX, dat Opera de 1.3 JVM gebruikt en dat er in de console een stacktrace komt te staan dat er een of andere method niet gevonden kan worden. En de naam van deze method doet vermoeden dan dit een mac specifieke method is die niet gevonden kan worden middels reflectie. Vervolgens werkt echter mijn.postbank wel gewoon.
Op mijn Tiger install werkt geen enkele browser, behalve Opera. En het echte verschil tussen al die browsers is dat Opera 1.3 gebruikt en alle andere browsers 1.4 of hoger. Heb namelijk ook geprobeerd met de 1.5 JVM, die inmiddels voor OSX optioneel beschikbaar is.