SSL breaks Live Edit

Ok I have dilligently worked on this for a couple of days now and tried it from all angles.

I tried Mod_proxy Mod_jk and configuring tomcat to directly have SSL with a cert in a keystore.

I am using self signed certs separately with Apache/RHEL6.5 and of course in a keystore with native apache.

With regular port 80 unencrypted Live edit works awesome in Linux and Windows but with any of these SSL methods the Live Edit plugin crashes. I have attached the error log from my Fedora Linux Firefox plugin.

I am using all latest available Nuxeo/LiveEdit plugins.

2014-02-05 16:55:36,071 DEBUG (LiveEditConnector.java:184) - Action : load 2014-02-05 16:55:36,073 DEBUG (LiveEditConnector.java:268) - Load XMLFile : /tmp/7cb49332-6825-4eda-bcd6-c3f01b34d312-default-cnoffsin-1391621329054.xml 2014-02-05 16:55:36,229 DEBUG (LiveEditConnector.java:274) - DocumentModelId : 7cb49332-6825-4eda-bcd6-c3f01b34d312 2014-02-05 16:55:36,229 DEBUG (LiveEditConnector.java:279) - Action selector : edit 2014-02-05 16:55:36,230 DEBUG (LiveEditConnector.java:285) - DocumentModel repo/docRef : default/7cb49332-6825-4eda-bcd6-c3f01b34d312 2014-02-05 16:55:36,231 DEBUG (LiveEditClientRestletImpl.java:508) - Lock in progress : https://nuxeo/nuxeo 2014-02-05 16:55:36,237 DEBUG (LiveEditClientRestletImpl.java:511) - Set cookie[JSESSIONID: B222D1B387AB32B51F0DD338E3E7B381.nuxeo, org.jboss.seam.core.TimeZone: America/New_York, org.jboss.seam.core.Locale: en_US] 2014-02-05 16:55:36,237 DEBUG (LiveEditClientRestletImpl.java:516) - Rest call : [default, 7cb49332-6825-4eda-bcd6-c3f01b34d312, Locking, lock] 2014-02-05 16:55:36,288 DEBUG (DefaultHttpParams.java:151) - Set parameter http.useragent = Jakarta Commons-HttpClient/3.1 2014-02-05 16:55:36,289 DEBUG (DefaultHttpParams.java:151) - Set parameter http.protocol.version = HTTP/1.1 2014-02-05 16:55:36,290 DEBUG (DefaultHttpParams.java:151) - Set parameter http.connection-manager.class = class org.apache.commons.httpclient.SimpleHttpConnectionManager 2014-02-05 16:55:36,290 DEBUG (DefaultHttpParams.java:151) - Set parameter http.protocol.cookie-policy = default 2014-02-05 16:55:36,290 DEBUG (DefaultHttpParams.java:151) - Set parameter http.protocol.element-charset = US-ASCII 2014-02-05 16:55:36,290 DEBUG (DefaultHttpParams.java:151) - Set parameter http.protocol.content-charset = ISO-8859-1 2014-02-05 16:55:36,291 DEBUG (DefaultHttpParams.java:151) - Set parameter http.method.retry-handler = org.apache.commons.httpclient.DefaultHttpMethodRetryHandler@119e7a4b 2014-02-05 16:55:36,291 DEBUG (DefaultHttpParams.java:151) - Set parameter http.dateparser.patterns = [EEE, dd MMM yyyy HH:mm:ss zzz, EEEE, dd-MMM-yy HH:mm:ss zzz, EEE MMM d HH:mm:ss yyyy, EEE, dd-MMM-yyyy HH:mm:ss z, EEE, dd-MMM-yyyy HH-mm-ss z, EEE, dd MMM yy HH:mm:ss z, EEE dd-MMM-yyyy HH:mm:ss z, EEE dd MMM yyyy HH:mm:ss z, EEE dd-MMM-yyyy HH-mm-ss z, EEE dd-MMM-yy HH:mm:ss z, EEE dd MMM yy HH:mm:ss z, EEE,dd-MMM-yy HH:mm:ss z, EEE,dd-MMM-yyyy HH:mm:ss z, EEE, dd-MM-yyyy HH:mm:ss z] 2014-02-05 16:55:36,297 DEBUG (DefaultHttpParams.java:151) - Set parameter http.connection-manager.max-per-host = {HostConfiguration[]=2} 2014-02-05 16:55:36,298 DEBUG (DefaultHttpParams.java:151) - Set parameter http.connection-manager.max-per-host = {HostConfiguration[]=2} 2014-02-05 16:55:36,298 DEBUG (DefaultHttpParams.java:151) - Set parameter http.connection-manager.max-total = 20 2014-02-05 16:55:36,298 DEBUG (DefaultHttpParams.java:151) - Set parameter http.connection-manager.max-total = 20 2014-02-05 16:55:36,299 DEBUG (HttpClient.java:72) - Java version: 1.7.0_45 2014-02-05 16:55:36,299 DEBUG (HttpClient.java:73) - Java vendor: Oracle Corporation 2014-02-05 16:55:36,299 DEBUG (HttpClient.java:74) - Java class path: /usr/share/java/postgresql-jdbc.jar:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60.x86_64/jre/lib/javaplugin.jar:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60.x86_64/jre/lib/plugin.jar 2014-02-05 16:55:36,299 DEBUG (HttpClient.java:75) - Operating system name: Linux 2014-02-05 16:55:36,299 DEBUG (HttpClient.java:76) - Operating system architecture: amd64 2014-02-05 16:55:36,299 DEBUG (HttpClient.java:77) - Operating system version: 3.11.10-100.fc18.x86_64 2014-02-05 16:55:36,313 DEBUG (HttpClient.java:82) - SUN 1.7: SUN (DSA key/parameter generation; DSA signing; SHA-1, MD5 digests; SecureRandom; X.509 certificates; JKS keystore; PKIX CertPathValidator; PKIX CertPathBuilder; LDAP, Collection CertStores, JavaPolicy Policy; JavaLoginConfig Configuration) 2014-02-05 16:55:36,313 DEBUG (HttpClient.java:82) - SunRsaSign 1.7: Sun RSA signature provider 2014-02-05 16:55:36,313 DEBUG (HttpClient.java:82) - SunJSSE 1.7: Sun JSSE provider(PKCS12, SunX509 key/trust factories, SSLv3, TLSv1) 2014-02-05 16:55:36,313 DEBUG (HttpClient.java:82) - SunJCE 1.7: SunJCE Provider (implements RSA, DES, Triple DES, AES, Blowfish, ARCFOUR, RC2, PBE, Diffie-Hellman, HMAC) 2014-02-05 16:55:36,313 DEBUG (HttpClient.java:82) - SunJGSS 1.7: Sun (Kerberos v5, SPNEGO) 2014-02-05 16:55:36,313 DEBUG (HttpClient.java:82) - SunSASL 1.7: Sun SASL provider(implements client mechanisms for: DIGEST-MD5, GSSAPI, EXTERNAL, PLAIN, CRAM-MD5, NTLM; server mechanisms for: DIGEST-MD5, GSSAPI, CRAM-MD5, NTLM) 2014-02-05 16:55:36,314 DEBUG (HttpClient.java:82) - XMLDSig 1.0: XMLDSig (DOM XMLSignatureFactory; DOM KeyInfoFactory) 2014-02-05 16:55:36,314 DEBUG (HttpClient.java:82) - SunPCSC 1.7: Sun PC/SC provider 2014-02-05 16:55:36,315 DEBUG (DefaultHttpParams.java:151) - Set parameter http.authentication.preemptive = false 2014-02-05 16:55:36,315 DEBUG (DefaultHttpParams.java:151) - Set parameter http.authentication.preemptive = false 2014-02-05 16:55:36,315 DEBUG (DefaultHttpParams.java:151) - Set parameter http.connection-manager.timeout = 0 2014-02-05 16:55:36,315 DEBUG (DefaultHttpParams.java:151) - Set parameter http.protocol.cookie-policy = ignoreCookies 2014-02-05 16:55:36,315 DEBUG (DefaultHttpParams.java:151) - Set parameter http.connection-manager.timeout = 0 2014-02-05 16:55:36,316 DEBUG (DefaultHttpParams.java:151) - Set parameter http.socket.timeout = 0 2014-02-05 16:55:36,316 DEBUG (DefaultHttpParams.java:151) - Set parameter http.protocol.cookie-policy = ignoreCookies 2014-02-05 16:55:36,316 DEBUG (DefaultHttpParams.java:151) - Set parameter http.socket.timeout = 0 2014-02-05 16:55:36,349 DEBUG (MultiThreadedHttpConnectionManager.java:412) - HttpConnectionManager.getConnection: config = HostConfiguration[host=https://nuxeo], timeout = 0 2014-02-05 16:55:36,349 DEBUG (MultiThreadedHttpConnectionManager.java:412) - HttpConnectionManager.getConnection: config = HostConfiguration[host=https://nuxeo], timeout = 0 2014-02-05 16:55:36,350 DEBUG (MultiThreadedHttpConnectionManager.java:760) - Allocating new connection, hostConfig=HostConfiguration[host=https://nuxeo] 2014-02-05 16:55:36,350 DEBUG (MultiThreadedHttpConnectionManager.java:760) - Allocating new connection, hostConfig=HostConfiguration[host=https://nuxeo] 2014-02-05 16:55:36,352 DEBUG (HttpConnection.java:692) - Open connection to nuxeo:443 2014-02-05 16:55:36,352 DEBUG (HttpConnection.java:692) - Open connection to nuxeo:443 2014-02-05 16:55:36,541 DEBUG (Wire.java:70) - » “GET /nuxeo/restAPI/ HTTP/1.1[\r][\n]” 2014-02-05 16:55:36,541 DEBUG (Wire.java:70) - » “GET /nuxeo/restAPI/default/7cb49332-6825-4eda-bcd6-c3f01b34d312/Locking/lock HTTP/1.1[\r][\n]” 2014-02-05 16:55:36,541 DEBUG (HttpMethodBase.java:1352) - Adding Host request header 2014-02-05 16:55:36,541 DEBUG (HttpMethodBase.java:1352) - Adding Host request header 2014-02-05 16:55:36,548 DEBUG (Wire.java:70) - » “User-Agent: Noelios-Restlet-Engine/1.0.6[\r][\n]” 2014-02-05 16:55:36,548 DEBUG (Wire.java:70) - » “User-Agent: Noelios-Restlet-Engine/1.0.6[\r][\n]” 2014-02-05 16:55:36,548 DEBUG (Wire.java:70) - » “Cookie: JSESSIONID=B222D1B387AB32B51F0DD338E3E7B381.nuxeo; org.jboss.seam.core.TimeZone=America/New_York; org.jboss.seam.core.Locale=en_US[\r][\n]” 2014-02-05 16:55:36,548 DEBUG (Wire.java:70) - » “Cookie: JSESSIONID=B222D1B387AB32B51F0DD338E3E7B381.nuxeo; org.jboss.seam.core.TimeZone=America/New_York; org.jboss.seam.core.Locale=en_US[\r][\n]” 2014-02-05 16:55:36,549 DEBUG (Wire.java:70) - » “Accept: /[\r][\n]” 2014-02-05 16:55:36,549 DEBUG (Wire.java:70) - » “Accept: /[\r][\n]” 2014-02-05 16:55:36,549 DEBUG (Wire.java:70) - » “Host: nuxeo[\r][\n]” 2014-02-05 16:55:36,549 DEBUG (Wire.java:70) - » “Host: nuxeo[\r][\n]” 2014-02-05 16:55:36,549 DEBUG (Wire.java:70) - » “[\r][\n]” 2014-02-05 16:55:36,549 DEBUG (Wire.java:70) - » “[\r][\n]” 2014-02-05 16:55:36,627 DEBUG (HttpMethodDirector.java:404) - Closing the connection. 2014-02-05 16:55:36,627 DEBUG (HttpMethodDirector.java:404) - Closing the connection. 2014-02-05 16:55:36,627 DEBUG (HttpMethodDirector.java:434) - Method retry handler returned false. Automatic recovery will not be attempted 2014-02-05 16:55:36,627 DEBUG (HttpMethodDirector.java:434) - Method retry handler returned false. Automatic recovery will not be attempted 2014-02-05 16:55:36,627 DEBUG (HttpConnection.java:1178) - Releasing connection back to connection manager. 2014-02-05 16:55:36,627 DEBUG (HttpConnection.java:1178) - Releasing connection back to connection manager. 2014-02-05 16:55:36,627 DEBUG (MultiThreadedHttpConnectionManager.java:979) - Freeing connection, hostConfig=HostConfiguration[host=https://nuxeo] 2014-02-05 16:55:36,627 DEBUG (MultiThreadedHttpConnectionManager.java:979) - Freeing connection, hostConfig=HostConfiguration[host=https://nuxeo] 2014-02-05 16:55:36,628 DEBUG (IdleConnectionHandler.java:76) - Adding connection at: 1391637336628 2014-02-05 16:55:36,628 DEBUG (IdleConnectionHandler.java:76) - Adding connection at: 1391637336628 2014-02-05 16:55:36,628 DEBUG (MultiThreadedHttpConnectionManager.java:961) - Notifying no-one, there are no waiting threads 2014-02-05 16:55:36,628 DEBUG (MultiThreadedHttpConnectionManager.java:961) - Notifying no-one, there are no waiting threads

0 votes

1 answers

1780 views

ANSWER



hello,

.Net based applications don't like self signed certs, so does LiveEdit. Some workaround is to add the cert in the Windows trusted certificate store. http://technet.microsoft.com/en-us/library/cc754841.aspx

Thierry

0 votes



Thank you for your answer but it does it when I use linux for the server, and linux/openoffice/firefox for the client on my desk.

Here is the text of the popup:

An exception occurred Type: com.sun.star.uno.RuntimeException Message: [jni_uno bridge error] UNO calling Java method execute: non-UNO exception occurred: java.lang.NullPointerException java stack trace: java.lang.NullPointerException

at org.nuxeo.liveedit.restclient.LiveEditClientRestletImpl.downloadDocumentFileToFile(LiveEditClientRestletImpl.java:321)
at org.nuxeo.liveedit.extension.ooo.LiveEditConnector.actionLoad(LiveEditConnector.java:297)
at org.nuxeo.liveedit.extension.ooo.LiveEditConnector.execute(LiveEditConnector.java:191)

. (line : 81)

02/06/2014