Service Providersand versioning

Alan Bateman Alan.Bateman at oracle.com
Wed Apr 18 08:07:10 PDT 2012


On 18/04/2012 15:22, Sean Mullan wrote:
> I have been starting to think about how JCE providers might be 
> deployed as jigsaw services. [1] notes that services do not have 
> version numbers.
>
> One of the current limitations with the JCE provider framework is that 
> it is not a good idea to add a new parameter to an 
> AlgorithmParameterSpec subclass, because existing provider 
> implementations will not be aware of that new parameter until they are 
> upgraded.
>
> We usually have to define a new AlgorithmParameterSpec subclass to be 
> able to identify providers that have not been upgraded (they will 
> throw an InvalidAlgorithmParameterException), or a completely new 
> algorithm type.
>
> It would be nice if we could find a cleaner solution to this problem 
> with jigsaw, but without a versioning mechanism I'm not sure if it is 
> possible. Any thoughts on this?
I don't know this area too well but aren't security providers 
implementations of java.security.Provider, in which case I assume a 
starting point would be something like:

module sun.ec @ 8-ea {
     provides service java.security.Provider with sun.security.ec.SunEC;
}

As you mention AlgorithmParameterSpec then perhaps you are thinking 
about finer grain service types rather than at the level of a 
traditional security provider?

-Alan.



More information about the jigsaw-dev mailing list