Hi,

On Fri, Sep 25, 2015 at 2:46 PM, David M. Lloyd <david.ll...@redhat.com> wrote:
> Well, SNI already basically works this way, so it's not so great a stretch.

I don't follow ?
SNI has APIs in JDK 8, you don't use SSLExplorer at all.

Also, SNI is a client-to-server information only, while with ALPN you
have to reply to the client, so you have to modify the ServerHello.
I don't see how you can do this without support from the JDK via APIs ?

> I imagine the client code simply specifying a list of protocols along with
> today's list of cipher suites.
>
> The user-space server side logic would go like this:
>
> * Receive SSL ServerHello
> * Examine the packet for ALPN and SNI information
> * Read the list of cipher suites
> * Evaluate
> * Select an SSLContext based on protocol and/or server name
> * Construct an SSLSocket or SSLEngine as appropriate
> * Set a property on the SSLSocket/SSLEngine to indicate ALPN protocol name
> * (optional) Change/sort the cipher suite list on the SSLSocket/SSLEngine as
> appropriate
> * Resume negotation by passing the ServerHello in to the SSLSocket/SSLEngine
> as initial data
>
> It's not super elegant but it should work just as well as SNI works, and it
> would cover 100% of use cases since the user has complete flexibility to
> make a decision based on any combination of cipher suite selection, protocol
> name, and host name, even potentially with the option to pretend that ALPN
> wasn't recognized.

Are you saying that every application has to write its own TLS parser ?
Would not that be overkill and full of potential security issues if
one does not get the implementation strictly correct ?

Also, what if the JDK implementation refuses to use the cipher you
chose along with the application protocol, for whatever reason ?

Thanks !

-- 
Simone Bordet
http://bordet.blogspot.com
---
Finally, no matter how good the architecture and design are,
to deliver bug-free software with optimal performance and reliability,
the implementation technique must be flawless.   Victoria Livschitz

Reply via email to