Information

0
Story Points

Technologies

Decompiled Java File
package sun.security.pkcs11;

import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.security.GeneralSecurityException;
import java.security.MessageDigest;
import java.security.Provider;
import java.security.ProviderException;
import java.security.Security;

public final class P11Util {
   private static Object LOCK = new Object();
   private static volatile Provider sun;
   private static volatile Provider sunRsaSign;
   private static volatile Provider sunJce;
   private static final char[] hexDigits = "0123456789abcdef".toCharArray();

   static Provider getSunProvider() {
      Provider var0 = sun;
      if(var0 == null) {
         Object var1 = LOCK;
         synchronized(LOCK) {
            var0 = getProvider(sun, "SUN", "sun.security.provider.Sun");
            sun = var0;
         }
      }

      return var0;
   }

   static Provider getSunRsaSignProvider() {
      Provider var0 = sunRsaSign;
      if(var0 == null) {
         Object var1 = LOCK;
         synchronized(LOCK) {
            var0 = getProvider(sunRsaSign, "SunRsaSign", "sun.security.rsa.SunRsaSign");
            sunRsaSign = var0;
         }
      }

      return var0;
   }

   static Provider getSunJceProvider() {
      Provider var0 = sunJce;
      if(var0 == null) {
         Object var1 = LOCK;
         synchronized(LOCK) {
            var0 = getProvider(sunJce, "SunJCE", "com.sun.crypto.provider.SunJCE");
            sunJce = var0;
         }
      }

      return var0;
   }

   private static Provider getProvider(Provider var0, String var1, String var2) {
      if(var0 != null) {
         return var0;
      } else {
         var0 = Security.getProvider(var1);
         if(var0 == null) {
            try {
               Class var3 = Class.forName(var2);
               var0 = (Provider)var3.newInstance();
            } catch (Exception var4) {
               throw new ProviderException("Could not find provider " + var1, var4);
            }
         }

         return var0;
      }
   }

   static byte[] convert(byte[] var0, int var1, int var2) {
      if(var1 == 0 && var2 == var0.length) {
         return var0;
      } else {
         byte[] var3 = new byte[var2];
         System.arraycopy(var0, var1, var3, 0, var2);
         return var3;
      }
   }

   static byte[] subarray(byte[] var0, int var1, int var2) {
      byte[] var3 = new byte[var2];
      System.arraycopy(var0, var1, var3, 0, var2);
      return var3;
   }

   static byte[] concat(byte[] var0, byte[] var1) {
      byte[] var2 = new byte[var0.length + var1.length];
      System.arraycopy(var0, 0, var2, 0, var0.length);
      System.arraycopy(var1, 0, var2, var0.length, var1.length);
      return var2;
   }

   static long[] concat(long[] var0, long[] var1) {
      if(var0.length == 0) {
         return var1;
      } else {
         long[] var2 = new long[var0.length + var1.length];
         System.arraycopy(var0, 0, var2, 0, var0.length);
         System.arraycopy(var1, 0, var2, var0.length, var1.length);
         return var2;
      }
   }

   static byte[] trimZeroes(byte[] var0) {
      int var1;
      for(var1 = 0; var1 < var0.length - 1 && var0[var1] == 0; ++var1) {
         ;
      }

      if(var1 == 0) {
         return var0;
      } else {
         byte[] var2 = new byte[var0.length - var1];
         System.arraycopy(var0, var1, var2, 0, var2.length);
         return var2;
      }
   }

   public static byte[] getMagnitude(BigInteger var0) {
      byte[] var1 = var0.toByteArray();
      if(var1.length > 1 && var1[0] == 0) {
         int var2 = var1.length - 1;
         byte[] var3 = new byte[var2];
         System.arraycopy(var1, 1, var3, 0, var2);
         var1 = var3;
      }

      return var1;
   }

   static byte[] getBytesUTF8(String var0) {
      try {
         return var0.getBytes("UTF8");
      } catch (UnsupportedEncodingException var2) {
         throw new RuntimeException(var2);
      }
   }

   static byte[] sha1(byte[] var0) {
      try {
         MessageDigest var1 = MessageDigest.getInstance("SHA-1");
         var1.update(var0);
         return var1.digest();
      } catch (GeneralSecurityException var2) {
         throw new ProviderException(var2);
      }
   }

   static String toString(byte[] var0) {
      if(var0 == null) {
         return "(null)";
      } else {
         StringBuffer var1 = new StringBuffer(var0.length * 3);

         for(int var2 = 0; var2 < var0.length; ++var2) {
            int var3 = var0[var2] & 255;
            if(var2 != 0) {
               var1.append(':');
            }

            var1.append(hexDigits[var3 >>> 4]);
            var1.append(hexDigits[var3 & 15]);
         }

         return var1.toString();
      }
   }
}
Page generated: Oct 19, 2017 2:34:25 PM