Red Hat Application Migration Toolkit
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(); } } }