Here is the Java Console output and x11vnc output when connecting through a Web Proxy to SSL x11vnc.

The Web proxy is "proxy.office.com:8080"

The URL used in the Java enabled Web browser is: "https://mymachine.net/proxy.vnc"

Port 443 on mymachine.net was redirected to the x11vnc VNC server (on port 5905).

The VNC server was run via the command:

   x11vnc -display :0 -ssl SAVE -httpdir /home/jimmy/x11vnc-0.9.8/classes/ssl -httpsredir -rfbport 5905 -forever -passwd mypass

The Web browser user promptly answered "Yes" to all of the popup dialogs.


Java Console output:
Java Plug-in 1.5.0_06
Using JRE version 1.5.0_06 Java HotSpot(TM) Client VM
User home directory = /home/jimmy


----------------------------------------------------
c:   clear console window
f:   finalize objects on finalization queue
g:   garbage collect
h:   display this help message
l:   dump classloader list
m:   print memory usage
o:   trigger logging
p:   reload proxy configuration
q:   hide console
r:   reload policy configuration
s:   dump system and deployment properties
t:   dump thread list
v:   dump thread stack
x:   clear classloader cache
0-5: set trace level to 
----------------------------------------------------

using vncserverport: '443' for PORT.
urlPrefix: ''
Initializing...
Connecting to mymachine.net, port 443...
new SSLSocketToMe
SSL startup: mymachine.net 443
ustr is: https://mymachine.net:443/check.https.proxy.connection
set trusturlCerts to non-null
HTTPS proxy in use. There may be connection problems.
using trusturl_ctx
Using timeout of 6 secs to: mymachine.net:443
esock: Connection refused
HTTPS proxy in use. Trying to go with it.

---------------
All props:
-- listing properties --
file.encoding.pkg=sun.io
java.home=/dist/java/jdk1.5.0_06/jre
deployment.security.askgrantdialog.notinca=true
java.vendor.applet=true
deployment.repository.askdownloaddialog.show=true
mozilla.workaround=true
deployment.system.security.trusted.jssecerts=/dist/java/jdk1.5.0_06/jre/lib/securi...
deployment.console.startup.mode=SHOW
java.endorsed.dirs=/dist/java/jdk1.5.0_06/jre/lib/endorsed
deployment.security.sandbox.jnlp.enhanced=true
deployment.security.sandbox.awtwarningwindow=true
sun.os.patch.level=unknown
java.vendor.url=http://java.sun.com/
acl.write.default=
deployment.user.security.trusted.jssecacerts=/home/jimmy/.java/deployment/security...
deployment.javaws.home.jnlp.url=http://java.sun.com/products/javawebs...
java.version=1.5.0_06
deployment.javapi.trace.filename=
package.restrict.access.org.mozilla.jss=true
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport...
deployment.user.security.trusted.cacerts=/home/jimmy/.java/deployment/security...
java.version.applet=true
java.protocol.handler.pkgs=sun.plugin.net.protocol|sun.plugin.ne...
javaplugin.proxy.config.type=browser
deployment.user.tmp=/home/jimmy/.java/deployment/tmp
user.name=jimmy
deployment.user.logdir=/home/jimmy/.java/deployment/log
sun.io.unicode.encoding=UnicodeLittle
deployment.browser.path=/dist/bin/mozilla
sun.net.client.defaultConnectTimeout=120000
deployment.cache.max.size=-1
sun.jnu.encoding=ANSI_X3.4-1968
java.runtime.name=Java(TM) 2 Runtime Environment, Stand...
javaplugin.version=1.5.0_06
java.vendor.url.applet=true
browser.vendor=Sun Microsystems, Inc.
os.version.applet=true
os.name.applet=true
java.specification.name=Java Platform API Specification
user.timezone=
deployment.security.SSLv3=true
deployment.proxy.override.hosts=
path.separator=:
deployment.javaws.installURL=http://java.sun.com/products/autodl/j2se
deployment.javaws.ssv.enabled=true
file.encoding=ANSI_X3.4-1968
browser.version=1.1
deployment.javapi.log.filename=
deployment.user.cachedir=/home/jimmy/.java/deployment/cache
javaplugin.vm.options=-DtrustProxy=true -Xverify:remote -Dj...
javaplugin.proxy.config.list=http=proxy.office.com:8080,https=holm...
deployment.browser.args=-raise -remote openURL(%u,new-window)
java.io.tmpdir=/tmp
package.restrict.definition.java=true
deployment.version=1.5.0
user.language=en
package.restrict.access.netscape=false
package.restrict.access.com.sun.deploy=true
line.separator=

