On 8/6/2014 20:55, Xuelei Fan wrote:
Weijun,
Where the krb5 impl will be packaged into in the future?
In the java.jgss module.
Still the
SunProvider but in a new jar file? I was wondering whether we can use
the provider service approach that we used to define other security
components implementations. I'm not quite confident with the security
of the use of ServiceLoader.load().
You mean define a new provider service like "MessageDigest" and
"Cipher", I think that's a heavier version of ServiceLoader. Also this
interface is now quite premature and only used internal.
By security, are you afraid of someone providing his own implementation
and shadow the JDK one? I'll do some investigation.
--Max
Xuelei
On 8/4/2014 9:48 AM, Wang Weijun wrote:
Hi Xuelei
Are you OK with the code change? The updated webrev is now at
http://cr.openjdk.java.net/~weijun/8038089/webrev.02/
Comparing to the last version. there are some comment changes and emptying
refs.allowed. The only major change is that the ServiecLoader now uses system
class loader.
Thanks
Max
On Jul 21, 2014, at 16:22, Wang Weijun <weijun.w...@oracle.com> wrote:
Please review the updated webrev at
http://cr.openjdk.java.net/~weijun/8038089/webrev.01
Some comment changes. Some arguments rearrangement between classes.
The interface is still in sun.security.ssl. It will be easy to move it to
somewhere else later. When module is introduced, we may need to export the
interface from java.base to java.security.jgss.
Thanks
Max
On Jul 17, 2014, at 12:35, Xuelei Fan <xuelei....@oracle.com> wrote:
On 7/16/2014 4:41 PM, Wang Weijun wrote:
Hi Xuelei
A *primitive* version of webrev available at
http://cr.openjdk.java.net/~weijun/8038089/webrev.00
Please confirm this is the way you like it.
I have not read too much about the details of the update. But looks
like it is in the right way.
ExternalCipherSuite is the service interface and Krb5CipherSuite implements it.
It's a modification of the old Krb5Proxy but I've moved as many as
Kerberos-related codes to the implementation side so it has less methods now.
Most likely we will define this new interface in a public package.
If krb5 is the only external implementation of TLS cipher suites, I
think, we may want to try the best not to define public interface if
possible.
Thanks,
Xuelei
I didn't touch any core SSL classes except for ClientHandshaker and
ServerHandShaker. If you think there are other places too closely connected
with kerberos, please let me know.
Ideally, those
case K_KRB5: case K_KRB5_EXPORT:
Krb5Helper.doXXX(...):
should be something like
default:
getExternalHelper(keyExchange).doXXX(...)
but I guess we won't do that unless we know there will be a second
implementation.
Thanks
Max