<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:clearspace="http://www.jivesoftware.com/xmlns/clearspace/rss" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Feed for content matching tag 'ssl'</title>
    <link>http://www.igniterealtime.org/community/index.jspa</link>
    <description>List of items matching the tag 'ssl'</description>
    <language>en</language>
    <pubDate>Tue, 14 Oct 2008 12:35:11 GMT</pubDate>
    <generator>Clearspace 2.5.2 dev (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2008-10-14T12:35:11Z</dc:date>
    <dc:language>en</dc:language>
    <item>
      <title />
      <link>http://www.igniterealtime.org/community/docs/DOC-1633</link>
      <description>&lt;!-- [DocumentBodyStart:8554d418-d934-459b-91d4-d13b10176efb] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;&lt;title&gt;&lt;/title&gt;&lt;/p&gt;&lt;h1 class="western"&gt;Disclaimer&lt;/h1&gt;&lt;p class="western"&gt;I cannot guarantee that this tutorial is faultless as I spend a lot of time setting up openfire to work with red5 via Spark over rtmps using Linux as a client. I do not want to destroy my now working installation in order to test this tutorial but I have written this the day after getting everything working so it is fresh in my mind. If you have a problem getting it going then leave a message below and I will modify this document:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h1 class="western"&gt;Known bugs&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;&lt;p class="western"&gt;When you place a call to someone they must also place a call back to you! They will not be notified that a call is waiting for them;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p class="western"&gt;The chat window will also open but it will open a new chat window each time you place a call, even if that call is to the same person. You will therefore wind up with several tabs to the same person if you make multiple calls to them without closing the chat window in between. You can simply close the additional windows manually;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;The other person will not get a notification asking 'Do you want to accept this call' but their camera will not be turned on until they place a call back to you;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Each person who you want to be able to call must have the same modifications applied to the Spark client;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;If you call a second person then I am ot sure what will happen if you have not closed the first call window. It may work, but to be on the safe side you will be better of closing the first call window before placing a second call;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Sorry, but I couldn't figure out the openfire API sufficiently to make the above work without introducing additional bugs which I thought were worse! If someone with a better knowledge of the openfire API wants to let me know how to fix these problems then I will happily fix them. I am sure it is just a couple of lines of code but I could not find an example.&lt;/p&gt;&lt;p class="western" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h1 class="western"&gt;Description&lt;/h1&gt;&lt;p class="western"&gt;This document describes how to set up Openfire, the Red5 plugin and Spark for secure video messaging. It will not cover how to set up SparkWeb for secure audio/video but you may be able to work out how to do it after reading this. This document is more focused on getting things to work on both Windows and Linux (I am using Debian etch for the server and Debian Lenny for the client, tested on Windows XP and Vista for Spark client integration). If you do not need Linux support then you can skip several of the steps. I have made several changes to the red5-plugin.jar file in order to make opening a browser possible under Linux (It should also work on the mac). All the files you need should be attached except for XULRunner but that is described later on.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h1 class="western"&gt;Requirements&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;&lt;p class="western"&gt;Openfire (3.6.0a);&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Spark (2.5.8);&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Apache 2;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;On Linux (and possible windows) you will need a valid SSL certificate (not self signed). This is because of the&amp;nbsp; use of MozSwing and XULRunner. MozSwing will not prompt you&amp;nbsp; if you are using a self signed certificate. You can pick one up for £15 at www.godaddy.com but I found there customer service to be somewhat lacking;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;On Linux you will need to use the Flash Player version 10 which is a beta release. It is the only version that can handle web camera integration.&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;XULRunner will be required but you MUST use the version from the MozSwing project as it has been modified to work with MozSwing. Mozswing is used to open a web browser in order to play the Flash Movie.&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h1 class="western"&gt;Modified files&lt;/h1&gt;&lt;p class="western"&gt;I found that I had to modify a few files in order to make things work. You may find your distance with the existing openfire.jar varies but I could not make it work without editing. The modifications I made were:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p class="western"&gt;openfire.jar was modified: &lt;br/&gt;&lt;br/&gt;org.jivesoftware.openfire.http.HttpBindManager – has been edited to hard code the SSL port as 8443. I found that I could not set the SSL port and it was always '0' with the build of&amp;nbsp; openfire I used; You do not strictly need this modification if you do not mind the initial http request being unencrypted. The Flash movie will still send its data stream in an encrypted format;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p class="western"&gt;red5.war was modified:&lt;br/&gt;&lt;br/&gt;/video/320x240.lzx – This is the video file that is used to show the audio and video. It is compiled into a .swf file using OpenLaszlo. You must use version 3 (I used 3.2) of OpenLaszlo as it will not compile on more recent versions;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p class="western"&gt;red5-plugin.jar was modified:&lt;br/&gt;&lt;br/&gt;This can be found inside of the red5.war/spark folder but you must use the one attached to this document. I have modified Red5Plugin.java so that it will read the Red5.properties file (it was looking in the wrong place previously) and added a class SparkBrowser which replaces&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BareBonesBrowserLauncher.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The above compiled versions of the files are attached.&lt;/p&gt;&lt;p class="western" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h1 class="western"&gt;How the sep-up links together&lt;/h1&gt;&lt;p&gt;A request from the Spark client using audio/video is sent to the apache server which will act as a proxy server. This request will go to apache which will then forward that request onto the Red5 server. This allows apache to handle the SSL encryption/decryption which I am not certain that the version of Red 5 in the red5-plugin can do (see &lt;a class="jive-link-external-small" href="http://gregoire.org/2008/05/26/rtmps-in-red5/"&gt;http://gregoire.org/2008/05/26/rtmps-in-red5/&lt;/a&gt;). Hence I use apache to handle this functionality.&lt;/p&gt;&lt;p class="western" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 class="western"&gt;Request cycle&lt;/h2&gt;&lt;p class="western"&gt;Spark (rtmps – ssl encrypted) =&amp;gt; Apache 2 (decrypts) =&amp;gt; Red 5 (unencrypted)&lt;/p&gt;&lt;h2 class="western"&gt;Response cycle&lt;/h2&gt;&lt;p&gt;Red 5 (unencrypted) =&amp;gt; Apache 2 (Encrypts) =&amp;gt; Spark (decrypts)&lt;/p&gt;&lt;p class="western" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western"&gt;The above is a basic description of the request/response cycle. In actuality Spark is using a web browser which plays the flash movie and handles SSL encryption/decryption. RTMPS (Real Time Media Protocol Secure) is the protocol used by flash to talk with Red 5. RTMPS is simply RTMPT (Real Time Media Protocol Tunneled) done over SSL, RTMPT is RTMP over HTTP.&lt;/p&gt;&lt;p class="western" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western"&gt;So ... all communication is RTMP but in this case we will do it over HTTP and encrypt it using SSL. That is why we need Apache and why Spark uses a web browser. They are required to encode/decode the SSL streams.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h1 class="western"&gt;Set up&lt;/h1&gt;&lt;ol&gt;&lt;li&gt;&lt;p class="western"&gt;Install openfire on your server:&lt;br/&gt;&lt;br/&gt;sudo dpkg -i openfire_3.6.0a_deb_all.deb&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Install the red5 plugin:&lt;br/&gt;&lt;br/&gt;Download the Red 5 plugin which is currently in the beta plugins section. You can currently get it from here&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a class="jive-link-external-small" href="../projects/openfire/plugins-beta.jsp"&gt;http://www.igniterealtime.org/projects/openfire/plugins-beta.jsp&lt;/a&gt;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Shutdown the openfire server:&lt;br/&gt;&lt;br/&gt;sudo /etc/init.d/openfire stop&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Copy the red5 plugin that you downloaded to the openfire plugins directory at /usr/share/openfire/plugins;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Startup openfire:&lt;br/&gt;&lt;br/&gt;sudo /etc/init.d/openfire start&lt;br/&gt;&lt;br/&gt;You will see the red5 war file expand into a folder called red5;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Shutdown openfire again;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;There are some files attached to this&amp;nbsp; document, download them and do the following:&lt;br/&gt;&lt;br/&gt;Copy the openfire-https-8443.jar to /usr/share/openfire/lib/openfire-https-8443.jar and DELETE the existing openfire.jar. The new jar file forces HTTP_BIND ssl to work on port 8443. Without it I found that HTTP_BIND with ssl does not work.&lt;br/&gt;&lt;br/&gt; This step is not strictly necessary but it will allow you to call the HTML page containing the flash movie over SSL. The movie will be encrypted whether or not you do this as it uses HTTPS to apache. How you call the HTML page containing the movie is irrelevant, it is how the movie in the HTML page connects to Red 5 that is critical. Therefore you may not need this step.&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Copy the file video320x240.lzx.swf to /usr/share/openfire/plugins/red5/video. It contains a modification that allows us to pass a parameter 'url' containing the rtmps protocol necessary for SSL encryption. Without this modification the movie uses a hard coded string of 'rtmp:/oflaDemo' and will not be encrypted;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Restart openfire;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Setup your apache virtual host. You will need to use a valid SSL certificate (not self signed) so bear this in mind when you do this. If you are trying to set this up as a subdomain and your SSL certificate is not for the subdomain then it will fail. Luckily, integrating red5 into your existing main default host should cause 99% of people no problems. This is because we only need to proxy for URLS of the following form:&lt;br/&gt;&lt;br/&gt;/open&lt;br/&gt;/close&lt;br/&gt;/idle&lt;br/&gt;/send&lt;br/&gt;&lt;br/&gt;I have attached a copy of a virtual host that you can use as a template;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Copy the folders /usr/share/openfire/plugins/red5/video and /usr/share/openfire/plugins/red5/screen to your apache document root red5 folder (you will need to create the red5 folder). This may be /var/www/YOUR_DOMAIN_NAME/red5;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Restart Apache;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Download the attached red5-plugin.jar file and place it in your client side Spark user plugins folder. On Linux this is located at /home/USER_NAME/.Spark/plugins. you could also place it in the main Spark folder which for me is at /usr/local/Spark/plugins, it will then be automatically copied for each user to their own folder. You MUST use the attached version as it has the 'Call' option added back into the right click menu. For some reason it seemed to vanish on the latest downloaded version from:&lt;br/&gt;&lt;br/&gt; &lt;a class="jive-link-external-small" href="http://demo.free-solutions.ch/clearspace/docs/DOC-1066"&gt;http://demo.free-solutions.ch/clearspace/docs/DOC-1066&lt;/a&gt; &lt;br/&gt;&lt;br/&gt;which was dated the 8&lt;sup&gt;th&lt;/sup&gt; September when this document was written.&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;As this document will only allow attachments of 20Meg you will now need to manually install XULRunner as it can not be included in the red5-plugin.jar file due to its download size.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt; YOU MUST INSTALL XULRunner FROM THE MOZSWING PROJECT AS IT IS PATCHED TO WORK WITH MOZSWING!&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt; Download it from here &lt;a class="jive-link-external-small" href="http://sourceforge.net/projects/mozswing"&gt;http://sourceforge.net/projects/mozswing&lt;/a&gt;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Copy the folder moszswing-x.x/native/YOUR_OS_VARIENT/xulrunner to /home/YOUR_USER_NAME/.Spark/plugins/red5-plugin/xulrunner&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Modify the file /home/YOUR_USER_NAME/.Spark/plugins/red5-plugin/Red5.properties so that it points to your server.&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h1 class="western"&gt;Proving it is encrypted&lt;/h1&gt;&lt;p class="western"&gt;Download Wireshark and use it to analyse the packets being send from the flash movie. To do this on Linux (it should be the same on Windows):&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p class="western"&gt;Press the 'List available capture devices' button which is the first button on the toolbar;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Stop all activity that may be talking from your computer to your server on port 443! This would generally mean that you should not have any web pages open to your Apache over HTTPS.&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Press Start for your current interface (I am on wlan1 but you may be on eth0 or eth1). It should have numbers changing next to it which indicates that packets are traversing the interface;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Start your call from Spark by right clicking on a user and selecting call (you do not need another user to test this – just call someone on your list even if they are not online and do not have their client modified yet);&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Wait a few seconds while Wireshark captures the data;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;Press the 'Stop' button on Wireshark, it is the 4&lt;sup&gt;th&lt;/sup&gt; button on the toolbar;&lt;/p&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="western"&gt;In the Filter, type 'tcp.port==443'. You should see some packets listed, if you don't then your setup was not communicating via port 443 and was therefore NOT encrypted. If this is the case then delete the filter and look at the packets manually. If it is using port 1935 (the default rtmp unencrypted port or port 80 then you are not secured by SSL).&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p class="western" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western"&gt;&lt;strong&gt;FINISHED&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western"&gt;Start Spark and try to place a call to a user who has the same red5-plugin.jar and XULRunner setup as you.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western"&gt;Hopefully in the future this functionality will be built into the Red5-plugin and Spark to make this easier. It has&amp;nbsp; already been added to the 'todo' list.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western"&gt;I found the above complicated to set up and what I have works for me. If you know of a better way to do it then I am all ears!&lt;/p&gt;&lt;p class="western" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western"&gt;If you find that this document needs to be modified due to an error then let me know.&lt;/p&gt;&lt;ol start="16"&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;/ol&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:8554d418-d934-459b-91d4-d13b10176efb] --&gt;</description>
      <category domain="http://www.igniterealtime.org/community/tags">red5</category>
      <category domain="http://www.igniterealtime.org/community/tags">spark</category>
      <category domain="http://www.igniterealtime.org/community/tags">linux</category>
      <category domain="http://www.igniterealtime.org/community/tags">audio</category>
      <category domain="http://www.igniterealtime.org/community/tags">video</category>
      <category domain="http://www.igniterealtime.org/community/tags">secure</category>
      <category domain="http://www.igniterealtime.org/community/tags">ssl</category>
      <category domain="http://www.igniterealtime.org/community/tags">rtmps</category>
      <category domain="http://www.igniterealtime.org/community/tags">rtmpt</category>
      <category domain="http://www.igniterealtime.org/community/tags">videomessage</category>
      <category domain="http://www.igniterealtime.org/community/tags">openfire</category>
      <pubDate>Thu, 01 Jan 1970 00:00:00 GMT</pubDate>
      <author>webmaster@jivesoftware.com</author>
      <guid>http://www.igniterealtime.org/community/docs/DOC-1633</guid>
      <dc:date>1970-01-01T00:00:00Z</dc:date>
      <clearspace:dateToText>38 years, 9 months ago</clearspace:dateToText>
    </item>
    <item>
      <title />
      <link>http://www.igniterealtime.org/community/thread/34157</link>
      <description>&lt;!-- [DocumentBodyStart:40c237f6-f9f8-4c52-a3a3-259689f72afc] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;I originally tried following the Openfire documentation for importing certificates via the command line keytool; i'd attempted to do this the first time, after configuring the server and then shutting it down. I added the certificate via keytool and upon restarting the server, saw through the web interface and in the logs/error.log that the keystore was considered corrupt.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I shutdown the server and removed all of the files in resources/security (in an effort to force regeneration). I started the server, logged in via the web interface, went to the security certificates page; it was naturally complaining of a corrupt keystore (since none existed, i presume) and asked it to generate its own keys. It did, and presented them in the reloaded web view.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;After of intermediary hunting, it is always replicable to perform the above paragraph, then shutdown the server, *do nothing*, and start the server. Starting the server now complains about the keystore being corrupt (even though it just created the keystore itself during its last life cycle, and it was untouched by other processes).&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I added a stack traced dump to catch block in the openfire class SSLConfig from where the error was coming (, recompiled and deployed the jar). The stack trace is:&lt;/p&gt;&lt;p&gt;java.io.EOFException&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.io.DataInputStream.readInt(DataInputStream.java:358)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:627)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.security.KeyStore.load(KeyStore.java:1150)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.jivesoftware.openfire.net.SSLConfig.&amp;lt;clinit&amp;gt;(SSLConfig.java:99)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.jivesoftware.openfire.spi.ConnectionManagerImpl.isClientSSLListenerEnabled( ConnectionManagerImpl.java:584)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.jivesoftware.openfire.spi.ConnectionManagerImpl.createClientSSLListeners(Co nnectionManagerImpl.java:379)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.jivesoftware.openfire.spi.ConnectionManagerImpl.createListeners(ConnectionM anagerImpl.java:92)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.jivesoftware.openfire.spi.ConnectionManagerImpl.start(ConnectionManagerImpl .java:826)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.jivesoftware.openfire.XMPPServer.startModules(XMPPServer.java:600)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:466)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.jivesoftware.openfire.XMPPServer.&amp;lt;init&amp;gt;(XMPPServer.java:161)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessor Impl.java:39)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructor AccessorImpl.java:27)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.lang.reflect.Constructor.newInstance(Constructor.java:494)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.lang.Class.newInstance0(Class.java:350)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.lang.Class.newInstance(Class.java:303)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:106)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:51)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:25)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.lang.reflect.Method.invoke(Method.java:585)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.install4j.runtime.Launcher.main(Unknown Source)&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;As far as configuration, my environment is:&lt;/p&gt;&lt;p&gt;Openfire 3.5.2 &lt;br/&gt;1.5.0_14 Sun Microsystems Inc. -- Java HotSpot(TM) Server VM&lt;br/&gt;jetty-6.1.x&lt;br/&gt;OS / Hardware:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Linux / i386&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;and the system properties i have set were xmpp.socket.ssl.active to 'true' and xmpp.socket.ssl.keypass to the correct password.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Any ideas?&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:40c237f6-f9f8-4c52-a3a3-259689f72afc] --&gt;</description>
      <category domain="http://www.igniterealtime.org/community/tags">ssl</category>
      <category domain="http://www.igniterealtime.org/community/tags">keystore</category>
      <category domain="http://www.igniterealtime.org/community/tags">corruption</category>
      <pubDate>Thu, 01 Jan 1970 00:00:00 GMT</pubDate>
      <author>webmaster@jivesoftware.com</author>
      <guid>http://www.igniterealtime.org/community/thread/34157</guid>
      <dc:date>1970-01-01T00:00:00Z</dc:date>
      <clearspace:dateToText>38 years, 9 months ago</clearspace:dateToText>
    </item>
    <item>
      <title />
      <link>http://www.igniterealtime.org/community/thread/34340</link>
      <description>&lt;!-- [DocumentBodyStart:ea9b98d0-c598-4188-bd11-29da1aca00dd] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;Hello people!&lt;/p&gt;&lt;p&gt;Could you explain how to configure the Apache to let the Jwchat to communicate with ssl http-bind port?&lt;/p&gt;&lt;p&gt;I'm not strong in Apache and haven't find any helpfull material on this topic.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I have the following configuration (all works fine):&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Openfire 3.4.1&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8080 port for non ssl binding&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Apache 2.2.6 &lt;/p&gt;&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RewriteRule http-bind/ &lt;/span&gt;&lt;a class="jive-link-external-small" href="http://localhost:8080/http-bind/"&gt;http://localhost:8080/http-bind/&lt;/a&gt;&lt;span&gt; [P] &lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thank a lot!!!&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:ea9b98d0-c598-4188-bd11-29da1aca00dd] --&gt;</description>
      <category domain="http://www.igniterealtime.org/community/tags">jwchat</category>
      <category domain="http://www.igniterealtime.org/community/tags">apache</category>
      <category domain="http://www.igniterealtime.org/community/tags">ssl</category>
      <pubDate>Thu, 01 Jan 1970 00:00:00 GMT</pubDate>
      <author>webmaster@jivesoftware.com</author>
      <guid>http://www.igniterealtime.org/community/thread/34340</guid>
      <dc:date>1970-01-01T00:00:00Z</dc:date>
      <clearspace:dateToText>38 years, 9 months ago</clearspace:dateToText>
    </item>
    <item>
      <title />
      <link>http://www.igniterealtime.org/community/thread/34024</link>
      <description>&lt;!-- [DocumentBodyStart:d3847c6e-6a8a-4a31-9e3f-f3dbff409962] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;Exception:&lt;/p&gt;&lt;p&gt;&lt;span class="jive-noformat-content"&gt;java.lang.StringIndexOutOfBoundsException: String index out of range: 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.lang.String.charAt(Unknown Source)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.bouncycastle.asn1.x509.X509Name.(Unknown Source)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.bouncycastle.jce.X509Principal.(Unknown Source)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.bouncycastle.jce.provider.X509CertificateObject.getIssuerDN(Unknown Source)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jivesoftware.util.CertificateManager.isSigningRequestPending(CertificateMan ager.java:341)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jivesoftware.openfire.admin.ssl_002dcertificates_jsp._jspService(ssl_002dce rtificates_jsp.java:542)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1093)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:11 8)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:66)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingF ilter.java:42)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:70)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:99)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollect ion.java:206)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.Server.handle(Server.java:324)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.j ava:829)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)&lt;/span&gt;&lt;span class="jive-noformat-content"&gt; &lt;/span&gt;&lt;span class="jive-noformat-content"&gt; How do you fix this? &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:d3847c6e-6a8a-4a31-9e3f-f3dbff409962] --&gt;</description>
      <category domain="http://www.igniterealtime.org/community/tags">error</category>
      <category domain="http://www.igniterealtime.org/community/tags">openfire</category>
      <category domain="http://www.igniterealtime.org/community/tags">ldap</category>
      <category domain="http://www.igniterealtime.org/community/tags">server</category>
      <category domain="http://www.igniterealtime.org/community/tags">security</category>
      <category domain="http://www.igniterealtime.org/community/tags">ssl</category>
      <pubDate>Thu, 01 Jan 1970 00:00:00 GMT</pubDate>
      <author>webmaster@jivesoftware.com</author>
      <guid>http://www.igniterealtime.org/community/thread/34024</guid>
      <dc:date>1970-01-01T00:00:00Z</dc:date>
      <clearspace:dateToText>38 years, 9 months ago</clearspace:dateToText>
    </item>
    <item>
      <title />
      <link>http://www.igniterealtime.org/community/thread/30548</link>
      <description>&lt;!-- [DocumentBodyStart:e06b87c5-754f-4645-9ef3-0098af0b194d] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;Hi,&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;With openfire 3.4.2, clients can access the server just fine using SSL (they do not complain) but when accessing /ssl-certificates.jsp in the admin console the page prints out the following exception:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;java.security.InvalidKeyException: Supplied key (null) is not a RSAPrivateKey instance&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.bouncycastle.jce.provider.JDKDigestSignature.engineInitSign(Unknown Source)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.security.Signature.initSign(Signature.java:480)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.bouncycastle.jce.PKCS10CertificationRequest.(Unknown Source)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.bouncycastle.jce.PKCS10CertificationRequest.(Unknown Source)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jivesoftware.util.CertificateManager.createSigningRequest(CertificateManage r.java:331)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jivesoftware.openfire.admin.ssl_002dcertificates_jsp._jspService(ssl_002dce rtificates_jsp.java:430)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1093)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:11 8)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:65)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingF ilter.java:41)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:69)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:98)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollect ion.java:211)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.Server.handle(Server.java:313)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.j ava:830)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Any thoughts?&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:e06b87c5-754f-4645-9ef3-0098af0b194d] --&gt;</description>
      <category domain="http://www.igniterealtime.org/community/tags">ssl</category>
      <category domain="http://www.igniterealtime.org/community/tags">openfire</category>
      <category domain="http://www.igniterealtime.org/community/tags">administrator</category>
      <category domain="http://www.igniterealtime.org/community/tags">bug</category>
      <category domain="http://www.igniterealtime.org/community/tags">bug_report</category>
      <category domain="http://www.igniterealtime.org/community/tags">error</category>
      <category domain="http://www.igniterealtime.org/community/tags">security</category>
      <category domain="http://www.igniterealtime.org/community/tags">server</category>
      <pubDate>Thu, 01 Jan 1970 00:00:00 GMT</pubDate>
      <author>kajtzu@basen.net</author>
      <guid>http://www.igniterealtime.org/community/thread/30548</guid>
      <dc:date>1970-01-01T00:00:00Z</dc:date>
      <clearspace:dateToText>38 years, 9 months ago</clearspace:dateToText>
    </item>
    <item>
      <title />
      <link>http://www.igniterealtime.org/community/thread/30578</link>
      <description>&lt;!-- [DocumentBodyStart:b38f4fa5-3636-4000-93ab-52d014f983d2] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;Hello,&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I had 3.4.1 running more or less smoothly, and this morning I installed the update to 3.4.2. I have two Windows 2003 servers, a home office and a satellite office. The primary reason I set up the two servers is that I require encrypted communications between the two offices. I don't need or want outside servers to be able to talk to them. I set up the two servers on each other's whitelists and installed self-signed certificates on each server. Under 3.4.1, I fought with it for a while, and had to set the server property xmpp.server.certificate.verify to false, but after I did that it was working fine.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;When I installed the 3.4.2 update, I couldn't communicate to people on the other server. My client (Trillian) returns a message "Unable to deliver message. Server reports (404)(none)". I have encryption set to required. If I turn off encryption, it works fine, so I'm pretty sure the problem is isolated to something with SSL. SSL seems to work fine with everything else. Clients connect with no problems (that is also set to required) and my admin interface works on SSL. (Although it generates an expected certificate warning.)&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I tried deleting and re-generating certificates on both sides. I tried creating certificates using openSSL. I tried using the old-fashioned keytool method. I deleted the keystore and re-installed openfire. I can't think of anything else that could be causing it to fail. In the server logs, I get the following messages:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;On the local side (initiator) I get this in the error.log:&lt;/p&gt;&lt;!--[CodeBlockStart:94fd400f-eeac-441c-91ab-32e7e327f082]--&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-java"&gt;2007.12.10 15:02:34 [org.jivesoftware.openfire.session.LocalOutgoingServerSession.createOutgoingSes sion(LocalOutgoingServerSession.java:338)
] Error creating secured outgoing session to remote server: jabber.remotedomain.com(DNS lookup: jabber.remotedomain.com:5269)
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
at com.sun.net.ssl.internal.ssl.EngineInputRecord.bytesInCompletePacket(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLEngineImpl.readNetRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLEngineImpl.unwrap(Unknown Source)
at javax.net.ssl.SSLEngine.unwrap(Unknown Source)
at org.jivesoftware.openfire.net.TLSStreamHandler.doHandshake(TLSStreamHandler.jav a:211)
at org.jivesoftware.openfire.net.TLSStreamHandler.start(TLSStreamHandler.java:157)
at org.jivesoftware.openfire.net.SocketConnection.startTLS(SocketConnection.java:1 65)
at org.jivesoftware.openfire.session.LocalOutgoingServerSession.secureAndAuthentic ate(LocalOutgoingServerSession.java:369)
at org.jivesoftware.openfire.session.LocalOutgoingServerSession.createOutgoingSess ion(LocalOutgoingServerSession.java:302)
at org.jivesoftware.openfire.session.LocalOutgoingServerSession.authenticateDomain (LocalOutgoingServerSession.java:143)
at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.sendPa cket(OutgoingSessionPromise.java:205)
at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.run(Ou tgoingSessionPromise.java:185)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
&lt;/code&gt;&lt;/pre&gt;&lt;!--[CodeBlockEnd:94fd400f-eeac-441c-91ab-32e7e327f082]--&gt;&lt;p&gt;On the remote side, I get this in the warn.log:&lt;/p&gt;&lt;!--[CodeBlockStart:1155c34e-45f6-4dcd-aac9-bf8cdaa58a5f]--&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-java"&gt;2007.12.10 14:02:36 Stream error detected. Session: org.jivesoftware.openfire.session.LocalIncomingServerSession@e72f0c status: 1 address: jabber.remotedomain.com/930ffb7 id: 930ffb7
java.lang.RuntimeException: Delegated task threw Exception/Error
at com.sun.net.ssl.internal.ssl.Handshaker.checkThrown(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLEngineImpl.checkTaskThrown(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLEngineImpl.readNetRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLEngineImpl.unwrap(Unknown Source)
at javax.net.ssl.SSLEngine.unwrap(Unknown Source)
at org.jivesoftware.openfire.net.TLSStreamHandler.doHandshake(TLSStreamHandler.jav a:211)
at org.jivesoftware.openfire.net.TLSStreamHandler.start(TLSStreamHandler.java:157)
at org.jivesoftware.openfire.net.SocketConnection.startTLS(SocketConnection.java:1 65)
at org.jivesoftware.openfire.net.SocketReadingMode.negotiateTLS(SocketReadingMode. java:72)
at org.jivesoftware.openfire.net.BlockingReadingMode.readStream(BlockingReadingMod e.java:126)
at org.jivesoftware.openfire.net.BlockingReadingMode.run(BlockingReadingMode.java: 62)
at org.jivesoftware.openfire.net.SocketReader.run(SocketReader.java:119)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at com.sun.net.ssl.internal.ssl.HandshakeMessage$CertificateRequest.&amp;lt;init&amp;gt;(Unknown Source)
at com.sun.net.ssl.internal.ssl.ServerHandshaker.clientHello(Unknown Source)
at com.sun.net.ssl.internal.ssl.ServerHandshaker.processMessage(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.net.ssl.internal.ssl.Handshaker$DelegatedTask.run(Unknown Source)
at org.jivesoftware.openfire.net.TLSStreamHandler.doTasks(TLSStreamHandler.java:31 4)
at org.jivesoftware.openfire.net.TLSStreamHandler.doHandshake(TLSStreamHandler.jav a:224)
... 7 more
2007.12.10 14:02:37 Closing session due to incorrect hostname in stream header. Host: remotedomain.com. Connection: org.jivesoftware.openfire.net.SocketConnection@12eabae socket: Sockethttp:&lt;font color="darkgreen"&gt;//addr=/22.22.22.22,port=1547,localport=5269 session: null&lt;/font&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;!--[CodeBlockEnd:1155c34e-45f6-4dcd-aac9-bf8cdaa58a5f]--&gt;&lt;p&gt;Obviously, domains and IP addresses are obfuscated above. The real domains are correct, and can resolve correctly from either side of the connection. Also, the IP address in the last line of the remote warn.log is the correct IP address for the server.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;On both firewalls, I have ports 5222, 7777 and 5269 forwarded to the server. Although I didn't have them before, I created SRV records on both DNS servers for TCP ports 5222 and 5269.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thank you very much in advance, and any help would be greatly appreciated. These are production servers, and I can't think of anything else to try.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:b38f4fa5-3636-4000-93ab-52d014f983d2] --&gt;</description>
      <category domain="http://www.igniterealtime.org/community/tags">ssl</category>
      <category domain="http://www.igniterealtime.org/community/tags">connection</category>
      <category domain="http://www.igniterealtime.org/community/tags">security</category>
      <category domain="http://www.igniterealtime.org/community/tags">upgrade_3.4.2</category>
      <category domain="http://www.igniterealtime.org/community/tags">error</category>
      <pubDate>Thu, 01 Jan 1970 00:00:00 GMT</pubDate>
      <author>webmaster@jivesoftware.com</author>
      <guid>http://www.igniterealtime.org/community/thread/30578</guid>
      <dc:date>1970-01-01T00:00:00Z</dc:date>
      <clearspace:dateToText>38 years, 9 months ago</clearspace:dateToText>
    </item>
    <item>
      <title />
      <link>http://www.igniterealtime.org/community/thread/32909</link>
      <description>&lt;!-- [DocumentBodyStart:9ca0d518-63a9-4fe4-b375-b1b0ea884328] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I've recently been working on getting a CA signed certificate installed in Openfire, requested through XMPP.net and it seems to "partially" work, but still keeps giving issues apparently.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;What I mean with "partially" is the fact that the &lt;strong&gt;certificate is accepted as CA signed&lt;/strong&gt; and installed properly in the keystore, the &lt;strong&gt;web admin&lt;/strong&gt; interface &lt;strong&gt;successfully negotiates SSL&lt;/strong&gt;, and presents a verified certificate in my browser. The client connection on 5223 also works without errors (nothing in the logs apart from regular authentication realm information in debug.log). What doesn't seem to work as it should is s2s connections, which uses a fallback (if I understood correctly) to server dialback in most cases, and the hostname in openfire is not accepted as valid (error is displayed for AltName). Some log excerpts below:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;-&lt;/p&gt;&lt;hr originalText="----"/&gt;&lt;h5&gt;&lt;span&gt;Outgoing server connection (debug log): &lt;/span&gt;&lt;/h5&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;2008.05.12 06:12:38 LocalOutgoingServerSession: OS - Trying to connect to jabber.org:5269(DNS lookup: jabber.org:5269)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;2008.05.12 06:12:39 LocalOutgoingServerSession: OS - Plain connection to jabber.org:5269 successful&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:12:39 LocalOutgoingServerSession: OS - Indicating we want TLS to jabber.org&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:12:40 LocalOutgoingServerSession: OS - Negotiating TLS with jabber.org*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:12:40&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;CertificateManager: SubjectAltName of invalid type found:&lt;/p&gt;&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;&lt;/span&gt;&lt;a class="jive-link-email-small" href="mailto:EMAILADDRESS=hostmaster@jabber.org"&gt;EMAILADDRESS=hostmaster@jabber.org&lt;/a&gt;&lt;span&gt;, CN=jabber.org, CN=*.jabber.org,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;OU=Domain validated only, O=XMPP Standards Foundation, L=Denver,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;ST=Colorado, C=US* &lt;/p&gt;&lt;p&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp; nbsp;&amp;nbsp;2008.05.12 06:12:40&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;CertificateManager: SubjectAltName of invalid type found:&lt;/p&gt;&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;&lt;/span&gt;&lt;a class="jive-link-email-small" href="mailto:EMAILADDRESS=hostmaster@jabber.org"&gt;EMAILADDRESS=hostmaster@jabber.org&lt;/a&gt;&lt;span&gt;, CN=jabber.org, CN=*.jabber.org,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;OU=Domain validated only, O=XMPP Standards Foundation, L=Denver,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;ST=Colorado, C=US* &lt;/p&gt;&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;2008.05.12 06:12:43 LocalOutgoingServerSession: OS - TLS negotiation with jabber.org was successful&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:12:45 LocalOutgoingServerSession: OS - Error, no SASL mechanisms were offered by jabber.org&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:12:45 LocalOutgoingServerSession: OS - Going to try connecting using server dialback with: jabber.org&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:12:45 ServerDialback: OS - Trying to connect to jabber.org:5269(DNS lookup: jabber.org:5269)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:12:55 ServerDialback: OS - Connection to jabber.org:5269 successful&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:12:55 ServerDialback: OS - Sent dialback key to host: jabber.org id: 3409094653 from domain: jabber.wolfbeast.com&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nbsp ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:12:59 Connect Socket[&lt;/span&gt;&lt;a class="jive-link-external-small" href="http://addr=/208.68.163.214,port=39719,localport=5269"&gt;http://addr=/208.68.163.214,port=39719,localport=5269&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://addr=/208.68.163.214,port=39719,localport=5269"&gt;http://addr=/208.68.163.214,port=39719,localport=5269&lt;/a&gt;&lt;span&gt;]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp; nbsp;&amp;nbsp;2008.05.12 06:13:02 ServerDialback: RS - Received dialback key from host: jabber.org to: jabber.wolfbeast.com&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nbsp ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:13:02 ServerDialback: RS - Trying to connect to Authoritative Server: jabber.org:5269(DNS lookup: jabber.org:5269)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:13:06 ServerDialback: RS - Connection to AS: jabber.org:5269 successful&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:13:06 ServerDialback: RS - Asking AS to verify dialback key for id6d7daf8c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:13:07 ServerDialback: RS - Key was VERIFIED by the Authoritative Server for: jabber.org&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:13:07 ServerDialback: RS - Closing connection to Authoritative Server: jabber.org&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:13:07 ServerDialback: RS - Sending key verification result to OS: jabber.org&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:13:07 ServerDialback: AS - Verifying key for host: jabber.org id: 3409094653&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:13:07 ServerDialback: AS - Key was: VALID for host: jabber.org id: 3409094653&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 06:13:14 ServerDialback: OS - Validation GRANTED from: jabber.org id: 3409094653 for domain: jabber.wolfbeast.com&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I get the same SubjectAltName error on my own certificate that was supplied by XMPP in the same way.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h5&gt;&lt;span&gt; &lt;/span&gt;&lt;/h5&gt;&lt;p&gt;-&lt;/p&gt;&lt;hr originalText="----"/&gt;&lt;h5&gt;&lt;span&gt;Incoming server connection (error log): &lt;/span&gt;&lt;/h5&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;2008.05.12 01:00:48 [org.jivesoftware.openfire.net.SocketReadingMode.negotiateTLS(SocketReadingMode .java:77)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;]&lt;strong&gt;Error while negotiating TLS&lt;/strong&gt;:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;org.jivesoftware.openfire.net.SocketConnection@c5294d socket:&lt;/p&gt;&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;Socket[&lt;/span&gt;&lt;a class="jive-link-external-small" href="http://addr=/194.109.23.90,port=56318,localport=5269"&gt;http://addr=/194.109.23.90,port=56318,localport=5269&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://addr=/194.109.23.90,port=56318,localport=5269"&gt;http://addr=/194.109.23.90,port=56318,localport=5269&lt;/a&gt;&lt;span&gt;] session:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;org.jivesoftware.openfire.session.LocalIncomingServerSession@1066d88&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;status: 1 address: jabber.wolfbeast.com/c3fd3030 id: c3fd3030&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;javax.net.ssl.&lt;strong&gt;SSLException: Unsupported record version Unknown-47.115&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;at com.sun.net.ssl.internal.ssl.EngineInputRecord.bytesInCompletePacket(Unknown Source)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;at com.sun.net.ssl.internal.ssl.SSLEngineImpl.readNetRecord(Unknown Source)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;at com.sun.net.ssl.internal.ssl.SSLEngineImpl.unwrap(Unknown Source)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.net.ssl.SSLEngine.unwrap(Unknown Source)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jivesoftware.openfire.net.TLSStreamHandler.doHandshake(TLSStreamHandler.jav a:212)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;&amp;nbsp;at org.jivesoftware.openfire.net.TLSStreamHandler.start(TLSStreamHandler.java:158) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;at org.jivesoftware.openfire.net.SocketConnection.startTLS(SocketConnection.java:1 66)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nbsp ;&amp;nbsp;&amp;nbsp;at org.jivesoftware.openfire.net.SocketReadingMode.negotiateTLS(SocketReadingMode. java:74)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jivesoftware.openfire.net.BlockingReadingMode.readStream(BlockingReadingMod e.java:127)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jivesoftware.openfire.net.BlockingReadingMode.run(BlockingReadingMode.java: 63)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nbsp ;&amp;nbsp;&amp;nbsp;at org.jivesoftware.openfire.net.SocketReader.run(SocketReader.java:120)&amp;nbsp;&amp;amp;nbs p;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.lang.Thread.run(Unknown Source)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;debug log for the same:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;&lt;span&gt;2008.05.12 01:00:48 Connect Socket[&lt;/span&gt;&lt;a class="jive-link-external-small" href="http://addr=/194.109.23.90,port=56318,localport=5269"&gt;http://addr=/194.109.23.90,port=56318,localport=5269&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://addr=/194.109.23.90,port=56318,localport=5269"&gt;http://addr=/194.109.23.90,port=56318,localport=5269&lt;/a&gt;&lt;span&gt;]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;2008.05.12 01:00:49 Connect Socket[&lt;/span&gt;&lt;a class="jive-link-external-small" href="http://addr=/194.109.23.90,port=59780,localport=5269"&gt;http://addr=/194.109.23.90,port=59780,localport=5269&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://addr=/194.109.23.90,port=59780,localport=5269"&gt;http://addr=/194.109.23.90,port=59780,localport=5269&lt;/a&gt;&lt;span&gt;]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp; nbsp;&amp;nbsp;2008.05.12 01:00:49 ServerDialback: RS - Received dialback key from host: jabber.xs4all.nl to: jabber.wolfbeast.com&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nbsp ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 01:00:49 ServerDialback: RS - Trying to connect to Authoritative Server: jabber.xs4all.nl:5269(DNS lookup: jabber.xs4all.nl:5269)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 01:00:49 ServerDialback: RS - Connection to AS: jabber.xs4all.nl:5269 successful&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 01:00:49 ServerDialback: RS - Asking AS to verify dialback key for id88391ee6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 01:00:49 ServerDialback: RS - Key was VERIFIED by the Authoritative Server for: jabber.xs4all.nl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 01:00:49 ServerDialback: RS - Closing connection to Authoritative Server: jabber.xs4all.nl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 01:00:49 ServerDialback: RS - Sending key verification result to OS: jabber.xs4all.nl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.12 01:00:49&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;001077 (01/03/00) - #3 registered a statement as closed which wasn't&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;known to be open. This could happen if you close a statement twice. &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp; nbsp;&amp;nbsp;2008.05.12 01:00:49 Connection closed before session established&lt;/p&gt;&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;Socket[&lt;/span&gt;&lt;a class="jive-link-external-small" href="http://addr=/194.109.23.90,port=56318,localport=5269"&gt;http://addr=/194.109.23.90,port=56318,localport=5269&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://addr=/194.109.23.90,port=56318,localport=5269"&gt;http://addr=/194.109.23.90,port=56318,localport=5269&lt;/a&gt;&lt;span&gt;]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp; nbsp;&amp;nbsp;2008.05.12 01:11:23&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;Logging off jabber.xs4all.nl on&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;org.jivesoftware.openfire.net.SocketConnection@1011f1f socket:&lt;/p&gt;&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;Socket[&lt;/span&gt;&lt;a class="jive-link-external-small" href="http://addr=/194.109.23.90,port=59780,localport=5269"&gt;http://addr=/194.109.23.90,port=59780,localport=5269&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://addr=/194.109.23.90,port=59780,localport=5269"&gt;http://addr=/194.109.23.90,port=59780,localport=5269&lt;/a&gt;&lt;span&gt;] session:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;org.jivesoftware.openfire.session.LocalIncomingServerSession@122f17b&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;n bsp;&amp;nbsp;status: 1 address: jabber.xs4all.nl id: 88391ee6&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;-&lt;/p&gt;&lt;hr originalText="----"/&gt;&lt;p&gt;I'm not sure if the incoming server connection error is a problem my end or a problem at xs4all. And I'm not a java programmer so I have no clue about most of these statements here...&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Some help appreciated! &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; Mark.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:9ca0d518-63a9-4fe4-b375-b1b0ea884328] --&gt;</description>
      <category domain="http://www.igniterealtime.org/community/tags">ssl</category>
      <category domain="http://www.igniterealtime.org/community/tags">tls</category>
      <category domain="http://www.igniterealtime.org/community/tags">certificate</category>
      <category domain="http://www.igniterealtime.org/community/tags">s2s</category>
      <pubDate>Thu, 01 Jan 1970 00:00:00 GMT</pubDate>
      <author>webmaster@jivesoftware.com</author>
      <guid>http://www.igniterealtime.org/community/thread/32909</guid>
      <dc:date>1970-01-01T00:00:00Z</dc:date>
      <clearspace:dateToText>38 years, 9 months ago</clearspace:dateToText>
    </item>
    <item>
      <title />
      <link>http://www.igniterealtime.org/community/thread/32759</link>
      <description>&lt;!-- [DocumentBodyStart:0326f0c0-4ce1-4ab7-836b-2dee8c73a4c3] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Does anyone know of a problem with the Open Fire server not handling PKI certificates correctly. I'm just starting to get into this (newbie) and could use some help. I've been told that if you're trying to authenticate with PKI, the client handles it correctly....but you can put an expired certificate on the server and when the server tries to authenticate, it will still work with an expired certificate.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Anyone know if this is true or not or have any experience with PKI authentication?&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Alex &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:0326f0c0-4ce1-4ab7-836b-2dee8c73a4c3] --&gt;</description>
      <category domain="http://www.igniterealtime.org/community/tags">pki</category>
      <category domain="http://www.igniterealtime.org/community/tags">server</category>
      <category domain="http://www.igniterealtime.org/community/tags">authentication</category>
      <category domain="http://www.igniterealtime.org/community/tags">ssl</category>
      <pubDate>Thu, 01 Jan 1970 00:00:00 GMT</pubDate>
      <author>alex.ferguson@navy.mil</author>
      <guid>http://www.igniterealtime.org/community/thread/32759</guid>
      <dc:date>1970-01-01T00:00:00Z</dc:date>
      <clearspace:dateToText>38 years, 9 months ago</clearspace:dateToText>
    </item>
    <item>
      <title />
      <link>http://www.igniterealtime.org/community/thread/32251</link>
      <description>&lt;!-- [DocumentBodyStart:7516731b-fb17-452d-ab57-6c3fceb18625] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I have been trying for about 1 day to get Openfire set up with SSL but have not succeeded. I am not a novice yet I am just unable to set it up. Here is what I have right now:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;1. My domain is "im.spinaxys.com"&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;2. Decrypted private key in PEM format&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;-&lt;/p&gt;&lt;hr originalText="----"/&gt;&lt;p&gt;BEGIN RSA PRIVATE KEY-----&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;0DDqOMbM6JWGZigMsUIjFfZgi9bIQItifQpRmiOmh9fFS4nKXfFtAyc1bKANALQs&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;-&lt;/p&gt;&lt;hr originalText="----"/&gt;&lt;p&gt;END RSA PRIVATE KEY-----&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;3. Wild card signed certificate for "*.spinaxys.com" in PEM FORMAT&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;-&lt;/p&gt;&lt;hr originalText="----"/&gt;&lt;p&gt;BEGIN CERTIFICATE-----&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;MIIINzCCBx+gAwIBAgIDAathMA0GCSqGSIb3DQEBBQUAMIG2MQswCQYDVQQGEwJJ&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;-&lt;/p&gt;&lt;hr originalText="----"/&gt;&lt;p&gt;END CERTIFICATE-----&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span&gt;4. CA (&lt;/span&gt;&lt;a class="jive-link-external-small" href="http://cert.startcom.org/"&gt;http://cert.startcom.org/&lt;/a&gt;&lt;span&gt;) root certificate in PEM format (I believe this CA is already part of openfire trusted CAs)&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;-&lt;/p&gt;&lt;hr originalText="----"/&gt;&lt;p&gt;BEGIN CERTIFICATE-----&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;MIIFFjCCBH+gAwIBAgIBADANBgkqhkiG9w0BAQQFADCBsDELMAkGA1UEBhMCSUwx&lt;/p&gt;&lt;p&gt;.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;-&lt;/p&gt;&lt;hr originalText="----"/&gt;&lt;p&gt;END CERTIFICATE-----&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;5. CA intermediate certificate&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;-&lt;/p&gt;&lt;hr originalText="----"/&gt;&lt;p&gt;BEGIN CERTIFICATE-----&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;MIIHdzCCBuCgAwIBAgIBAjANBgkqhkiG9w0BAQQFADCBsDELMAkGA1UEBhMCSUwx&lt;/p&gt;&lt;p&gt;.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;-&lt;/p&gt;&lt;hr originalText="----"/&gt;&lt;p&gt;END CERTIFICATE-----&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I guess this is all that is ever needed to set up SSL support for a server. I must have read atleast a zillion documents trying to achive this but to no use&amp;nbsp; :).&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I would be really grateful if anyone could give step by step instructions on how to set up SSL in openfire with the above files. Thanks !!! &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:7516731b-fb17-452d-ab57-6c3fceb18625] --&gt;</description>
      <category domain="http://www.igniterealtime.org/community/tags">openfire</category>
      <category domain="http://www.igniterealtime.org/community/tags">ssl</category>
      <pubDate>Thu, 01 Jan 1970 00:00:00 GMT</pubDate>
      <author>webmaster@jivesoftware.com</author>
      <guid>http://www.igniterealtime.org/community/thread/32251</guid>
      <dc:date>1970-01-01T00:00:00Z</dc:date>
      <clearspace:dateToText>38 years, 9 months ago</clearspace:dateToText>
    </item>
    <item>
      <title />
      <link>http://www.igniterealtime.org/community/thread/32026</link>
      <description>&lt;!-- [DocumentBodyStart:f24e8f1b-0066-408d-b329-b71b581321de] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;I'm new to the openfire/spark community.&amp;nbsp; I was wondering if someone could explain to me how the chats are encrypted.&amp;nbsp; When I read the SSL documentation for openfire, step 6 talks about importing the client certs into the truststore.&amp;nbsp; I need to do that before the chats are encrypted?&amp;nbsp; How can I possibly know who all my clients are to import all their certs?&amp;nbsp; I need someone to help me understand the process better.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:f24e8f1b-0066-408d-b329-b71b581321de] --&gt;</description>
      <category domain="http://www.igniterealtime.org/community/tags">ssl</category>
      <category domain="http://www.igniterealtime.org/community/tags">openfire</category>
      <category domain="http://www.igniterealtime.org/community/tags">encryption</category>
      <category domain="http://www.igniterealtime.org/community/tags">spark</category>
      <category domain="http://www.igniterealtime.org/community/tags">certificates</category>
      <pubDate>Thu, 01 Jan 1970 00:00:00 GMT</pubDate>
      <author>kate223@gmail.com</author>
      <guid>http://www.igniterealtime.org/community/thread/32026</guid>
      <dc:date>1970-01-01T00:00:00Z</dc:date>
      <clearspace:dateToText>38 years, 9 months ago</clearspace:dateToText>
    </item>
    <item>
      <title />
      <link>http://www.igniterealtime.org/community/thread/31884</link>
      <description>&lt;!-- [DocumentBodyStart:db56937a-2c98-4d51-bb77-d6791480eaef] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I am settiing up a proof of concept OpenFire 3.45 server running on Ubuntu Gutsy.&amp;nbsp; Before we integreate with our LDAP&amp;nbsp; &amp;amp; Shibboleth infrastructure I need to find a configuration that if the server certificate changes the client will notify the user of the change in certificate.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;When I used Spark or Pidgin I connect fine but when I change the cert it still connects and there is no indication of a change in cert.&amp;nbsp; When I use https to connect to the management interface I do see a warning about the change in cert.&amp;nbsp; I tried using PSI and as soon as I turn on SSL PSI breaks. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Finally I tried using SparkWeb and I get a 404 error:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; HTTP ERROR: 404&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span class="jive-noformat-content"&gt;NOT_FOUND&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;RequestURI=/&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;a class="jive-link-external-small" href="http://jetty.mortbay.org/"&gt;Powered by Jetty://&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I am new to OpenFire and previously have only used Jabber/Pidgin as a user.&amp;nbsp; Any suggestions and troubleshooting tips would be greatly appreciated.&amp;nbsp; This is not in production so I have no problem running 3.5rc1 if that would make any difference. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thanks&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;-PaulK &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:db56937a-2c98-4d51-bb77-d6791480eaef] --&gt;</description>
      <category domain="http://www.igniterealtime.org/community/tags">ssl</category>
      <category domain="http://www.igniterealtime.org/community/tags">certificate</category>
      <category domain="http://www.igniterealtime.org/community/tags">security</category>
      <pubDate>Thu, 01 Jan 1970 00:00:00 GMT</pubDate>
      <author>pkeser@stanford.edu</author>
      <guid>http://www.igniterealtime.org/community/thread/31884</guid>
      <dc:date>1970-01-01T00:00:00Z</dc:date>
      <clearspace:dateToText>38 years, 9 months ago</clearspace:dateToText>
    </item>
    <item>
      <title />
      <link>http://www.igniterealtime.org/community/thread/31891</link>
      <description>&lt;!-- [DocumentBodyStart:9026df42-a832-4882-b32f-4090091861a1] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p&gt;Trying to get a SSL cert from ipsca to load into openfire. Used keytool to add the ipsca intermediate cert into truststore. Restarted services and had openfire create signed request. Sent to ipsca the RSA and received reply back with cert. Pasted certificate authority reply and get the error: &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;An error occured while importing the Certificate Authority reply. Verify that the reply is correct and that it belongs to the correct certificate &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Any help would be great as we are trying to implement this with our work request system which is already on SSL!!! &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thanks&lt;/p&gt;&lt;p&gt;Pat &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:9026df42-a832-4882-b32f-4090091861a1] --&gt;</description>
      <category domain="http://www.igniterealtime.org/community/tags">ssl</category>
      <pubDate>Thu, 01 Jan 1970 00:00:00 GMT</pubDate>
      <author>webmaster@jivesoftware.com</author>
      <guid>http://www.igniterealtime.org/community/thread/31891</guid>
      <dc:date>1970-01-01T00:00:00Z</dc:date>
      <clearspace:dateToText>38 years, 9 months ago</clearspace:dateToText>
    </item>
    <item>
      <title />
      <link>http://www.igniterealtime.org/community/thread/31745</link>
      <description>&lt;!-- [DocumentBodyStart:5c340ed2-daba-45dc-a2e1-4ee34d6c2165] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Greetings,&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;My ignorance is probably to blame here, but I can not seem to get my GeoTrust signed SSL cert to work with Openfire 3.4.4 .&amp;nbsp; I have two files in my possesion, one that is topped with '--&lt;del&gt;-BEGIN CERTIFICATE&lt;/del&gt;&lt;del&gt;-' and the other with '&lt;/del&gt;&lt;del&gt;-BEGIN PRIVATE KEY&lt;/del&gt;---'.&amp;nbsp; (I got this cert from my web hoster).&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;So, if I import this cert via the admin console, Openfire takes it, but then firefox can't connect to the console complaining about corrupt cert or no supported algorithms found.&amp;nbsp; Hmmmm.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;So then I try the manual keytool method and get tracebacks.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;When I try to import the private key and cert via the console, I get tracebacks &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;java.lang.NullPointerException&lt;/p&gt;&lt;p&gt;at org.jivesoftware.util.CertificateManager.installCert(CertificateManager.java:50 1)&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The key and cert work as expected with Apache.&amp;nbsp; I must be missing some step.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;(Looking my post last year about this problem, I see I was able to do a hack with keytool, but this never resulted in a cert that openfire thought was valid). &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;thanks, &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;daryl&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:5c340ed2-daba-45dc-a2e1-4ee34d6c2165] --&gt;</description>
      <category domain="http://www.igniterealtime.org/community/tags">ssl</category>
      <category domain="http://www.igniterealtime.org/community/tags">certificate</category>
      <pubDate>Thu, 01 Jan 1970 00:00:00 GMT</pubDate>
      <author>akrherz@iastate.edu</author>
      <guid>http://www.igniterealtime.org/community/thread/31745</guid>
      <dc:date>1970-01-01T00:00:00Z</dc:date>
      <clearspace:dateToText>38 years, 9 months ago</clearspace:dateToText>
    </item>
    <item>
      <title />
      <link>http://www.igniterealtime.org/community/thread/29581</link>
      <description>&lt;!-- [DocumentBodyStart:ef5e6944-15a0-4d38-9204-72eb6e12a7ea] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;All kidding aside, I can not establish a secure connection from latest stable iChat, using a proven working, good, internal jabber account on our openfire server, to our internal server running centOS 4.5, all updates, and openfire 3.3.3.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I believe that I have tried every possibility of the security settings and none work. Turns out we actually havent been using iCaht much but now have the need for it. We have been using Adium or Spark on most of our client's machines for the last year or so, but .... here is the thing, I know for a fact that I did test this scenario about a year ago, whatever version of wildfire that that was, and it worked. I woder what is different today, sure lots has changed, but dont know which side has changed in such a way as to not allow this to work. I tried connecting to ports 5222 &amp;amp; 5223 in lots of configurations inside iChat.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Any insight from someone who has this working is most appreciated. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Completely off the topi, is anyone using iChat with openfire &amp;amp; using the video (ie: iSight) during their chat? I am headed to Asia for a while &amp;amp; I really need to&lt;/p&gt;&lt;p&gt; get video cracking &amp;amp; really prefer that that video stay secure &amp;amp; internal.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thanks so much.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; Cheers.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Jason Sjobeck&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;sjobeck.com&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:ef5e6944-15a0-4d38-9204-72eb6e12a7ea] --&gt;</description>
      <category domain="http://www.igniterealtime.org/community/tags">ichat</category>
      <category domain="http://www.igniterealtime.org/community/tags">openfire</category>
      <category domain="http://www.igniterealtime.org/community/tags">secure</category>
      <category domain="http://www.igniterealtime.org/community/tags">ssl</category>
      <category domain="http://www.igniterealtime.org/community/tags">tls</category>
      <pubDate>Thu, 01 Jan 1970 00:00:00 GMT</pubDate>
      <author>support@sjobeck.com</author>
      <guid>http://www.igniterealtime.org/community/thread/29581</guid>
      <dc:date>1970-01-01T00:00:00Z</dc:date>
      <clearspace:dateToText>38 years, 9 months ago</clearspace:dateToText>
    </item>
    <item>
      <title />
      <link>http://www.igniterealtime.org/community/docs/DOC-1243</link>
      <description>&lt;!-- [DocumentBodyStart:b375518a-9eab-4d77-9c5a-86aac280b646] --&gt;&lt;div class='jive-rendered-content'&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I want to be able to communicate with an Openfire server using SSL. The Server must be able to prove that they are who they say they are, so that you can trust that any communications going on are secure.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Operate Openfire over TLS using signed server certificates. This entails having a matched public/private key pair to encode all transactions. All Openfire users will encode their communications using your public key. These encoded transmissions will then only be able to be decoded with your private key. If you have your public key certified by a trusted authority (a Certificate Authority) then Openfire clients can trust that their connections with your Openfire server are secure.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Instructions:&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;To get this Signed Certificate on your Openfire server, you'll need three things:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1)&lt;/strong&gt; A public/private key pair to encrypt/decrypt messages&lt;/p&gt;&lt;p&gt;-You will generate this yourself as a Certificate Signing Request which you will then have signed by your chosen Certificate Authority (CA) and an associated private key&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2)&lt;/strong&gt; A certificate for your server signed by an external CA (Certificate Authority)&lt;/p&gt;&lt;p&gt;-You will have to request this from a CA of your choosing using your CSR&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3)&lt;/strong&gt; The public certificate of your CA&lt;/p&gt;&lt;p&gt;-This will be freely distributed by your CA, and might also require a certificate chain containing the certificates for all the higher level (root) CA's that have authorized your CA.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;One you have these three things, you'll need to import them into Openfire.&lt;/p&gt;&lt;p&gt;The following steps will guide you through the process of obtaining and then importing your certificates:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step 1: Generating a CSR &amp;amp; Private Key&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;You can generate a CSR / Private key pair using the tool of your choice. There are many free tools available online (&lt;a class="jive-link-external-small" href="http://www.myssl.cn/english/openssl/CreateCSR.asp"&gt;an example&lt;/a&gt;) or you could use the &lt;a class="jive-link-external-small" href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/keytool.html"&gt;Java keytool&lt;/a&gt; to generate a CSR. Be warned, if you generate a CSR with the keytool the private key will be kept in the tool, so take care to read the &lt;a class="jive-link-external-small" href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/keytool.html"&gt;keytool documentation&lt;/a&gt; and only generate a CSR &lt;em&gt;once&lt;/em&gt; to make sure that your CSR and Private Key match.&lt;/p&gt;&lt;p&gt;Whatever tool you use, keep a copy of both the CSR and the Private key, and be sure to keep them matched -- you'll need the private key for your specific CSR when you get your signed certificate.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Pending bugs &lt;a class="jive-link-external-small" href="http://www.igniterealtime.org/issues/browse/JM-1140"&gt;JM-1140&lt;/a&gt; and &lt;a class="jive-link-external-small" href="http://www.igniterealtime.org/issues/browse/JM-1139"&gt;JM-1139&lt;/a&gt; it will be possible to create a CSR and private key pair in Openfire.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step 2: Getting Your Signed Certificate&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;This step will involve deciding upon a Certificate Authority, and likely paying your chosen CA to have your certificate request signed.&lt;/p&gt;&lt;p&gt;You will send your generated CSR to your chosen CA (keep the private key to yourself.) The CA will send you in reply two things: A signed copy of your certificate, and their public certificate which may their own cert as well as their certificate chain or just their cert.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step 3: Making Openfire Recognize Your CA&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Using the java keytool, you will need to add your CA's certificate to the openfire truststore (located in &amp;amp;lt;&amp;amp;lt;openfire dir&amp;amp;gt;&amp;amp;gt;\resources\security.) The keytool command to import your CA certs into your truststore is roughly as follows:&lt;/p&gt;&lt;p&gt;keytool -import -alias &amp;amp;lt;&amp;amp;lt;CA alias&amp;amp;gt;&amp;amp;gt; -file &amp;amp;lt;&amp;amp;lt;CA cert file&amp;amp;gt;&amp;amp;gt; -keystore &amp;amp;lt;&amp;amp;lt;openfire dir&amp;amp;gt;&amp;amp;gt;\resources\security\truststore&lt;/p&gt;&lt;p&gt;You will need to execute this command once for each certificate file sent to you by your CA.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step 4: Importing Your Signed Certificate into Openfire&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;If you created your certificate request and private key using the built-in openfire tool, then importing the signed certificates is a simple matter of putting the signed cert in the "Certificate Authority Reply" box in the Server Certificates interface in the admin console.&lt;/p&gt;&lt;p&gt;For more information see the &lt;a class="jive-link-external-small" href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/keytool.html"&gt;Java keytool documentation&lt;/a&gt;.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;If you created your certificate request and private key with the java keytool, you will need to import the CA reply into the Openfire keystore (&amp;amp;lt;&amp;amp;lt;openfire dir&amp;amp;gt;&amp;amp;gt;\resources\security\keystore) using the same method as importing your CA's certificate in step 3.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;If you created your certificate request and private key with an external tool, you will be able to import these through a hidden interface in the openfire admin console: &amp;amp;lt;&amp;amp;lt;admin url&amp;amp;gt;&amp;amp;gt;/import-certificate.jsp. Just navigate to that page, paste your signed certificate and private key into the appropriate boxes, and click save. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Step 4a Importing certificate from a Certificate installed in Windows, Extracting Private Key from a currently installed certificate by exporting to PFX file&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p&gt;If you received a certificate from your provider, installed it on your windows system and have no idea what a private key is then these instructions should hopefully help. &lt;br/&gt; If you already have a certificate backup (PFX file) skip step 1 otherwise first we need to create a Full Backup which includes a Private Key &lt;br/&gt; &lt;strong&gt;Step 1&lt;/strong&gt; &lt;br/&gt; 1.) Start &amp;amp;gt; Run &lt;br/&gt; 2.) Type in MMC and click OK &lt;br/&gt; 3.) Go into the File Tab &amp;amp;gt; select Add/Remove Snap-in... &lt;br/&gt; 4.) Click on Add &amp;amp;gt; Double Click on Certificates and click on Add &amp;amp;gt; OK &lt;br/&gt; 5.) Select Computer Account &lt;br/&gt; 6.) Select Local Computer &lt;br/&gt; 7.) Click the + to Expand the Certificates Console Tree &lt;br/&gt; 8.) Look for the Personal directory/folder and expand Certificates. &lt;br/&gt; 9.) Right Click on the Certificate you would like to backup and choose &amp;amp;gt; ALL TASKS &amp;amp;gt; Export &lt;br/&gt; 10.) Follow the Certificate Export Wizard to backup your certificate to a .pfx file &lt;br/&gt; 11.) Choose to 'Yes, export the private key' &lt;br/&gt; 12.) Choose to include all certificates in certificate path if possible. (&lt;strong&gt;do NOT select the delete Private Key option&lt;/strong&gt;) &lt;br/&gt; 13.) Leave default settings &amp;amp;gt; Enter a password of your choice &lt;br/&gt; 14.) Choose to save file on a set location (something easy like c:\mycert.pfx) &lt;br/&gt; 15.) Finish &lt;br/&gt; 16.) You will receive a message &amp;amp;gt; Export Successful &lt;br/&gt; 17.) The .pfx file backup is now saved in the location you specified &lt;br/&gt; &lt;strong&gt;Step 2&lt;/strong&gt; &lt;br/&gt; Now you will need OpenSSL compiled binary from windows, easiest I have found is: &lt;br/&gt; &lt;a class="jive-link-external-small" href="http://www.slproweb.com/products/Win32OpenSSL.html"&gt;http://www.slproweb.com/products/Win32OpenSSL.html&lt;/a&gt; &lt;br/&gt; by default this is installed into "c:\openssl" &lt;br/&gt; you now need to run this command to extract the details required to import into OpenFire &lt;br/&gt; c:\openssl\bin\openssl.exe pkcs12 -in c:\mycert.pfx -out c:\outputfile.txt -nodes &lt;br/&gt; (where c:\mycert.pfx is the location of the exported certificate of the previous step) &lt;br/&gt; If you open up the outputfile, this contain the certificate and well at something like this: &lt;br/&gt; -&lt;/p&gt;&lt;hr originalText="----"/&gt;&lt;p&gt;BEGIN RSA PRIVATE KEY--&lt;del&gt;- &lt;br/&gt; (Block of Random Text) &lt;br/&gt; -&lt;hr originalText="----"/&gt;END RSA PRIVATE KEY&lt;/del&gt;&lt;del&gt;- &lt;br/&gt; &lt;strong&gt;Step 3&lt;/strong&gt; &lt;br/&gt; Open up the &amp;amp;lt;&amp;amp;lt;Openfire admin url&amp;amp;gt;&amp;amp;gt;/import-certificate.jsp &lt;br/&gt; &lt;strong&gt;Pass Phrase:&lt;/strong&gt; enter the password you used when creating the Backup file in the 1st step &lt;br/&gt; &lt;strong&gt;Private Key:&lt;/strong&gt; enter this section from the output file (including the BEGIN and END lines): &lt;br/&gt; -&lt;hr originalText="----"/&gt;BEGIN RSA PRIVATE KEY&lt;/del&gt;&lt;del&gt;- &lt;br/&gt; (Private Key Content) &lt;br/&gt; -&lt;hr originalText="----"/&gt;END RSA PRIVATE KEY&lt;/del&gt;&lt;del&gt;- &lt;br/&gt; &lt;strong&gt;Certificate Content:&lt;/strong&gt; enter this section from the outfile (including the BEGIN and END lines): &lt;br/&gt; -&lt;hr originalText="----"/&gt;BEGIN CERTIFICATE&lt;/del&gt;&lt;del&gt;- &lt;br/&gt; (Certificate Content) &lt;br/&gt; -&lt;hr originalText="----"/&gt;END CERTIFICATE&lt;/del&gt;--- &lt;br/&gt; Click Save and your certificate should now be available in Openfire.&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;You will now be able to communicate in openfire through a trusted TLS connection. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:b375518a-9eab-4d77-9c5a-86aac280b646] --&gt;</description>
      <category domain="http://www.igniterealtime.org/community/tags">ssl</category>
      <category domain="http://www.igniterealtime.org/community/tags">guide</category>
      <category domain="http://www.igniterealtime.org/community/tags">openfire</category>
      <category domain="http://www.igniterealtime.org/community/tags">security</category>
      <category domain="http://www.igniterealtime.org/community/tags">signed_cert</category>
      <pubDate>Thu, 01 Jan 1970 00:00:00 GMT</pubDate>
      <author>michael@nqmining.com.au</author>
      <guid>http://www.igniterealtime.org/community/docs/DOC-1243</guid>
      <dc:date>1970-01-01T00:00:00Z</dc:date>
      <clearspace:dateToText>38 years, 9 months ago</clearspace:dateToText>
    </item>
  </channel>
</rss>