deployment.user.security.policy=file:///home/jimmy/.java/deployment/s...
java.vm.info=mixed mode, sharing
java.vm.specification.name=Java Virtual Machine Specification
sun.net.http.errorstream.enableBuffering=true
deployment.update.mime.types=true
java.class.version.applet=true
deployment.security.browser.keystore.use=true
deployment.security.jsse.hostmismatch.warning=true
deployment.system.security.cacerts=/dist/java/jdk1.5.0_06/jre/lib/securi...
deployment.proxy.type=3
deployment.user.security.trusted.jssecerts=/home/jimmy/.java/deployment/security...
deployment.javaws.shortcut=ASK_IF_HINTED
java.awt.printerjob=sun.print.PSPrinterJob
deployment.javaws.autodownload=ALWAYS
deployment.proxy.bypass.local=false
http.auth.serializeRequests=true
line.separator.applet=true
path.separator.applet=true
deployment.javaws.logFileName=
os.name=Linux
java.specification.vendor=Sun Microsystems Inc.
deployment.javaws.uninstall.shortcut=false
deployment.system.security.jssecacerts=/dist/java/jdk1.5.0_06/jre/lib/securi...
java.vm.name=Java HotSpot(TM) Client VM
deployment.security.askgrantdialog.show=true
java.library.path=/dist/java/jdk1.5.0_06/jre/lib/i386/c...
os.arch.applet=true
java.class.version=49.0
deployment.control.panel.log=false
deployment.system.security.trusted.clientauthcerts=/dist/java/jdk1.5.0_06/jre/lib/securi...
deployment.trace=false
deployment.security.clientauth.keystore.auto=true
deployment.cache.jarcompression=0
package.restrict.definition.netscape=true
package.restrict.definition.sun=true
package.restrict.definition.com.sun.deploy=true
deployment.javaws.update.timeout=1500
sun.boot.library.path=/dist/java/jdk1.5.0_06/jre/lib/i386
sun.management.compiler=HotSpot Client Compiler
package.restrict.definition.org.mozilla.jss=true
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
deployment.user.extdir=/home/jimmy/.java/deployment/ext
deployment.system.security.trusted.certs=/dist/java/jdk1.5.0_06/jre/lib/securi...
deployment.proxy.same=false
deployment.security.authenticator=true
deployment.javaws.traceFileName=
deployment.user.security.trusted.clientauthcerts=/home/jimmy/.java/deployment/security...
java.vm.specification.version=1.0
sun.cpu.isalist=
java.ext.dirs=/dist/java/jdk1.5.0_06/jre/lib/ext
http.agent=Mozilla/4.0 (Linux 2.4.32)
acl.read.default=
os.version=2.4.32
deployment.javaws.viewer.bounds=401,151,682,484
user.home=/home/jimmy
deployment.user.security.trusted.certs=/home/jimmy/.java/deployment/security...
trustProxy=true
java.vm.vendor=Sun Microsystems Inc.
deployment.javapi.lifecycle.exception=false
package.restrict.access.sun=true
user.dir=/home/jimmy
sun.cpu.endian=little
acl.write=+
deployment.security.notinca.warning=true
java.vm.version=1.5.0_06-b05
deployment.security.trusted.policy=
java.class.path=/dist/java/jdk1.5.0_06/jre/classes
os.arch=i386
deployment.mime.types.use.default=true
javaplugin.nodotversion=150_06
deployment.capture.mime.types=false
deployment.home.j2se.url=http://java.sun.com/j2se/
deployment.security.TLSv1=false
deployment.javaws.muffin.max=256
https.protocols=SSLv3,SSLv2Hello
deployment.log=false
java.vm.specification.vendor=Sun Microsystems Inc.
javaplugin.lib=/dist/java/jdk1.5.0_06/jre/lib/i386/l...
file.separator=/
java.runtime.version=1.5.0_06-b05
sun.boot.class.path=/dist/java/jdk1.5.0_06/jre/lib/rt.jar...
deployment.javapi.cache.enabled=true
user.country=US
deployment.security.expired.warning=true
acl.read=+
deployment.repository.enabled=true
deployment.security.SSLv2Hello=true
deployment.javapi.runtime.type=0
deployment.javaws.associations=ASK_USER
java.vendor=Sun Microsystems Inc.
file.separator.applet=true
java.specification.version=1.5
sun.arch.data.model=32

---------------


Lucky us! we figured out the Proxy parameters: proxy.office.com 8080
proxy_in_use psocket:
requesting1: CONNECT mymachine.net:443 HTTP/1.1

