<!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 357871 2005-12-20 01:56:40Z 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: 357871 $, $Date: 2005-12-20 10:56:40 +0900 (Tue, 20 Dec 2005) $</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>

