users@grizzly.java.net

Re: SSL Layer

From: Alaska <bagirin_at_gmx.de>
Date: Wed, 19 Aug 2009 06:59:40 -0700 (PDT)

Yes, you"re write!

I changed the code to:

 String TRUST_STORE_PROP = "file:/home/...."

 URL truststoreUrl = new URL(TRUST_STORE_PROP);
        
        if (truststoreUrl != null) {
            sslConfig.setTrustStoreFile(truststoreUrl.getFile());
       ...
       }
and the same with the keystore.
Now the browser asked me to add the exception and so on...
And I have the same output on the console as you before!
So it works now! :)

Thank you for your help!!!

alaska.





Oleksiy Stashok wrote:
>
> I guess it happens, because of incorrectly provided security key files
> location.
> In order to make your current code work - you need to place security
> files to current working directory, or make sure
> file.getAbsolutePath() returns really path to the existing file.
>
> Thanks.
>
> WBR,
> Alexey.
>
>
> On Aug 19, 2009, at 14:54 , Alaska wrote:
>
>>
>> hello Alexey,
>>
>> while running the code I see the message on my browser:
>>
>> Data Transfer Interrupted
>>
>> The connection to localhost:1080 was interrupted while the page was
>> loading.
>>
>> The browser connected successfully, but the connection was
>> interrupted while
>> transferring information. Please try again.
>>
>> * Are you unable to browse other sites? Check the computer's
>> network
>> connection.
>> * Still having trouble? Consult your network administrator or
>> Internet
>> provider for assistance.
>>
>>
>> I re-installed the browser, so I"ve the default settings in it now.
>>
>> thank you,
>> alaska
>>
>>
>>
>> Oleksiy Stashok wrote:
>>>
>>> Hi Alaska,
>>>
>>> can you pls. tell me what do you use as client?
>>> When I tried it - I used regular web browser.
>>>
>>> Thanks.
>>>
>>> WBR,
>>> Alexey.
>>>
>>> On Aug 19, 2009, at 10:40 , Alaska wrote:
>>>
>>>>
>>>> Hello Alexey,
>>>>
>>>> I downloaded 1.9.18-M1 but I still cannot get the request. The
>>>> output on my
>>>> console is below:
>>>>
>>>> run:
>>>> truststore file has been set
>>>> keystoreUrl file has been set
>>>> Aug 19, 2009 10:34:57 AM com.sun.grizzly.Controller start
>>>> INFO: Starting Grizzly Framework 1.9.18-M1 - Wed Aug 19 10:34:57
>>>> CEST 2009
>>>>
>>>> Something is still going wrong...
>>>>
>>>> Thank you,
>>>> alaka
>>>>
>>>>
>>>>
>>>> Oleksiy Stashok wrote:
>>>>>
>>>>> Hi Alaska,
>>>>>
>>>>> it could be problem in maven artifacts deployment.
>>>>> Can you pls. try 1.9.18-M1?
>>>>>
>>>>> Thanks.
>>>>>
>>>>> WBR,
>>>>> Alexey.
>>>>>
>>>>> On Aug 18, 2009, at 18:22 , Alaska wrote:
>>>>>
>>>>>>
>>>>>> Hello Alexey,
>>>>>>
>>>>>> thank you for your reply! Yes, due to your output it seems to
>>>>>> work!
>>>>>>
>>>>>> I was running the Grizzly Framework 1.9.17-SNAPSHOT and I had the
>>>>>> output
>>>>>> like:
>>>>>>
>>>>>> truststore file has been set
>>>>>> keystoreUrl file has been set
>>>>>> Aug 18, 2009 5:07:01 PM com.sun.grizzly.Controller start
>>>>>> INFO: Starting Grizzly Framework 1.9.17-SNAPSHOT - Tue Aug 18
>>>>>> 17:07:00
>>>>>> CEST 2009
>>>>>>
>>>>>>
>>>>>> Now I"ve installed the Grizzly Framework 1.9.18-SNAPSHOT and I"ve
>>>>>> got an
>>>>>> output:
>>>>>>
>>>>>> run:
>>>>>> Exception in thread "main" java.lang.NoClassDefFoundError:
>>>>>> com/sun/grizzly/util/Copyable
>>>>>> at java.lang.ClassLoader.defineClass1(Native Method)
>>>>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
>>>>>> at
>>>>>> java
>>>>>> .security.SecureClassLoader.defineClass(SecureClassLoader.java:
>>>>>> 124)
>>>>>> at java.net.URLClassLoader.defineClass(URLClassLoader.java:
>>>>>> 260)
>>>>>> at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
>>>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
>>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>>>>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
>>>>>> 301)
>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>>>>>> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
>>>>>> 320)
>>>>>> at GrizzlySSL.HttpSSLTest.main(HttpSSLTest.java:22)
>>>>>> Caused by: java.lang.ClassNotFoundException:
>>>>>> com.sun.grizzly.util.Copyable
>>>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
>>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>>>>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
>>>>>> 301)
>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>>>>>> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
>>>>>> 320)
>>>>>> ... 13 more
>>>>>> Java Result: 1
>>>>>> BUILD SUCCESSFUL (total time: 0 seconds)
>>>>>>
>>>>>> Do you have an idea what is going wrong?
>>>>>>
>>>>>> Thank you,
>>>>>> alaska
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Oleksiy Stashok wrote:
>>>>>>>
>>>>>>> Hi Alaska,
>>>>>>>
>>>>>>> here is output I see on my console [1]. So seems request passes
>>>>>>> at
>>>>>>> least to RequestControllerFilter.
>>>>>>> Do you see different behavior?
>>>>>>>
>>>>>>> Thanks.
>>>>>>>
>>>>>>> WBR,
>>>>>>> Alexey.
>>>>>>>
>>>>>>> [1] run:
>>>>>>> truststore file has been set
>>>>>>> keystoreUrl file has been set
>>>>>>> Aug 18, 2009 5:07:01 PM com.sun.grizzly.Controller start
>>>>>>> INFO: Starting Grizzly Framework 1.9.18-SNAPSHOT - Tue Aug 18
>>>>>>> 17:07:00
>>>>>>> CEST 2009
>>>>>>> startBuffer
>>>>>>> startBuffer
>>>>>>> request GET / HTTP/1.1
>>>>>>> Host: localhost:1080
>>>>>>>
>>>>>>> RequestControllerFilter request GET / HTTP/1.1
>>>>>>> Host: localhost:1080
>>>>>>>
>>>>>>> Aug 18, 2009 5:12:46 PM com.sun.grizzly.DefaultProtocolChain
>>>>>>> executeProtocolFilter
>>>>>>> SEVERE: ProtocolChain exception
>>>>>>> java.lang.SecurityException: /root/loginConfig.conf (No such file
>>>>>>> or
>>>>>>> directory)
>>>>>>> at
>>>>>>> com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:93)
>>>>>>> at
>>>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>>>>> Method)
>>>>>>> at
>>>>>>> sun
>>>>>>> .reflect
>>>>>>> .NativeConstructorAccessorImpl
>>>>>>> .newInstance(NativeConstructorAccessorImpl.java:39)
>>>>>>> at
>>>>>>> sun
>>>>>>> .reflect
>>>>>>> .DelegatingConstructorAccessorImpl
>>>>>>> .newInstance(DelegatingConstructorAccessorImpl.java:27)
>>>>>>> at
>>>>>>> java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>> 513)
>>>>>>> at java.lang.Class.newInstance0(Class.java:355)
>>>>>>> at java.lang.Class.newInstance(Class.java:308)
>>>>>>> at javax.security.auth.login.Configuration
>>>>>>> $3.run(Configuration.java:246)
>>>>>>> at java.security.AccessController.doPrivileged(Native
>>>>>>> Method)
>>>>>>> at
>>>>>>> javax
>>>>>>> .security
>>>>>>> .auth.login.Configuration.getConfiguration(Configuration.java:
>>>>>>> 241)
>>>>>>> at javax.security.auth.login.LoginContext
>>>>>>> $1.run(LoginContext.java:237)
>>>>>>> at java.security.AccessController.doPrivileged(Native
>>>>>>> Method)
>>>>>>> at
>>>>>>> javax.security.auth.login.LoginContext.init(LoginContext.java:
>>>>>>> 234)
>>>>>>> at
>>>>>>> javax.security.auth.login.LoginContext.<init>(LoginContext.java:
>>>>>>> 334)
>>>>>>> at
>>>>>>> GrizzlySSL
>>>>>>> .RequestControllerFilter
>>>>>>> .initializeLogin(RequestControllerFilter.java:
>>>>>>> 94)
>>>>>>> at
>>>>>>> GrizzlySSL
>>>>>>> .RequestControllerFilter.execute(RequestControllerFilter.java:45)
>>>>>>> at
>>>>>>> com
>>>>>>> .sun
>>>>>>> .grizzly
>>>>>>> .DefaultProtocolChain
>>>>>>> .executeProtocolFilter(DefaultProtocolChain.java:
>>>>>>> 135)
>>>>>>> at
>>>>>>> com
>>>>>>> .sun
>>>>>>> .grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:
>>>>>>> 102)
>>>>>>> at
>>>>>>> com
>>>>>>> .sun
>>>>>>> .grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:
>>>>>>> 88)
>>>>>>> at
>>>>>>> com
>>>>>>> .sun
>>>>>>> .grizzly
>>>>>>> .ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:
>>>>>>> 53)
>>>>>>> at
>>>>>>> com
>>>>>>> .sun
>>>>>>> .grizzly
>>>>>>> .SelectionKeyContextTask.call(SelectionKeyContextTask.java:
>>>>>>> 57)
>>>>>>> at com.sun.grizzly.NIOContext.execute(NIOContext.java:510)
>>>>>>> at
>>>>>>> com
>>>>>>> .sun
>>>>>>> .grizzly
>>>>>>> .SelectorHandlerRunner
>>>>>>> .handleSelectedKey(SelectorHandlerRunner.java:
>>>>>>> 357)
>>>>>>> at
>>>>>>> com
>>>>>>> .sun
>>>>>>> .grizzly
>>>>>>> .SelectorHandlerRunner
>>>>>>> .handleSelectedKeys(SelectorHandlerRunner.java:
>>>>>>> 257)
>>>>>>> at
>>>>>>> com
>>>>>>> .sun
>>>>>>> .grizzly
>>>>>>> .SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:
>>>>>>> 194)
>>>>>>> at
>>>>>>> com
>>>>>>> .sun
>>>>>>> .grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:
>>>>>>> 129)
>>>>>>> at com.sun.grizzly.util.FixedThreadPool
>>>>>>> $BasicWorker.dowork(FixedThreadPool.java:379)
>>>>>>> at com.sun.grizzly.util.FixedThreadPool
>>>>>>> $BasicWorker.run(FixedThreadPool.java:360)
>>>>>>> at java.lang.Thread.run(Thread.java:637)
>>>>>>> Caused by: java.io.FileNotFoundException: /root/loginConfig.conf
>>>>>>> (No
>>>>>>> such file or directory)
>>>>>>> at java.io.FileInputStream.open(Native Method)
>>>>>>> at java.io.FileInputStream.<init>(FileInputStream.java:106)
>>>>>>> at java.io.FileInputStream.<init>(FileInputStream.java:66)
>>>>>>> at
>>>>>>> com
>>>>>>> .sun
>>>>>>> .security.auth.login.ConfigFile.getInputStream(ConfigFile.java:
>>>>>>> 591)
>>>>>>> at
>>>>>>> com.sun.security.auth.login.ConfigFile.init(ConfigFile.java:260)
>>>>>>> at
>>>>>>> com.sun.security.auth.login.ConfigFile.init(ConfigFile.java:202)
>>>>>>> at
>>>>>>> com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:91)
>>>>>>> ... 28 more
>>>>>>>
>>>>>>> On Aug 17, 2009, at 11:25 , Alaska wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> Hello Alexey,
>>>>>>>>
>>>>>>>> the sample is in the attachement.
>>>>>>>>
>>>>>>>> Thank you,
>>>>>>>> alaska. http://www.nabble.com/file/p25003689/GrizzlySSL.zip
>>>>>>>> GrizzlySSL.zip
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Oleksiy Stashok wrote:
>>>>>>>>>
>>>>>>>>> Ok,
>>>>>>>>> can you pls. send me the sample, so I can reproduce the issue?
>>>>>>>>>
>>>>>>>>> Thanks.
>>>>>>>>>
>>>>>>>>> WBR,
>>>>>>>>> Alexey.
>>>>>>>>>
>>>>>>>>> On Aug 14, 2009, at 17:10 , Alaska wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Hello Alexey,
>>>>>>>>>>
>>>>>>>>>> I added to my ParserProtovolFilter the method you suggested.
>>>>>>>>>> But it didn"t solve the problem yet.
>>>>>>>>>>
>>>>>>>>>> alaska
>>>>>>>>>>
>>>>>>>>>> ++++++++++++++++++++++++++++++++++
>>>>>>>>>>
>>>>>>>>>> import com.sun.grizzly.ProtocolParser;
>>>>>>>>>> import com.sun.grizzly.filter.ParserProtocolFilter;
>>>>>>>>>>
>>>>>>>>>> public class AsciiCommandProtocolParserFilter extends
>>>>>>>>>> ParserProtocolFilter
>>>>>>>>>> {
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> + public AsciiCommandProtocolParserFilter() {
>>>>>>>>>> + this.setSkipRead(true);
>>>>>>>>>> + }
>>>>>>>>>>
>>>>>>>>>> @Override
>>>>>>>>>> public ProtocolParser newProtocolParser() {
>>>>>>>>>>
>>>>>>>>>> return new HttpStreamReader();
>>>>>>>>>>
>>>>>>>>>> }
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Oleksiy Stashok wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hi Alaska,
>>>>>>>>>>>
>>>>>>>>>>> pls. try to set setSkipRead(true); on your
>>>>>>>>>>> ParserProtocolFilters.
>>>>>>>>>>> Please let me know if it helped.
>>>>>>>>>>>
>>>>>>>>>>> WBR,
>>>>>>>>>>> Alexey.
>>>>>>>>>>>
>>>>>>>>>>> On Aug 14, 2009, at 15:57 , Alaska wrote:
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Dear Alexey,
>>>>>>>>>>>>
>>>>>>>>>>>> I"ve just found the mistake with the controller.
>>>>>>>>>>>> I removed the SSLConnectorHandler, the SSLCallbackHandler
>>>>>>>>>>>> and
>>>>>>>>>>>> the
>>>>>>>>>>>> line
>>>>>>>>>>>> sslConnector.connect(new InetSocketAddress("localhost",
>>>>>>>>>>>> PORT),
>>>>>>>>>>>> callbackSSL);
>>>>>>>>>>>>
>>>>>>>>>>>> Now it seems that the connection was etablished...
>>>>>>>>>>>>
>>>>>>>>>>>> But I have a problem that I cannot get the request... The
>>>>>>>>>>>> ParserFilter is
>>>>>>>>>>>> not being invoked.
>>>>>>>>>>>>
>>>>>>>>>>>> The browser message is: Data Transfer Interrupted
>>>>>>>>>>>> The connection to localhost:1080 was interrupted while the
>>>>>>>>>>>> page
>>>>>>>>>>>> was
>>>>>>>>>>>> loading.
>>>>>>>>>>>> The browser connected successfully, but the connection was
>>>>>>>>>>>> interrupted while
>>>>>>>>>>>> transferring information.
>>>>>>>>>>>>
>>>>>>>>>>>> Do you have an idea what is still wrong?
>>>>>>>>>>>>
>>>>>>>>>>>> thank you!
>>>>>>>>>>>> alaska
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> ++++++++++++++++++++++++++++++++++++++++
>>>>>>>>>>>> The SSLConnectionTest.java looks like:
>>>>>>>>>>>>
>>>>>>>>>>>> package Grizzly2httpSSL;
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> import
>>>>>>>>>>>> Grizzly2httpSSL
>>>>>>>>>>>> .Protocols.Http.AsciiCommandProtocolParserFilter;
>>>>>>>>>>>> import com.sun.grizzly.Context;
>>>>>>>>>>>> import com.sun.grizzly.Controller;
>>>>>>>>>>>> import com.sun.grizzly.DefaultProtocolChain;
>>>>>>>>>>>> import com.sun.grizzly.DefaultProtocolChainInstanceHandler;
>>>>>>>>>>>> import com.sun.grizzly.IOEvent;
>>>>>>>>>>>> import com.sun.grizzly.ProtocolChain;
>>>>>>>>>>>> import com.sun.grizzly.ProtocolChainInstanceHandler;
>>>>>>>>>>>> import com.sun.grizzly.ProtocolFilter;
>>>>>>>>>>>> import com.sun.grizzly.SSLCallbackHandler;
>>>>>>>>>>>> import com.sun.grizzly.SSLConfig;
>>>>>>>>>>>> import com.sun.grizzly.SSLConnectorHandler;
>>>>>>>>>>>> import com.sun.grizzly.SSLSelectorHandler;
>>>>>>>>>>>> import com.sun.grizzly.filter.SSLReadFilter;
>>>>>>>>>>>> import com.sun.grizzly.filter.SSLEchoFilter;
>>>>>>>>>>>> import java.io.File;
>>>>>>>>>>>> import java.io.IOException;
>>>>>>>>>>>> import java.net.InetSocketAddress;
>>>>>>>>>>>> import java.net.URL;
>>>>>>>>>>>> import java.nio.ByteBuffer;
>>>>>>>>>>>> import java.nio.channels.SelectionKey;
>>>>>>>>>>>> import java.util.Arrays;
>>>>>>>>>>>> import java.util.concurrent.CountDownLatch;
>>>>>>>>>>>> import java.util.concurrent.TimeUnit;
>>>>>>>>>>>> import java.util.logging.Level;
>>>>>>>>>>>> import java.util.logging.Logger;
>>>>>>>>>>>> import javax.net.ssl.SSLContext;
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> public class SSLConnectionTest {
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> String TRUST_STORE_PROP = "truststoreSSLtest.jks";
>>>>>>>>>>>> String KEY_STORE_PROP = "serverkey.jks";
>>>>>>>>>>>> public static final int PORT = 1080;
>>>>>>>>>>>> public static final int PACKETS_COUNT = 10;
>>>>>>>>>>>> public static final int CLIENTS_COUNT = 10;
>>>>>>>>>>>> /**
>>>>>>>>>>>> * A <code>SSLCallbackHandler</code> handler invoked by the
>>>>>>>>>>>> TCPSelectorHandler
>>>>>>>>>>>> * when a non blocking operation is ready to be processed.
>>>>>>>>>>>> */
>>>>>>>>>>>> private SSLCallbackHandler callbackHandler;
>>>>>>>>>>>> private SSLConfig sslConfig;
>>>>>>>>>>>>
>>>>>>>>>>>> public void setUp() {
>>>>>>>>>>>> sslConfig = new SSLConfig();
>>>>>>>>>>>>
>>>>>>>>>>>> File file = new File(TRUST_STORE_PROP);
>>>>>>>>>>>>
>>>>>>>>>>>> if (file != null) {
>>>>>>>>>>>> sslConfig.setTrustStoreFile(file.getAbsolutePath());
>>>>>>>>>>>> System.out.println("truststore file has been set");
>>>>>>>>>>>>
>>>>>>>>>>>> } else {
>>>>>>>>>>>> System.out.println("Couldn't find the truststore
>>>>>>>>>>>> file");
>>>>>>>>>>>>
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>> File file1 = new File(KEY_STORE_PROP);
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> //the keystore will be used for encrypting/signing some
>>>>>>>>>>>> thing
>>>>>>>>>>>> with
>>>>>>>>>>>> your private key
>>>>>>>>>>>> // URL keystoreUrl =
>>>>>>>>>>>> getClass().getClassLoader().getResource("serverkey.jks");
>>>>>>>>>>>> if (file1 != null) {
>>>>>>>>>>>> sslConfig.setKeyStoreFile(file1.getAbsolutePath());
>>>>>>>>>>>> System.out.println("keystoreUrl file has been set");
>>>>>>>>>>>>
>>>>>>>>>>>> } else {
>>>>>>>>>>>> System.out.println("Couldn't find the keystore");
>>>>>>>>>>>>
>>>>>>>>>>>> }
>>>>>>>>>>>> SSLConfig.DEFAULT_CONFIG = sslConfig;
>>>>>>>>>>>> final Controller controller =
>>>>>>>>>>>> createSSLController
>>>>>>>>>>>> (SSLConfig.DEFAULT_CONFIG.createSSLContext());
>>>>>>>>>>>> try {
>>>>>>>>>>>> controller.start();
>>>>>>>>>>>> } catch (IOException ex) {
>>>>>>>>>>>>
>>>>>>>>>>>> Logger
>>>>>>>>>>>> .getLogger
>>>>>>>>>>>> (SSLConnectionTest.class.getName()).log(Level.SEVERE,
>>>>>>>>>>>> "the
>>>>>>>>>>>> SSL controller couldn't not been started", ex);
>>>>>>>>>>>> }
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> private Controller createSSLController(SSLContext
>>>>>>>>>>>> sslContext) {
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> final SSLReadFilter readFilter = new SSLReadFilter();
>>>>>>>>>>>> readFilter.setSSLContext(sslContext);
>>>>>>>>>>>> readFilter.isNeedClientAuth();
>>>>>>>>>>>>
>>>>>>>>>>>> final ProtocolFilter asciiCommandParser = new
>>>>>>>>>>>> AsciiCommandProtocolParserFilter();
>>>>>>>>>>>>
>>>>>>>>>>>> final ProtocolFilter genericProtocolFilter = new
>>>>>>>>>>>> RequestControllerFilter();
>>>>>>>>>>>>
>>>>>>>>>>>> final ProtocolFilter genericDoor = new GenericDoor();
>>>>>>>>>>>>
>>>>>>>>>>>> SSLSelectorHandler selectorHandler = new
>>>>>>>>>>>> SSLSelectorHandler();
>>>>>>>>>>>> selectorHandler.setPort(PORT);
>>>>>>>>>>>>
>>>>>>>>>>>> final Controller controller = new Controller();
>>>>>>>>>>>>
>>>>>>>>>>>> controller.setSelectorHandler(selectorHandler);
>>>>>>>>>>>> controller.setHandleReadWriteConcurrently(false);
>>>>>>>>>>>>
>>>>>>>>>>>> final ProtocolChain protocolChain = new
>>>>>>>>>>>> DefaultProtocolChain();
>>>>>>>>>>>>
>>>>>>>>>>>> protocolChain.addFilter(readFilter);
>>>>>>>>>>>> protocolChain.addFilter(asciiCommandParser);
>>>>>>>>>>>> protocolChain.addFilter(genericProtocolFilter);
>>>>>>>>>>>> protocolChain.addFilter(genericDoor);
>>>>>>>>>>>>
>>>>>>>>>>>> ((DefaultProtocolChain)
>>>>>>>>>>>> protocolChain).setContinuousExecution(true);
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> ProtocolChainInstanceHandler pciHandler = new
>>>>>>>>>>>> DefaultProtocolChainInstanceHandler() {
>>>>>>>>>>>>
>>>>>>>>>>>> @Override
>>>>>>>>>>>> public ProtocolChain poll() {
>>>>>>>>>>>> return protocolChain;
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>> @Override
>>>>>>>>>>>> public boolean offer(ProtocolChain pc) {
>>>>>>>>>>>> return false;
>>>>>>>>>>>> }
>>>>>>>>>>>> };
>>>>>>>>>>>>
>>>>>>>>>>>> controller.setProtocolChainInstanceHandler(pciHandler);
>>>>>>>>>>>>
>>>>>>>>>>>> controller.setReadThreadsCount(5); //
>>>>>>>>>>>>
>>>>>>>>>>>> return controller;
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> View this message in context:
>>>>>>>>>>>> http://www.nabble.com/SSL-Layer-tp24954939p24972156.html
>>>>>>>>>>>> Sent from the Grizzly - Users mailing list archive at
>>>>>>>>>>>> Nabble.com.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>> users-help_at_grizzly.dev.java.net
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>> To unsubscribe, e-mail: users-
>>>>>>>>>>> unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>>> For additional commands, e-mail: users-
>>>>>>>>>>> help_at_grizzly.dev.java.net
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> View this message in context:
>>>>>>>>>> http://www.nabble.com/SSL-Layer-tp24954939p24973322.html
>>>>>>>>>> Sent from the Grizzly - Users mailing list archive at
>>>>>>>>>> Nabble.com.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>> For additional commands, e-mail: users-
>>>>>>>>> help_at_grizzly.dev.java.net
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> View this message in context:
>>>>>>>> http://www.nabble.com/SSL-Layer-tp24954939p25003689.html
>>>>>>>> Sent from the Grizzly - Users mailing list archive at
>>>>>>>> Nabble.com.
>>>>>>>>
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://www.nabble.com/SSL-Layer-tp24954939p25028479.html
>>>>>> Sent from the Grizzly - Users mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/SSL-Layer-tp24954939p25040094.html
>>>> Sent from the Grizzly - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/SSL-Layer-tp24954939p25043487.html
>> Sent from the Grizzly - Users mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>
>
>

-- 
View this message in context: http://www.nabble.com/SSL-Layer-tp24954939p25044668.html
Sent from the Grizzly - Users mailing list archive at Nabble.com.