У меня есть Java-апплет, который пытается создать VNC-соединение с другим хостом (обратите внимание, что хост с апплетом и хост VNC НЕ совпадают).Больше информации о коде, с которым я работаю, можно найти здесь
Я получил код для компиляции в XenServerConsole.jar, который я поместил в корень моего веб-сервера вместе со структурой папокcom / citrix / xenserver / console / . (в папке консоли находятся все файлы .java, .class и некоторые файлы .png).
Я подписал файл XenServerConsole.jar следующим образом:
keytool -genkey -validity 3650 -keystore pKeyStore -alias keyName
keytool -selfcert -keystore pKeyStore -alias keyName -validity 3650
jarsigner -keystore pKeyStore XenServerConsole.jar keyName
и я загружаю апплет в HTML, как показано в следующем коде:
<applet code="com/citrix/xenserver/console/Initialize.class"
archive="/XenServerConsole.jar"
width="800" height="600">
<PARAM NAME="SESSION" VALUE="<%= @console_session %>">
<PARAM NAME="URL" VALUE="<%= @console_url %>">
<PARAM NAME="USEURL" VALUE="true">
</applet>
По какой-то причине я все еще получаю ошибку Socket Permission, вот вывод консоли:
Loading UI...
Initializing...
Starting main...
Creating controls...
Adding controls...
Starting...
Connection failed: access denied (java.net.SocketPermission 192.168.0.2:443 connect,resolve)
Connection closed
Reconnecting in 5 seconds...
Я думал, что подписание файла JAR вызовет предупреждение, когда пользователь получит доступ к HTML-странице, и если они примут, что это может нормально подключиться к другому серверу.Я получаю запрос на запуск / отмену в Windows (не OSX), но все равно ошибка SocketPermission.
Почему код все еще вызывает ошибку?