Host: mymachine.net:443




proxy replied1: HTTP/1.0 200 Connection established
proxy line1: Proxy-agent: tcp_b_proxy/0.4
proxy line1: 
URL: trusturlCerts[0] matches certs[0]
Server Connection Verified on 1st try.
bcd START
Yes
done actionPerformed()
done show()
bcd DONE
bcd: user said yes, accept it
SSL returning socket to caller.
Connected to server
RFB server supports protocol version 3.8
Using RFB protocol version 3.7
Performing standard VNC authentication
VNC authentication succeeded
Desktop name is deepdish:0.0
Desktop size is 1152 x 864


Here is the corresponding x11vnc 0.9.8 output:
15/06/2009 21:07:05 SSL: accept_openssl(OPENSSL_VNC)
15/06/2009 21:07:05 SSL: spawning helper process to handle: 192.168.1.21:20575
15/06/2009 21:07:05 SSL: helper for peerport 20575 is pid 14156: 
15/06/2009 21:07:05 check_vnc_tls_mode: waited: 0.000011 / 1.40 input: SSL Handshake
15/06/2009 21:07:09 SSL: ssl_helper[14156]: SSL_accept() succeeded for: 192.168.1.21:20575
15/06/2009 21:07:09 SSL: ssl_helper[14156]: Cipher: TLSv1/SSLv3 AES256-SHA Proto: TLSv1
15/06/2009 21:07:09 SSL: ssl_helper[14156]: accepted client 192.168.1.21 x509 peer cert is null
15/06/2009 21:07:09 SSL: accept_openssl: cookie from ssl_helper[14156] FAILED. 60
15/06/2009 21:07:09 SSL: BUT WAIT! HTTPS for helper process[14156] succeeded. Good.
15/06/2009 21:07:09 httpd: get 'proxy.vnc' for 127.0.0.1
15/06/2009 21:07:09 SSL: httpSock for helper[14156] went away
15/06/2009 21:07:09 SSL: guessing child helper[14156] https finished. dt=0.364866
15/06/2009 21:07:12 SSL: accept_openssl(OPENSSL_VNC)
15/06/2009 21:07:12 SSL: spawning helper process to handle: 192.168.1.21:20576
15/06/2009 21:07:12 SSL: helper for peerport 20576 is pid 14189: 
15/06/2009 21:07:12 check_vnc_tls_mode: waited: 0.087193 / 20.00 input: SSL Handshake
15/06/2009 21:07:16 SSL: ssl_helper[14189]: SSL_accept() succeeded for: 192.168.1.21:20576
15/06/2009 21:07:16 SSL: ssl_helper[14189]: Cipher: TLSv1/SSLv3 RC4-MD5 Proto: SSLv3
15/06/2009 21:07:16 SSL: ssl_helper[14189]: accepted client 192.168.1.21 x509 peer cert is null
15/06/2009 21:07:19 SSL: accept_openssl: cookie from ssl_helper[14189] FAILED. 57
15/06/2009 21:07:19 SSL: BUT WAIT! HTTPS for helper process[14189] succeeded. Good.
15/06/2009 21:07:19 httpd: get 'SignedVncViewer.jar' for 127.0.0.1
15/06/2009 21:07:19 SSL: httpSock for helper[14189] went away
15/06/2009 21:07:19 SSL: guessing child helper[14189] https finished. dt=0.357157
15/06/2009 21:07:21 SSL: accept_openssl(OPENSSL_VNC)
15/06/2009 21:07:21 SSL: spawning helper process to handle: 192.168.1.21:20578
15/06/2009 21:07:21 SSL: helper for peerport 20578 is pid 14248: 
15/06/2009 21:07:21 check_vnc_tls_mode: waited: 0.000010 / 20.00 input: SSL Handshake
15/06/2009 21:07:21 SSL: ssl_helper[14248]: SSL_accept() succeeded for: 192.168.1.21:20578
15/06/2009 21:07:21 SSL: ssl_helper[14248]: Cipher: TLSv1/SSLv3 RC4-MD5 Proto: SSLv3
15/06/2009 21:07:21 SSL: ssl_helper[14248]: accepted client 192.168.1.21 x509 peer cert is null
15/06/2009 21:07:21 SSL: accept_openssl: cookie from ssl_helper[14248] FAILED. 58
15/06/2009 21:07:21 SSL: BUT WAIT! HTTPS for helper process[14248] succeeded. Good.
15/06/2009 21:07:22 httpd: get 'SignedVncViewer.jar' for 127.0.0.1
15/06/2009 21:07:22 SSL: httpSock for helper[14248] went away
15/06/2009 21:07:22 SSL: guessing child helper[14248] https finished. dt=0.349502
15/06/2009 21:07:23 SSL: ssl_xfer[14248]: closing sockets 0, 12, 12
15/06/2009 21:07:23 SSL: ssl_helper[14248]: exit case 6 (https ssl_xfer done)
15/06/2009 21:07:28 SSL: accept_openssl(OPENSSL_VNC)
15/06/2009 21:07:28 SSL: spawning helper process to handle: 192.168.1.21:20579
15/06/2009 21:07:28 SSL: helper for peerport 20579 is pid 14266: 
15/06/2009 21:07:28 check_vnc_tls_mode: waited: 0.000010 / 10.00 input: SSL Handshake
15/06/2009 21:07:29 SSL: ssl_helper[14266]: SSL_accept() succeeded for: 192.168.1.21:20579
15/06/2009 21:07:29 SSL: ssl_helper[14266]: Cipher: TLSv1/SSLv3 RC4-MD5 Proto: SSLv3
15/06/2009 21:07:29 SSL: ssl_helper[14266]: accepted client 192.168.1.21 x509 peer cert is null
15/06/2009 21:07:29 SSL: accept_openssl: cookie from ssl_helper[14266] FAILED. 58
15/06/2009 21:07:29 SSL: BUT WAIT! HTTPS for helper process[14266] succeeded. Good.
15/06/2009 21:07:29 httpd: get 'SignedVncViewer.jar' for 127.0.0.1
15/06/2009 21:07:29 SSL: httpSock for helper[14266] went away
15/06/2009 21:07:29 SSL: guessing child helper[14266] https finished. dt=0.357563
15/06/2009 21:07:32 SSL: ssl_xfer[14266]: closing sockets 0, 12, 12
15/06/2009 21:07:32 SSL: ssl_helper[14266]: exit case 6 (https ssl_xfer done)
15/06/2009 21:07:32 SSL: accept_openssl(OPENSSL_VNC)
15/06/2009 21:07:32 SSL: spawning helper process to handle: 192.168.1.21:20584
15/06/2009 21:07:32 SSL: helper for peerport 20584 is pid 14296: 
15/06/2009 21:07:32 check_vnc_tls_mode: waited: 0.028408 / 20.00 input: SSL Handshake
15/06/2009 21:07:32 SSL: ssl_helper[14296]: SSL_accept() succeeded for: 192.168.1.21:20584
15/06/2009 21:07:32 SSL: ssl_helper[14296]: Cipher: TLSv1/SSLv3 RC4-MD5 Proto: SSLv3
15/06/2009 21:07:32 SSL: ssl_helper[14296]: accepted client 192.168.1.21 x509 peer cert is null
15/06/2009 21:07:33 Handling Check HTTPS request via https GET. [14296]
15/06/2009 21:07:33 -- GET /check.https.proxy.connection HTTP/1.1
Pragma: No-Cache
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (Linux 2.4.32) Java/1.5.0_06
Host: mymachine.net
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Cache-Control: no-cache
Content-type: application/x-www-form-urlencoded
Cookie:  


