Hi.
Regarding the certificate you may want to import ZAP's Root CA certificate to Firefox [1], this way it will accept/trust all certificates issued by ZAP.
Regarding not working with ws, it seems that it is the same "problem" that I have encountered. Sometimes Firefox tries to establish a persistent tunnel through ZAP (using the HTTP CONNECT method) to the target server (
echo.websocket.org:80), but ZAP always handles it as a SSL connection which is not the case and the connection is not established.
If you don't mind the work, you can check the log file (file zap.log located in ZAP's default directory [2], note that it's the weekly) and see if there's a message like the following when trying to connect:
[...]
DEBUG ProxyThread - IOException:
java.io.IOException: Error while establishing SSL connection!
at org.parosproxy.paros.core.proxy.ProxyThread.beginSSL(ProxyThread.java:145)
at org.parosproxy.paros.core.proxy.ProxyThread.run(ProxyThread.java:174)
at java.lang.Thread.run(Thread.java:722)
Caused by: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
[...]
If the message is present then it's the same problem. The "workaround" is to check the option "Use secure WebSocket (TLS)" and use wss.
You have to add to the file log4j.properties (located in the same directory as zap.log [2]) the string log4j.logger.org.parosproxy.paros.core.proxy.ProxyThread=DEBUG before starting ZAP.
[1]
https://code.google.com/p/zaproxy/wiki/HelpUiDialogsOptionsDynsslcert[2]
https://code.google.com/p/zaproxy/wiki/FAQconfigBest regards.