< prev index next >

src/java.base/share/classes/sun/security/provider/SunEntries.java

Print this page
rev 50668 : PPC64: Add support for HW random number generator

Add support to use a hardware random number generator through new 'darn'
instruction introduced with POWER9 processor. That change introduces a new
JCA provider (called HWTRNG) with the proper methods to be intrinsified and
that are used, in the end, by generateSeed() and nextBytes() methods in
SecureRandom class when the HWTPRNG provider is selected. It also paves the
way to use a HW TRNG for other architectures that support it.

 112 
 113         map.put("SecureRandom.SHA1PRNG ThreadSafe", "true");
 114         if (nativeAvailable && !useNativePRNG) {
 115             map.put("SecureRandom.NativePRNG",
 116                 "sun.security.provider.NativePRNG");
 117             map.put("SecureRandom.NativePRNG ThreadSafe", "true");
 118         }
 119 
 120         if (NativePRNG.Blocking.isAvailable()) {
 121             map.put("SecureRandom.NativePRNGBlocking",
 122                 "sun.security.provider.NativePRNG$Blocking");
 123             map.put("SecureRandom.NativePRNGBlocking ThreadSafe", "true");
 124         }
 125 
 126         if (NativePRNG.NonBlocking.isAvailable()) {
 127             map.put("SecureRandom.NativePRNGNonBlocking",
 128                 "sun.security.provider.NativePRNG$NonBlocking");
 129             map.put("SecureRandom.NativePRNGNonBlocking ThreadSafe", "true");
 130         }
 131 




 132         /*
 133          * Signature engines
 134          */
 135         map.put("Signature.SHA1withDSA",
 136                 "sun.security.provider.DSA$SHA1withDSA");
 137         map.put("Signature.NONEwithDSA", "sun.security.provider.DSA$RawDSA");
 138         map.put("Alg.Alias.Signature.RawDSA", "NONEwithDSA");
 139         map.put("Signature.SHA224withDSA",
 140                 "sun.security.provider.DSA$SHA224withDSA");
 141         map.put("Signature.SHA256withDSA",
 142                 "sun.security.provider.DSA$SHA256withDSA");
 143 
 144         map.put("Signature.SHA1withDSAinP1363Format",
 145                 "sun.security.provider.DSA$SHA1withDSAinP1363Format");
 146         map.put("Signature.NONEwithDSAinP1363Format",
 147                 "sun.security.provider.DSA$RawDSAinP1363Format");
 148         map.put("Signature.SHA224withDSAinP1363Format",
 149                 "sun.security.provider.DSA$SHA224withDSAinP1363Format");
 150         map.put("Signature.SHA256withDSAinP1363Format",
 151                 "sun.security.provider.DSA$SHA256withDSAinP1363Format");



 112 
 113         map.put("SecureRandom.SHA1PRNG ThreadSafe", "true");
 114         if (nativeAvailable && !useNativePRNG) {
 115             map.put("SecureRandom.NativePRNG",
 116                 "sun.security.provider.NativePRNG");
 117             map.put("SecureRandom.NativePRNG ThreadSafe", "true");
 118         }
 119 
 120         if (NativePRNG.Blocking.isAvailable()) {
 121             map.put("SecureRandom.NativePRNGBlocking",
 122                 "sun.security.provider.NativePRNG$Blocking");
 123             map.put("SecureRandom.NativePRNGBlocking ThreadSafe", "true");
 124         }
 125 
 126         if (NativePRNG.NonBlocking.isAvailable()) {
 127             map.put("SecureRandom.NativePRNGNonBlocking",
 128                 "sun.security.provider.NativePRNG$NonBlocking");
 129             map.put("SecureRandom.NativePRNGNonBlocking ThreadSafe", "true");
 130         }
 131 
 132         // Provider for using TRNG.
 133         map.put("SecureRandom.HWTRNG", "sun.security.provider.HWTRNG");
 134         map.put("SecureRandom.HWTRNG ThreadSafe", "true");
 135 
 136         /*
 137          * Signature engines
 138          */
 139         map.put("Signature.SHA1withDSA",
 140                 "sun.security.provider.DSA$SHA1withDSA");
 141         map.put("Signature.NONEwithDSA", "sun.security.provider.DSA$RawDSA");
 142         map.put("Alg.Alias.Signature.RawDSA", "NONEwithDSA");
 143         map.put("Signature.SHA224withDSA",
 144                 "sun.security.provider.DSA$SHA224withDSA");
 145         map.put("Signature.SHA256withDSA",
 146                 "sun.security.provider.DSA$SHA256withDSA");
 147 
 148         map.put("Signature.SHA1withDSAinP1363Format",
 149                 "sun.security.provider.DSA$SHA1withDSAinP1363Format");
 150         map.put("Signature.NONEwithDSAinP1363Format",
 151                 "sun.security.provider.DSA$RawDSAinP1363Format");
 152         map.put("Signature.SHA224withDSAinP1363Format",
 153                 "sun.security.provider.DSA$SHA224withDSAinP1363Format");
 154         map.put("Signature.SHA256withDSAinP1363Format",
 155                 "sun.security.provider.DSA$SHA256withDSAinP1363Format");


< prev index next >