Hayden Marchant created ACCUMULO-2943:
-----------------------------------------

             Summary: Usage of SecureRandom with "SUN" as RNG provider causes 
lots of failures
                 Key: ACCUMULO-2943
                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2943
             Project: Accumulo
          Issue Type: Sub-task
    Affects Versions: 1.6.0
         Environment: IBM JVM
            Reporter: Hayden Marchant
             Fix For: 1.6.1, 1.7.0


Both org.apache.accumulo.core.security.crypto.CrypoTest & 
org.apache.accumulo.core.file.rfile.RFileTest have lots of failures due to 
calls to SEcureRandom with Random Number Generator Provider hard-coded as Sun. 
The IBM JVM has it's own built in RNG Provider called IBMJCE. 2 issues - 
hard-coded calls to SecureRandom.getInstance(<algo>,"SUN") and also default 
value in Property class is "SUN". 

Options for proposals:

1. Add mechanism to override default Property through System property through 
new annotator in Property class. Only usage will be by 
Property.CRYPTO_SECURE_RNG_PROVIDER

The default is SUN, as coded in the Property class. 

Some of the unit tests explicitly call SecureRandom.getInstance() with SUN as 
provider. Others rely on the default value, which is SUN (and do not rely on 
accumulo-site.xml in which this can be overridden). For the system tests, I 
propose adding an override through a System property. For regular execution of 
accumulo, accumulo-site.xml can include the adjusted default. However, system 
tests will also fall on same problem.

Another solution would be to have a factory class which supplies JVM specific 
behaviour, such as default NRG provider - this could be used by the Property 
class to retrieve this value based on the System.property for java.vendor 
etc.....



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to