15/06/2009 21:07:33 15/06/2009 21:07:33 SSL: accept_openssl: cookie from ssl_helper[14296] FAILED. 60
15/06/2009 21:07:33 SSL: BUT WAIT! HTTPS for helper process[14296] succeeded. Good.
SSL: ssl_helper[14296]: exit case 4 (check.https.proxy.connection)
15/06/2009 21:07:33 SSL: guessing child helper[14296] https finished. dt=0.035497
15/06/2009 21:07:34 SSL: accept_openssl(OPENSSL_VNC)
15/06/2009 21:07:34 SSL: spawning helper process to handle: 192.168.1.21:20585
15/06/2009 21:07:34 SSL: helper for peerport 20585 is pid 14298: 
15/06/2009 21:07:34 check_vnc_tls_mode: waited: 0.000011 / 20.00 input: SSL Handshake
15/06/2009 21:07:34 SSL: ssl_helper[14298]: SSL_accept() succeeded for: 192.168.1.21:20585
15/06/2009 21:07:34 SSL: ssl_helper[14298]: Cipher: TLSv1/SSLv3 RC4-MD5 Proto: TLSv1
15/06/2009 21:07:34 SSL: ssl_helper[14298]: accepted client 192.168.1.21 x509 peer cert is null
15/06/2009 21:07:44 SSL: handshake with helper process[14298] succeeded.
15/06/2009 21:07:44   other clients:
15/06/2009 21:07:44      192.168.1.21
15/06/2009 21:07:44 incr accepted_client for 127.0.0.1:37176.
15/06/2009 21:07:45 Client Protocol Version 3.7
15/06/2009 21:07:45 Protocol version sent 3.7, using 3.7
15/06/2009 21:07:45 client progressed=1 in 2/1 0.226555 s
15/06/2009 21:07:45 rfbProcessClientSecurityType: executing handler for type 2
15/06/2009 21:07:52 client_set_net: 192.168.1.21  0.0004
15/06/2009 21:07:52 Using image quality level 6 for client 192.168.1.21
15/06/2009 21:07:52 Enabling X-style cursor updates for client 192.168.1.21
15/06/2009 21:07:52 Enabling full-color cursor updates for client 192.168.1.21
15/06/2009 21:07:52 Enabling cursor position updates for client 192.168.1.21
15/06/2009 21:07:52 Enabling LastRect protocol extension for client 192.168.1.21
15/06/2009 21:07:52 Enabling NewFBSize protocol extension for client 192.168.1.21
15/06/2009 21:07:52 Using tight encoding for client 192.168.1.21
15/06/2009 21:07:53 Pixel format for client 192.168.1.21:
15/06/2009 21:07:53   32 bpp, depth 24, little endian
15/06/2009 21:07:53   true colour: max r 255 g 255 b 255, shift r 16 g 8 b 0
15/06/2009 21:07:56 client 23 network rate 63.3 KB/sec (2017.7 eff KB/sec)
15/06/2009 21:07:56 client 23 latency:  283.0 ms
15/06/2009 21:07:56 dt1: 0.1361, dt2: 1.9796 dt3: 0.2830 bytes: 124880
15/06/2009 21:07:56 link_rate: LR_DIALUP - 263 ms, 80 KB/s
15/06/2009 21:08:09 SSL: ssl_xfer[14156]: connection timedout. 5212  tv_use: 60
15/06/2009 21:08:09 SSL: ssl_xfer[14156]: closing sockets 0, 12, 12
15/06/2009 21:08:09 SSL: ssl_helper[14156]: exit case 6 (https ssl_xfer done)
15/06/2009 21:08:19 SSL: ssl_xfer[14189]: connection timedout. 159360  tv_use: 60
15/06/2009 21:08:19 SSL: ssl_xfer[14189]: closing sockets 0, 12, 12
15/06/2009 21:08:19 SSL: ssl_helper[14189]: exit case 6 (https ssl_xfer done)
15/06/2009 21:08:36 SSL: ssl_xfer[14298]: closing sockets 0, 12, 12
15/06/2009 21:08:36 SSL: ssl_helper[14298]: exit case 7 (ssl_xfer done)
15/06/2009 21:08:36 client_count: 1
15/06/2009 21:08:36 sending SIGTERM to ssl_helper_pid: 14298
15/06/2009 21:08:36 connect_once: other shared clients still connected, not exiting.
15/06/2009 21:08:36 Client 192.168.1.21 gone
15/06/2009 21:08:36 Statistics             events    Transmit/ RawEquiv ( saved)
15/06/2009 21:08:36  ServerCutText       :      2 |     15864/    15864 (  0.0%)
15/06/2009 21:08:36  FramebufferUpdate   :     49 |         0/        0 (  0.0%)
15/06/2009 21:08:36  LastRect            :     12 |       144/      144 (  0.0%)
15/06/2009 21:08:36  tight               :    678 |    172246/  6605184 ( 97.4%)
15/06/2009 21:08:36  PointerPos          :      1 |        12/       12 (  0.0%)
15/06/2009 21:08:36  RichCursor          :      1 |      1080/     1080 (  0.0%)
15/06/2009 21:08:36  TOTALS              :    743 |    189346/  6622284 ( 97.1%)
15/06/2009 21:08:36 Statistics             events    Received/ RawEquiv ( saved)
15/06/2009 21:08:36  PointerEvent        :    150 |       900/      900 (  0.0%)
15/06/2009 21:08:36  FramebufferUpdate   :     50 |       500/      500 (  0.0%)
15/06/2009 21:08:36  SetPixelFormat      :      1 |        20/       20 (  0.0%)
15/06/2009 21:08:36  SetEncodings        :      1 |        52/       52 (  0.0%)
15/06/2009 21:08:36  TOTALS              :    202 |      1472/     1472 (  0.0%)