<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SSLFilter xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/io/filter/SSLFilter.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="comment">/*</em>
<a name="2" href="#2">2</a>   <em class="comment"> *   @(#) $Id: SSLFilter.java 327113 2005-10-21 06:59:15Z trustin $</em>
<a name="3" href="#3">3</a>   <em class="comment"> *</em>
<a name="4" href="#4">4</a>   <em class="comment"> *   Copyright 2004 The Apache Software Foundation</em>
<a name="5" href="#5">5</a>   <em class="comment"> *</em>
<a name="6" href="#6">6</a>   <em class="comment"> *   Licensed under the Apache License, Version 2.0 (the "License");</em>
<a name="7" href="#7">7</a>   <em class="comment"> *   you may not use this file except in compliance with the License.</em>
<a name="8" href="#8">8</a>   <em class="comment"> *   You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="comment"> *</em>
<a name="10" href="#10">10</a>  <em class="comment"> *       <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="11" href="#11">11</a>  <em class="comment"> *</em>
<a name="12" href="#12">12</a>  <em class="comment"> *   Unless required by applicable law or agreed to in writing, software</em>
<a name="13" href="#13">13</a>  <em class="comment"> *   distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="14" href="#14">14</a>  <em class="comment"> *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="15" href="#15">15</a>  <em class="comment"> *   See the License for the specific language governing permissions and</em>
<a name="16" href="#16">16</a>  <em class="comment"> *   limitations under the License.</em>
<a name="17" href="#17">17</a>  <em class="comment"> *</em>
<a name="18" href="#18">18</a>  <em class="comment"> */</em>
<a name="19" href="#19">19</a>  <strong>package</strong> <a href="../../../../../org/apache/mina/io/filter/package-summary.html">org.apache.mina.io.filter</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> javax.net.ssl.SSLContext;
<a name="22" href="#22">22</a>  <strong>import</strong> javax.net.ssl.SSLEngine;
<a name="23" href="#23">23</a>  <strong>import</strong> javax.net.ssl.SSLException;
<a name="24" href="#24">24</a>  <strong>import</strong> javax.net.ssl.SSLHandshakeException;
<a name="25" href="#25">25</a>  <strong>import</strong> javax.net.ssl.SSLSession;
<a name="26" href="#26">26</a>  
<a name="27" href="#27">27</a>  <strong>import</strong> org.apache.mina.common.ByteBuffer;
<a name="28" href="#28">28</a>  <strong>import</strong> org.apache.mina.io.IoFilterAdapter;
<a name="29" href="#29">29</a>  <strong>import</strong> org.apache.mina.io.IoHandler;
<a name="30" href="#30">30</a>  <strong>import</strong> org.apache.mina.io.IoSession;
<a name="31" href="#31">31</a>  <strong>import</strong> org.slf4j.Logger;
<a name="32" href="#32">32</a>  <strong>import</strong> org.slf4j.LoggerFactory;
<a name="33" href="#33">33</a>  
<a name="34" href="#34">34</a>  <em>/**<em>*</em></em>
<a name="35" href="#35">35</a>  <em> * An SSL filter that encrypts and decrypts the data exchanged in the session.</em>
<a name="36" href="#36">36</a>  <em> * This filter uses an {@link SSLEngine} which was introduced in Java 5, so </em>
<a name="37" href="#37">37</a>  <em> * Java version 5 or above is mandatory to use this filter. And please note that</em>
<a name="38" href="#38">38</a>  <em> * this filter only works for TCP/IP connections.</em>
<a name="39" href="#39">39</a>  <em> * &lt;p></em>
<a name="40" href="#40">40</a>  <em> * This filter logs debug information using {@link Logger}.</em>
<a name="41" href="#41">41</a>  <em> * </em>
<a name="42" href="#42">42</a>  <em> * &lt;h2>Implementing StartTLS&lt;/h2></em>
<a name="43" href="#43">43</a>  <em> * &lt;p></em>
<a name="44" href="#44">44</a>  <em> * You can use {@link #DISABLE_ENCRYPTION_ONCE} attribute to implement StartTLS:</em>
<a name="45" href="#45">45</a>  <em> * &lt;pre></em>
<a name="46" href="#46">46</a>  <em> * public void messageReceived(ProtocolSession session, Object message) {</em>
<a name="47" href="#47">47</a>  <em> *    if (message instanceof MyStartTLSRequest) {</em>
<a name="48" href="#48">48</a>  <em> *        // Insert SSLFilter to get ready for handshaking</em>
<a name="49" href="#49">49</a>  <em> *        IoSession ioSession = ((IoProtocolSession) session).getIoSession();</em>
<a name="50" href="#50">50</a>  <em> *        ioSession.getFilterChain().addLast(sslFilter);</em>
<a name="51" href="#51">51</a>  <em> *</em>
<a name="52" href="#52">52</a>  <em> *        // Disable encryption temporarilly.</em>
<a name="53" href="#53">53</a>  <em> *        // This attribute will be removed by SSLFilter</em>
<a name="54" href="#54">54</a>  <em> *        // inside the Session.write() call below.</em>
<a name="55" href="#55">55</a>  <em> *        session.setAttribute(SSLFilter.DISABLE_ENCRYPTION_ONCE, Boolean.TRUE);</em>
<a name="56" href="#56">56</a>  <em> *</em>
<a name="57" href="#57">57</a>  <em> *        // Write StartTLSResponse which won't be encrypted.</em>
<a name="58" href="#58">58</a>  <em> *        session.write(new MyStartTLSResponse(OK));</em>
<a name="59" href="#59">59</a>  <em> *        </em>
<a name="60" href="#60">60</a>  <em> *        // Now DISABLE_ENCRYPTION_ONCE attribute is cleared.</em>
<a name="61" href="#61">61</a>  <em> *        assert session.getAttribute(SSLFilter.DISABLE_ENCRYPTION_ONCE) == null;</em>
<a name="62" href="#62">62</a>  <em> *    }</em>
<a name="63" href="#63">63</a>  <em> * }</em>
<a name="64" href="#64">64</a>  <em> * &lt;/pre></em>
<a name="65" href="#65">65</a>  <em> * </em>
<a name="66" href="#66">66</a>  <em> * @author The Apache Directory Project (dev@directory.apache.org)</em>
<a name="67" href="#67">67</a>  <em> * @version $Rev: 327113 $, $Date: 2005-10-21 15:59:15 +0900 $</em>
<a name="68" href="#68">68</a>  <em> */</em>
<a name="69" href="#69">69</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../../org/apache/mina/io/filter/SSLFilter.html">SSLFilter</a> <strong>extends</strong> <a href="../../../../../org/apache/mina/io/IoFilterAdapter.html">IoFilterAdapter</a>
<a name="70" href="#70">70</a>  {
<a name="71" href="#71">71</a>      <em>/**<em>*</em></em>
<a name="72" href="#72">72</a>  <em>     * A session attribute key that stores underlying {@link SSLSession}</em>
<a name="73" href="#73">73</a>  <em>     * for each session.</em>
<a name="74" href="#74">74</a>  <em>     */</em>
<a name="75" href="#75">75</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> String SSL_SESSION = SSLFilter.<strong>class</strong>.getName() + <span class="string">".SSLSession"</span>;
<a name="76" href="#76">76</a>      
<a name="77" href="#77">77</a>      <em>/**<em>*</em></em>
<a name="78" href="#78">78</a>  <em>     * A session attribute key that makes next one write request bypass</em>
<a name="79" href="#79">79</a>  <em>     * this filter (not encrypting the data).  This is a marker attribute,</em>
<a name="80" href="#80">80</a>  <em>     * which means that you can put whatever as its value. ({@link Boolean#TRUE}</em>
<a name="81" href="#81">81</a>  <em>     * is preferred.)  The attribute is automatically removed from the session</em>
<a name="82" href="#82">82</a>  <em>     * attribute map as soon as {@link IoSession#write(ByteBuffer, Object)} is</em>
<a name="83" href="#83">83</a>  <em>     * invoked, and therefore should be put again if you want to make more</em>
<a name="84" href="#84">84</a>  <em>     * messages bypass this filter.  This is especially useful when you</em>
<a name="85" href="#85">85</a>  <em>     * implement StartTLS.   </em>
<a name="86" href="#86">86</a>  <em>     */</em>
<a name="87" href="#87">87</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> String DISABLE_ENCRYPTION_ONCE = SSLFilter.<strong>class</strong>.getName() + <span class="string">".DisableEncryptionOnce"</span>;
<a name="88" href="#88">88</a>      
<a name="89" href="#89">89</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String SSL_HANDLER = SSLFilter.<strong>class</strong>.getName() + <span class="string">".SSLHandler"</span>;
<a name="90" href="#90">90</a>  
<a name="91" href="#91">91</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> Logger log = LoggerFactory.getLogger( SSLFilter.<strong>class</strong> );
<a name="92" href="#92">92</a>  
<a name="93" href="#93">93</a>      <em>/**<em>*</em></em>
<a name="94" href="#94">94</a>  <em>     * A marker which is passed with {@link IoHandler#dataWritten(IoSession, Object)}</em>
<a name="95" href="#95">95</a>  <em>     * when &lt;tt>SSLFilter&lt;/tt> writes data other then user actually requested.</em>
<a name="96" href="#96">96</a>  <em>     */</em>
<a name="97" href="#97">97</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> Object SSL_MARKER = <strong>new</strong> Object()
<a name="98" href="#98">98</a>      {
<a name="99" href="#99">99</a>          <strong>public</strong> String toString()
<a name="100" href="#100">100</a>         {
<a name="101" href="#101">101</a>             <strong>return</strong> <span class="string">"SSL_MARKER"</span>;
<a name="102" href="#102">102</a>         }
<a name="103" href="#103">103</a>     };
<a name="104" href="#104">104</a>     
<a name="105" href="#105">105</a>     <em class="comment">// SSL Context</em>
<a name="106" href="#106">106</a>     <strong>private</strong> SSLContext sslContext;
<a name="107" href="#107">107</a> 
<a name="108" href="#108">108</a>     <strong>private</strong> <strong>boolean</strong> client;
<a name="109" href="#109">109</a>     <strong>private</strong> <strong>boolean</strong> needClientAuth;
<a name="110" href="#110">110</a>     <strong>private</strong> <strong>boolean</strong> wantClientAuth;
<a name="111" href="#111">111</a>     <strong>private</strong> String[] enabledCipherSuites;
<a name="112" href="#112">112</a>     <strong>private</strong> String[] enabledProtocols;
<a name="113" href="#113">113</a> 
<a name="114" href="#114">114</a>     <em>/**<em>*</em></em>
<a name="115" href="#115">115</a> <em>     * Creates a new SSL filter using the specified {@link SSLContext}.</em>
<a name="116" href="#116">116</a> <em>     */</em>
<a name="117" href="#117">117</a>     <strong>public</strong> <a href="../../../../../org/apache/mina/io/filter/SSLFilter.html">SSLFilter</a>( SSLContext sslContext )
<a name="118" href="#118">118</a>     {
<a name="119" href="#119">119</a>         <strong>if</strong>( sslContext == <strong>null</strong> )
<a name="120" href="#120">120</a>         {
<a name="121" href="#121">121</a>             <strong>throw</strong> <strong>new</strong> NullPointerException( <span class="string">"sslContext"</span> );
<a name="122" href="#122">122</a>         }
<a name="123" href="#123">123</a> 
<a name="124" href="#124">124</a>         <strong>this</strong>.sslContext = sslContext;
<a name="125" href="#125">125</a>     }
<a name="126" href="#126">126</a>     
<a name="127" href="#127">127</a>     <em>/**<em>*</em></em>
<a name="128" href="#128">128</a> <em>     * Returns the underlying {@link SSLSession} for the specified session.</em>
<a name="129" href="#129">129</a> <em>     * </em>
<a name="130" href="#130">130</a> <em>     * @return &lt;tt>null&lt;/tt> if no {@link SSLSession} is initialized yet.</em>
<a name="131" href="#131">131</a> <em>     */</em>
<a name="132" href="#132">132</a>     <strong>public</strong> SSLSession getSSLSession( IoSession session )
<a name="133" href="#133">133</a>     {
<a name="134" href="#134">134</a>         <strong>return</strong> ( SSLSession ) session.getAttribute( SSL_SESSION );
<a name="135" href="#135">135</a>     }
<a name="136" href="#136">136</a> 
<a name="137" href="#137">137</a>     <em>/**<em>*</em></em>
<a name="138" href="#138">138</a> <em>     * Returns &lt;tt>true&lt;/tt> if the engine is set to use client mode</em>
<a name="139" href="#139">139</a> <em>     * when handshaking.</em>
<a name="140" href="#140">140</a> <em>     */</em>
<a name="141" href="#141">141</a>     <strong>public</strong> <strong>boolean</strong> isUseClientMode()
<a name="142" href="#142">142</a>     {
<a name="143" href="#143">143</a>         <strong>return</strong> client;
<a name="144" href="#144">144</a>     }
<a name="145" href="#145">145</a>     
<a name="146" href="#146">146</a>     <em>/**<em>*</em></em>
<a name="147" href="#147">147</a> <em>     * Configures the engine to use client (or server) mode when handshaking.</em>
<a name="148" href="#148">148</a> <em>     */</em>
<a name="149" href="#149">149</a>     <strong>public</strong> <strong>void</strong> setUseClientMode( <strong>boolean</strong> clientMode )
<a name="150" href="#150">150</a>     {
<a name="151" href="#151">151</a>         <strong>this</strong>.client = clientMode;
<a name="152" href="#152">152</a>     }
<a name="153" href="#153">153</a>     
<a name="154" href="#154">154</a>     <em>/**<em>*</em></em>
<a name="155" href="#155">155</a> <em>     * Returns &lt;tt>true&lt;/tt> if the engine will &lt;em>require&lt;/em> client authentication.</em>
<a name="156" href="#156">156</a> <em>     * This option is only useful to engines in the server mode.</em>
<a name="157" href="#157">157</a> <em>     */</em>
<a name="158" href="#158">158</a>     <strong>public</strong> <strong>boolean</strong> isNeedClientAuth()
<a name="159" href="#159">159</a>     {
<a name="160" href="#160">160</a>         <strong>return</strong> needClientAuth;
<a name="161" href="#161">161</a>     }
<a name="162" href="#162">162</a> 
<a name="163" href="#163">163</a>     <em>/**<em>*</em></em>
<a name="164" href="#164">164</a> <em>     * Configures the engine to &lt;em>require&lt;/em> client authentication.</em>
<a name="165" href="#165">165</a> <em>     * This option is only useful for engines in the server mode.</em>
<a name="166" href="#166">166</a> <em>     */</em>
<a name="167" href="#167">167</a>     <strong>public</strong> <strong>void</strong> setNeedClientAuth( <strong>boolean</strong> needClientAuth )
<a name="168" href="#168">168</a>     {
<a name="169" href="#169">169</a>         <strong>this</strong>.needClientAuth = needClientAuth;
<a name="170" href="#170">170</a>     }
<a name="171" href="#171">171</a>     
<a name="172" href="#172">172</a>     
<a name="173" href="#173">173</a>     <em>/**<em>*</em></em>
<a name="174" href="#174">174</a> <em>     * Returns &lt;tt>true&lt;/tt> if the engine will &lt;em>request&lt;/em> client authentication.</em>
<a name="175" href="#175">175</a> <em>     * This option is only useful to engines in the server mode.</em>
<a name="176" href="#176">176</a> <em>     */</em>
<a name="177" href="#177">177</a>     <strong>public</strong> <strong>boolean</strong> isWantClientAuth()
<a name="178" href="#178">178</a>     {
<a name="179" href="#179">179</a>         <strong>return</strong> wantClientAuth;
<a name="180" href="#180">180</a>     }
<a name="181" href="#181">181</a>     
<a name="182" href="#182">182</a>     <em>/**<em>*</em></em>
<a name="183" href="#183">183</a> <em>     * Configures the engine to &lt;em>request&lt;/em> client authentication.</em>
<a name="184" href="#184">184</a> <em>     * This option is only useful for engines in the server mode.</em>
<a name="185" href="#185">185</a> <em>     */</em>
<a name="186" href="#186">186</a>     <strong>public</strong> <strong>void</strong> setWantClientAuth( <strong>boolean</strong> wantClientAuth )
<a name="187" href="#187">187</a>     {
<a name="188" href="#188">188</a>         <strong>this</strong>.wantClientAuth = wantClientAuth;
<a name="189" href="#189">189</a>     }
<a name="190" href="#190">190</a>     
<a name="191" href="#191">191</a>     <em>/**<em>*</em></em>
<a name="192" href="#192">192</a> <em>     * Returns the list of cipher suites to be enabled when {@link SSLEngine}</em>
<a name="193" href="#193">193</a> <em>     * is initialized.</em>
<a name="194" href="#194">194</a> <em>     * </em>
<a name="195" href="#195">195</a> <em>     * @return &lt;tt>null&lt;/tt> means 'use {@link SSLEngine}'s default.'</em>
<a name="196" href="#196">196</a> <em>     */</em>
<a name="197" href="#197">197</a>     <strong>public</strong> String[] getEnabledCipherSuites()
<a name="198" href="#198">198</a>     {
<a name="199" href="#199">199</a>         <strong>return</strong> enabledCipherSuites;
<a name="200" href="#200">200</a>     }
<a name="201" href="#201">201</a>     
<a name="202" href="#202">202</a>     <em>/**<em>*</em></em>
<a name="203" href="#203">203</a> <em>     * Sets the list of cipher suites to be enabled when {@link SSLEngine}</em>
<a name="204" href="#204">204</a> <em>     * is initialized.</em>
<a name="205" href="#205">205</a> <em>     * </em>
<a name="206" href="#206">206</a> <em>     * @param cipherSuites &lt;tt>null&lt;/tt> means 'use {@link SSLEngine}'s default.'</em>
<a name="207" href="#207">207</a> <em>     */</em>
<a name="208" href="#208">208</a>     <strong>public</strong> <strong>void</strong> setEnabledCipherSuites( String[] cipherSuites )
<a name="209" href="#209">209</a>     {
<a name="210" href="#210">210</a>         <strong>this</strong>.enabledCipherSuites = cipherSuites;
<a name="211" href="#211">211</a>     }
<a name="212" href="#212">212</a> 
<a name="213" href="#213">213</a>     <em>/**<em>*</em></em>
<a name="214" href="#214">214</a> <em>     * Returns the list of protocols to be enabled when {@link SSLEngine}</em>
<a name="215" href="#215">215</a> <em>     * is initialized.</em>
<a name="216" href="#216">216</a> <em>     * </em>
<a name="217" href="#217">217</a> <em>     * @return &lt;tt>null&lt;/tt> means 'use {@link SSLEngine}'s default.'</em>
<a name="218" href="#218">218</a> <em>     */</em>
<a name="219" href="#219">219</a>     <strong>public</strong> String[] getEnabledProtocols()
<a name="220" href="#220">220</a>     {
<a name="221" href="#221">221</a>         <strong>return</strong> enabledProtocols;
<a name="222" href="#222">222</a>     }
<a name="223" href="#223">223</a>     
<a name="224" href="#224">224</a>     <em>/**<em>*</em></em>
<a name="225" href="#225">225</a> <em>     * Sets the list of protocols to be enabled when {@link SSLEngine}</em>
<a name="226" href="#226">226</a> <em>     * is initialized.</em>
<a name="227" href="#227">227</a> <em>     * </em>
<a name="228" href="#228">228</a> <em>     * @param protocols &lt;tt>null&lt;/tt> means 'use {@link SSLEngine}'s default.'</em>
<a name="229" href="#229">229</a> <em>     */</em>
<a name="230" href="#230">230</a>     <strong>public</strong> <strong>void</strong> setEnabledProtocols( String[] protocols )
<a name="231" href="#231">231</a>     {
<a name="232" href="#232">232</a>         <strong>this</strong>.enabledProtocols = protocols;
<a name="233" href="#233">233</a>     }
<a name="234" href="#234">234</a> 
<a name="235" href="#235">235</a>     <em class="comment">// IoFilter impl.</em>
<a name="236" href="#236">236</a> 
<a name="237" href="#237">237</a>     <strong>public</strong> <strong>void</strong> sessionOpened( NextFilter nextFilter, IoSession session ) throws SSLException
<a name="238" href="#238">238</a>     {
<a name="239" href="#239">239</a>         <em class="comment">// Create an SSL handler</em>
<a name="240" href="#240">240</a>         createSSLSessionHandler( nextFilter, session );
<a name="241" href="#241">241</a>         nextFilter.sessionOpened( session );
<a name="242" href="#242">242</a>     }
<a name="243" href="#243">243</a> 
<a name="244" href="#244">244</a>     <strong>public</strong> <strong>void</strong> sessionClosed( NextFilter nextFilter, IoSession session ) throws SSLException
<a name="245" href="#245">245</a>     {
<a name="246" href="#246">246</a>         <a href="../../../../../org/apache/mina/io/filter/SSLHandler.html">SSLHandler</a> sslHandler = getSSLSessionHandler( session );
<a name="247" href="#247">247</a>         <strong>if</strong>( log.isDebugEnabled() )
<a name="248" href="#248">248</a>         {
<a name="249" href="#249">249</a>             log.debug( session + <span class="string">" Closed: "</span> + sslHandler );
<a name="250" href="#250">250</a>         }
<a name="251" href="#251">251</a>         <strong>if</strong>( sslHandler != <strong>null</strong> )
<a name="252" href="#252">252</a>         {
<a name="253" href="#253">253</a>             <strong>synchronized</strong>( sslHandler )
<a name="254" href="#254">254</a>             {
<a name="255" href="#255">255</a>                <em class="comment">// Start SSL shutdown process</em>
<a name="256" href="#256">256</a>                <strong>try</strong>
<a name="257" href="#257">257</a>                {
<a name="258" href="#258">258</a>                   <em class="comment">// shut down</em>
<a name="259" href="#259">259</a>                   sslHandler.shutdown();
<a name="260" href="#260">260</a>                   
<a name="261" href="#261">261</a>                   <em class="comment">// there might be data to write out here?</em>
<a name="262" href="#262">262</a>                   writeNetBuffer( nextFilter, session, sslHandler );
<a name="263" href="#263">263</a>                }
<a name="264" href="#264">264</a>                <strong>finally</strong>
<a name="265" href="#265">265</a>                {
<a name="266" href="#266">266</a>                   <em class="comment">// notify closed session</em>
<a name="267" href="#267">267</a>                   nextFilter.sessionClosed( session );
<a name="268" href="#268">268</a>                   
<a name="269" href="#269">269</a>                   <em class="comment">// release buffers</em>
<a name="270" href="#270">270</a>                   sslHandler.release();
<a name="271" href="#271">271</a>                   removeSSLSessionHandler( session );
<a name="272" href="#272">272</a>                }
<a name="273" href="#273">273</a>             }
<a name="274" href="#274">274</a>         }
<a name="275" href="#275">275</a>     }
<a name="276" href="#276">276</a>    
<a name="277" href="#277">277</a>     <strong>public</strong> <strong>void</strong> dataRead( NextFilter nextFilter, IoSession session,
<a name="278" href="#278">278</a>                           <a href="../../../../../org/apache/mina/common/ByteBuffer.html">ByteBuffer</a> buf ) throws SSLException
<a name="279" href="#279">279</a>     {
<a name="280" href="#280">280</a>         <a href="../../../../../org/apache/mina/io/filter/SSLHandler.html">SSLHandler</a> sslHandler = createSSLSessionHandler( nextFilter, session );
<a name="281" href="#281">281</a>         <strong>if</strong>( sslHandler != <strong>null</strong> )
<a name="282" href="#282">282</a>         {
<a name="283" href="#283">283</a>             <strong>if</strong>( log.isDebugEnabled() )
<a name="284" href="#284">284</a>             {
<a name="285" href="#285">285</a>                 log.debug( session + <span class="string">" Data Read: "</span> + sslHandler + <span class="string">" ("</span> + buf+ ')' );
<a name="286" href="#286">286</a>             }
<a name="287" href="#287">287</a>             <strong>synchronized</strong>( sslHandler )
<a name="288" href="#288">288</a>             {
<a name="289" href="#289">289</a>                 <strong>try</strong>
<a name="290" href="#290">290</a>                 {
<a name="291" href="#291">291</a>                     <em class="comment">// forward read encrypted data to SSL handler</em>
<a name="292" href="#292">292</a>                     sslHandler.dataRead( nextFilter, buf.buf() );
<a name="293" href="#293">293</a> 
<a name="294" href="#294">294</a>                     <em class="comment">// Handle data to be forwarded to application or written to net</em>
<a name="295" href="#295">295</a>                     handleSSLData( nextFilter, session, sslHandler );
<a name="296" href="#296">296</a> 
<a name="297" href="#297">297</a>                     <strong>if</strong>( sslHandler.isClosed() )
<a name="298" href="#298">298</a>                     {
<a name="299" href="#299">299</a>                         <strong>if</strong>( log.isDebugEnabled() )
<a name="300" href="#300">300</a>                         {
<a name="301" href="#301">301</a>                             log.debug( session + <span class="string">" SSL Session closed. Closing connection.."</span> );
<a name="302" href="#302">302</a>                         }
<a name="303" href="#303">303</a>                         session.close();
<a name="304" href="#304">304</a>                     }
<a name="305" href="#305">305</a>                 }
<a name="306" href="#306">306</a>                 <strong>catch</strong>( SSLException ssle )
<a name="307" href="#307">307</a>                 {
<a name="308" href="#308">308</a>                     <strong>if</strong>( !sslHandler.isInitialHandshakeComplete() )
<a name="309" href="#309">309</a>                     {
<a name="310" href="#310">310</a>                         SSLException <strong>new</strong>SSLE = <strong>new</strong> SSLHandshakeException(
<a name="311" href="#311">311</a>                                 <span class="string">"Initial SSL handshake failed."</span> );
<a name="312" href="#312">312</a>                         newSSLE.initCause( ssle );
<a name="313" href="#313">313</a>                         ssle = newSSLE;
<a name="314" href="#314">314</a>                     }
<a name="315" href="#315">315</a> 
<a name="316" href="#316">316</a>                     <strong>throw</strong> ssle;
<a name="317" href="#317">317</a>                 }
<a name="318" href="#318">318</a>             }
<a name="319" href="#319">319</a>         }
<a name="320" href="#320">320</a>         <strong>else</strong>
<a name="321" href="#321">321</a>         {
<a name="322" href="#322">322</a>             nextFilter.dataRead( session, buf );
<a name="323" href="#323">323</a>         }
<a name="324" href="#324">324</a>     }
<a name="325" href="#325">325</a> 
<a name="326" href="#326">326</a>     <strong>public</strong> <strong>void</strong> dataWritten( NextFilter nextFilter, IoSession session,
<a name="327" href="#327">327</a>                             Object marker )
<a name="328" href="#328">328</a>     {
<a name="329" href="#329">329</a>         <strong>if</strong>( marker != SSL_MARKER )
<a name="330" href="#330">330</a>         {
<a name="331" href="#331">331</a>             nextFilter.dataWritten( session, marker );
<a name="332" href="#332">332</a>         }
<a name="333" href="#333">333</a>     }
<a name="334" href="#334">334</a> 
<a name="335" href="#335">335</a>     <strong>public</strong> <strong>void</strong> filterWrite( NextFilter nextFilter, IoSession session, ByteBuffer buf, Object marker ) throws SSLException
<a name="336" href="#336">336</a>     {
<a name="337" href="#337">337</a>         <em class="comment">// Don't encrypt the data if encryption is disabled.</em>
<a name="338" href="#338">338</a>         <strong>if</strong>( session.getAttribute(DISABLE_ENCRYPTION_ONCE) != <strong>null</strong> )
<a name="339" href="#339">339</a>         {
<a name="340" href="#340">340</a>             <em class="comment">// Remove the marker attribute because it is temporary.</em>
<a name="341" href="#341">341</a>             session.removeAttribute(DISABLE_ENCRYPTION_ONCE);
<a name="342" href="#342">342</a>             nextFilter.filterWrite( session, buf, marker );
<a name="343" href="#343">343</a>             <strong>return</strong>;
<a name="344" href="#344">344</a>         }
<a name="345" href="#345">345</a>         
<a name="346" href="#346">346</a>         <em class="comment">// Otherwise, encrypt the buffer.</em>
<a name="347" href="#347">347</a>         <a href="../../../../../org/apache/mina/io/filter/SSLHandler.html">SSLHandler</a> handler = createSSLSessionHandler( nextFilter, session );
<a name="348" href="#348">348</a>         <strong>if</strong>( log.isDebugEnabled() )
<a name="349" href="#349">349</a>         {
<a name="350" href="#350">350</a>             log.debug( session + <span class="string">" Filtered Write: "</span> + handler );
<a name="351" href="#351">351</a>         }
<a name="352" href="#352">352</a> 
<a name="353" href="#353">353</a>         <strong>synchronized</strong>( handler )
<a name="354" href="#354">354</a>         {
<a name="355" href="#355">355</a>             <strong>if</strong>( handler.isWritingEncryptedData() )
<a name="356" href="#356">356</a>             {
<a name="357" href="#357">357</a>                 <em class="comment">// data already encrypted; simply return buffer</em>
<a name="358" href="#358">358</a>                 <strong>if</strong>( log.isDebugEnabled() )
<a name="359" href="#359">359</a>                 {
<a name="360" href="#360">360</a>                     log.debug( session + <span class="string">"   already encrypted: "</span> + buf );
<a name="361" href="#361">361</a>                 }
<a name="362" href="#362">362</a>                 nextFilter.filterWrite( session, buf, marker );
<a name="363" href="#363">363</a>                 <strong>return</strong>;
<a name="364" href="#364">364</a>             }
<a name="365" href="#365">365</a>             
<a name="366" href="#366">366</a>             <strong>if</strong>( handler.isInitialHandshakeComplete() )
<a name="367" href="#367">367</a>             {
<a name="368" href="#368">368</a>                 <em class="comment">// SSL encrypt</em>
<a name="369" href="#369">369</a>                 <strong>if</strong>( log.isDebugEnabled() )
<a name="370" href="#370">370</a>                 {
<a name="371" href="#371">371</a>                     log.debug( session + <span class="string">" encrypt: "</span> + buf );
<a name="372" href="#372">372</a>                 }
<a name="373" href="#373">373</a>                 handler.encrypt( buf.buf() );
<a name="374" href="#374">374</a>                 <a href="../../../../../org/apache/mina/common/ByteBuffer.html">ByteBuffer</a> encryptedBuffer = copy( handler
<a name="375" href="#375">375</a>                         .getOutNetBuffer() );
<a name="376" href="#376">376</a> 
<a name="377" href="#377">377</a>                 <strong>if</strong>( log.isDebugEnabled() )
<a name="378" href="#378">378</a>                 {
<a name="379" href="#379">379</a>                     log.debug( session + <span class="string">" encrypted buf: "</span> + encryptedBuffer);
<a name="380" href="#380">380</a>                 }
<a name="381" href="#381">381</a>                 buf.release();
<a name="382" href="#382">382</a>                 nextFilter.filterWrite( session, encryptedBuffer, marker );
<a name="383" href="#383">383</a>                 <strong>return</strong>;
<a name="384" href="#384">384</a>             }
<a name="385" href="#385">385</a>             <strong>else</strong>
<a name="386" href="#386">386</a>             {
<a name="387" href="#387">387</a>                 <strong>if</strong>( !session.isConnected() )
<a name="388" href="#388">388</a>                 {
<a name="389" href="#389">389</a>                     <strong>if</strong>( log.isDebugEnabled() )
<a name="390" href="#390">390</a>                     {
<a name="391" href="#391">391</a>                         log.debug( session + <span class="string">" Write request on closed session."</span> );
<a name="392" href="#392">392</a>                     }
<a name="393" href="#393">393</a>                 }
<a name="394" href="#394">394</a>                 <strong>else</strong>
<a name="395" href="#395">395</a>                 {
<a name="396" href="#396">396</a>                     <strong>if</strong>( log.isDebugEnabled() )
<a name="397" href="#397">397</a>                     {
<a name="398" href="#398">398</a>                         log.debug( session + <span class="string">" Handshaking is not complete yet. Buffering write request."</span> );
<a name="399" href="#399">399</a>                     }
<a name="400" href="#400">400</a>                     handler.scheduleWrite( nextFilter, buf, marker );
<a name="401" href="#401">401</a>                 }
<a name="402" href="#402">402</a>             }
<a name="403" href="#403">403</a>         }
<a name="404" href="#404">404</a>     }
<a name="405" href="#405">405</a> 
<a name="406" href="#406">406</a>     <em class="comment">// Utiliities</em>
<a name="407" href="#407">407</a> 
<a name="408" href="#408">408</a>     <strong>private</strong> <strong>void</strong> handleSSLData( NextFilter nextFilter, IoSession session,
<a name="409" href="#409">409</a>                                <a href="../../../../../org/apache/mina/io/filter/SSLHandler.html">SSLHandler</a> handler ) throws SSLException
<a name="410" href="#410">410</a>     {
<a name="411" href="#411">411</a>         <em class="comment">// Flush any buffered write requests occurred before handshaking.</em>
<a name="412" href="#412">412</a>         <strong>if</strong>( handler.isInitialHandshakeComplete() )
<a name="413" href="#413">413</a>         {
<a name="414" href="#414">414</a>             handler.flushScheduledWrites();
<a name="415" href="#415">415</a>         }
<a name="416" href="#416">416</a> 
<a name="417" href="#417">417</a>         <em class="comment">// Write encrypted data to be written (if any)</em>
<a name="418" href="#418">418</a>         writeNetBuffer( nextFilter, session, handler );
<a name="419" href="#419">419</a> 
<a name="420" href="#420">420</a>         <em class="comment">// handle app. data read (if any)</em>
<a name="421" href="#421">421</a>         handleAppDataRead( nextFilter, session, handler );
<a name="422" href="#422">422</a>     }
<a name="423" href="#423">423</a> 
<a name="424" href="#424">424</a>     <strong>private</strong> <strong>void</strong> handleAppDataRead( NextFilter nextFilter, IoSession session,
<a name="425" href="#425">425</a>                                    <a href="../../../../../org/apache/mina/io/filter/SSLHandler.html">SSLHandler</a> sslHandler )
<a name="426" href="#426">426</a>     {
<a name="427" href="#427">427</a>         <strong>if</strong>( log.isDebugEnabled() )
<a name="428" href="#428">428</a>         {
<a name="429" href="#429">429</a>             log.debug( session + <span class="string">" appBuffer: "</span> + sslHandler.getAppBuffer() );
<a name="430" href="#430">430</a>         }
<a name="431" href="#431">431</a>         <strong>if</strong>( sslHandler.getAppBuffer().hasRemaining() )
<a name="432" href="#432">432</a>         {
<a name="433" href="#433">433</a>             <em class="comment">// forward read app data</em>
<a name="434" href="#434">434</a>             <a href="../../../../../org/apache/mina/common/ByteBuffer.html">ByteBuffer</a> readBuffer = copy( sslHandler.getAppBuffer() );
<a name="435" href="#435">435</a>             <strong>if</strong>( log.isDebugEnabled() )
<a name="436" href="#436">436</a>             {
<a name="437" href="#437">437</a>                 log.debug( session + <span class="string">" app data read: "</span> + readBuffer + <span class="string">" ("</span> + readBuffer.getHexDump() + ')' );
<a name="438" href="#438">438</a>             }
<a name="439" href="#439">439</a>             nextFilter.dataRead( session, readBuffer );
<a name="440" href="#440">440</a>         }
<a name="441" href="#441">441</a>     }
<a name="442" href="#442">442</a> 
<a name="443" href="#443">443</a>     <strong>void</strong> writeNetBuffer( NextFilter nextFilter, IoSession session, SSLHandler sslHandler )
<a name="444" href="#444">444</a>             throws SSLException
<a name="445" href="#445">445</a>     {
<a name="446" href="#446">446</a>         <em class="comment">// Check if any net data needed to be writen</em>
<a name="447" href="#447">447</a>         <strong>if</strong>( !sslHandler.getOutNetBuffer().hasRemaining() )
<a name="448" href="#448">448</a>         {
<a name="449" href="#449">449</a>             <em class="comment">// no; bail out</em>
<a name="450" href="#450">450</a>             <strong>return</strong>;
<a name="451" href="#451">451</a>         }
<a name="452" href="#452">452</a> 
<a name="453" href="#453">453</a>         <em class="comment">// write net data</em>
<a name="454" href="#454">454</a> 
<a name="455" href="#455">455</a>         <em class="comment">// set flag that we are writing encrypted data</em>
<a name="456" href="#456">456</a>         <em class="comment">// (used in filterWrite() above)</em>
<a name="457" href="#457">457</a>         <strong>synchronized</strong>( sslHandler )
<a name="458" href="#458">458</a>         {
<a name="459" href="#459">459</a>             sslHandler.setWritingEncryptedData( <strong>true</strong> );
<a name="460" href="#460">460</a>         }
<a name="461" href="#461">461</a> 
<a name="462" href="#462">462</a>         <strong>try</strong>
<a name="463" href="#463">463</a>         {
<a name="464" href="#464">464</a>             <strong>if</strong>( log.isDebugEnabled() )
<a name="465" href="#465">465</a>             {
<a name="466" href="#466">466</a>                 log.debug( session + <span class="string">" write outNetBuffer: "</span> +
<a name="467" href="#467">467</a>                                    sslHandler.getOutNetBuffer() );
<a name="468" href="#468">468</a>             }
<a name="469" href="#469">469</a>             <a href="../../../../../org/apache/mina/common/ByteBuffer.html">ByteBuffer</a> writeBuffer = copy( sslHandler.getOutNetBuffer() );
<a name="470" href="#470">470</a>             <strong>if</strong>( log.isDebugEnabled() )
<a name="471" href="#471">471</a>             {
<a name="472" href="#472">472</a>                 log.debug( session + <span class="string">" session write: "</span> + writeBuffer );
<a name="473" href="#473">473</a>             }
<a name="474" href="#474">474</a>             <em class="comment">//debug("outNetBuffer (after copy): {0}", sslHandler.getOutNetBuffer());</em>
<a name="475" href="#475">475</a>             filterWrite( nextFilter, session, writeBuffer, SSL_MARKER );
<a name="476" href="#476">476</a> 
<a name="477" href="#477">477</a>             <em class="comment">// loop while more writes required to complete handshake</em>
<a name="478" href="#478">478</a>             <strong>while</strong>( sslHandler.needToCompleteInitialHandshake() )
<a name="479" href="#479">479</a>             {
<a name="480" href="#480">480</a>                 <strong>try</strong>
<a name="481" href="#481">481</a>                 {
<a name="482" href="#482">482</a>                     sslHandler.continueHandshake( nextFilter );
<a name="483" href="#483">483</a>                 }
<a name="484" href="#484">484</a>                 <strong>catch</strong>( SSLException ssle )
<a name="485" href="#485">485</a>                 {
<a name="486" href="#486">486</a>                     SSLException <strong>new</strong>SSLE = <strong>new</strong> SSLHandshakeException(
<a name="487" href="#487">487</a>                             <span class="string">"Initial SSL handshake failed."</span> );
<a name="488" href="#488">488</a>                     newSSLE.initCause( ssle );
<a name="489" href="#489">489</a>                     <strong>throw</strong> newSSLE;
<a name="490" href="#490">490</a>                 }
<a name="491" href="#491">491</a>                 <strong>if</strong>( sslHandler.getOutNetBuffer().hasRemaining() )
<a name="492" href="#492">492</a>                 {
<a name="493" href="#493">493</a>                     <strong>if</strong>( log.isDebugEnabled() )
<a name="494" href="#494">494</a>                     {
<a name="495" href="#495">495</a>                         log.debug( session + <span class="string">" write outNetBuffer2: "</span> +
<a name="496" href="#496">496</a>                                            sslHandler.getOutNetBuffer() );
<a name="497" href="#497">497</a>                     }
<a name="498" href="#498">498</a>                     <a href="../../../../../org/apache/mina/common/ByteBuffer.html">ByteBuffer</a> writeBuffer2 = copy( sslHandler
<a name="499" href="#499">499</a>                             .getOutNetBuffer() );
<a name="500" href="#500">500</a>                     filterWrite( nextFilter, session, writeBuffer2, SSL_MARKER );
<a name="501" href="#501">501</a>                 }
<a name="502" href="#502">502</a>             }
<a name="503" href="#503">503</a>         }
<a name="504" href="#504">504</a>         <strong>finally</strong>
<a name="505" href="#505">505</a>         {
<a name="506" href="#506">506</a>             <strong>synchronized</strong>( sslHandler )
<a name="507" href="#507">507</a>             {
<a name="508" href="#508">508</a>                 sslHandler.setWritingEncryptedData( false );
<a name="509" href="#509">509</a>             }
<a name="510" href="#510">510</a>         }
<a name="511" href="#511">511</a>     }
<a name="512" href="#512">512</a> 
<a name="513" href="#513">513</a>     <em>/**<em>*</em></em>
<a name="514" href="#514">514</a> <em>     * Creates a new Mina byte buffer that is a deep copy of the remaining bytes</em>
<a name="515" href="#515">515</a> <em>     * in the given buffer (between index buf.position() and buf.limit())</em>
<a name="516" href="#516">516</a> <em>     *</em>
<a name="517" href="#517">517</a> <em>     * @param src the buffer to copy</em>
<a name="518" href="#518">518</a> <em>     * @return the new buffer, ready to read from</em>
<a name="519" href="#519">519</a> <em>     */</em>
<a name="520" href="#520">520</a>     <strong>private</strong> <strong>static</strong> <a href="../../../../../org/apache/mina/common/ByteBuffer.html">ByteBuffer</a> copy( java.nio.ByteBuffer src )
<a name="521" href="#521">521</a>     {
<a name="522" href="#522">522</a>         <a href="../../../../../org/apache/mina/common/ByteBuffer.html">ByteBuffer</a> copy = ByteBuffer.allocate( src.remaining() );
<a name="523" href="#523">523</a>         copy.put( src );
<a name="524" href="#524">524</a>         copy.flip();
<a name="525" href="#525">525</a>         <strong>return</strong> copy;
<a name="526" href="#526">526</a>     }
<a name="527" href="#527">527</a> 
<a name="528" href="#528">528</a>     <em class="comment">// Utilities to mainpulate SSLHandler based on IoSession</em>
<a name="529" href="#529">529</a> 
<a name="530" href="#530">530</a>     <strong>private</strong> <a href="../../../../../org/apache/mina/io/filter/SSLHandler.html">SSLHandler</a> createSSLSessionHandler( NextFilter nextFilter, IoSession session ) throws SSLException
<a name="531" href="#531">531</a>     {
<a name="532" href="#532">532</a>         <a href="../../../../../org/apache/mina/io/filter/SSLHandler.html">SSLHandler</a> handler = getSSLSessionHandler( session );
<a name="533" href="#533">533</a>         <strong>if</strong>( handler == <strong>null</strong> )
<a name="534" href="#534">534</a>         {
<a name="535" href="#535">535</a>             <strong>synchronized</strong>( session )
<a name="536" href="#536">536</a>             {
<a name="537" href="#537">537</a>                 handler = getSSLSessionHandler( session );
<a name="538" href="#538">538</a>                 <strong>if</strong>( handler == <strong>null</strong> )
<a name="539" href="#539">539</a>                 {
<a name="540" href="#540">540</a>                     <strong>boolean</strong> done = false;
<a name="541" href="#541">541</a>                     <strong>try</strong>
<a name="542" href="#542">542</a>                     {
<a name="543" href="#543">543</a>                         handler =
<a name="544" href="#544">544</a>                             <strong>new</strong> <a href="../../../../../org/apache/mina/io/filter/SSLHandler.html">SSLHandler</a>( <strong>this</strong>, sslContext, session );
<a name="545" href="#545">545</a>                         session.setAttribute( SSL_HANDLER, handler );
<a name="546" href="#546">546</a>                         handler.doHandshake( nextFilter );
<a name="547" href="#547">547</a>                         done = <strong>true</strong>;
<a name="548" href="#548">548</a>                     }
<a name="549" href="#549">549</a>                     <strong>finally</strong> 
<a name="550" href="#550">550</a>                     {
<a name="551" href="#551">551</a>                         <strong>if</strong>( !done )
<a name="552" href="#552">552</a>                         {
<a name="553" href="#553">553</a>                             session.removeAttribute( SSL_HANDLER );
<a name="554" href="#554">554</a>                         }
<a name="555" href="#555">555</a>                     }
<a name="556" href="#556">556</a>                 }
<a name="557" href="#557">557</a>             }
<a name="558" href="#558">558</a>         }
<a name="559" href="#559">559</a>         
<a name="560" href="#560">560</a>         <strong>return</strong> handler;
<a name="561" href="#561">561</a>     }
<a name="562" href="#562">562</a> 
<a name="563" href="#563">563</a>     <strong>private</strong> <a href="../../../../../org/apache/mina/io/filter/SSLHandler.html">SSLHandler</a> getSSLSessionHandler( IoSession session )
<a name="564" href="#564">564</a>     {
<a name="565" href="#565">565</a>         <strong>return</strong> ( SSLHandler ) session.getAttribute( SSL_HANDLER );
<a name="566" href="#566">566</a>     }
<a name="567" href="#567">567</a> 
<a name="568" href="#568">568</a>     <strong>private</strong> <strong>void</strong> removeSSLSessionHandler( IoSession session )
<a name="569" href="#569">569</a>     {
<a name="570" href="#570">570</a>         session.removeAttribute( SSL_HANDLER );
<a name="571" href="#571">571</a>     }
<a name="572" href="#572">572</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

