Info Call to Crypto API

Description

List of all calls to cryptographic methods.

Recommendation

Do not use insecure or weak cryptographic algorithms. For example, the Data Encryption Standard (DES) encryption algorithm is considered highly insecure

Do not use Object.equals() to compare cryptographic keys

Cryptographic keys should never be serialized

Technical details

Method org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.createCipher() calling method javax.crypto.Cipher.getInstance()


    private javax.crypto.Cipher createCipher(int p11, char[] p12, org.bouncycastle.asn1.x509.AlgorithmIdentifier p13)
    {
        javax.crypto.SecretKey v12_1;
        byte[] v13_2 = org.bouncycastle.asn1.pkcs.PBES2Parameters.getInstance(p13.getParameters());
        javax.crypto.Cipher v0_8 = org.bouncycastle.asn1.pkcs.PBKDF2Params.getInstance(v13_2.getKeyDerivationFunc().getParameters());
        org.bouncycastle.jcajce.spec.GOST28147ParameterSpec v1_1 = org.bouncycastle.asn1.x509.AlgorithmIdentifier.getInstance(v13_2.getEncryptionScheme());
        org.bouncycastle.asn1.ASN1ObjectIdentifier v2_1 = this.helper.createSecretKeyFactory(v13_2.getKeyDerivationFunc().getAlgorithm().getId());
        if (!v0_8.isDefaultPrf()) {
            org.bouncycastle.jcajce.spec.PBKDF2KeySpec v9 = new org.bouncycastle.jcajce.spec.PBKDF2KeySpec;
            v9(p12, v0_8.getSalt(), v0_8.getIterationCount().intValue(), org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.keySizeProvider.getKeySize(v1_1), v0_8.getPrf());
            v12_1 = v2_1.generateSecret(v9);
        } else {
            v12_1 = v2_1.generateSecret(new javax.crypto.spec.PBEKeySpec(p12, v0_8.getSalt(), v0_8.getIterationCount().intValue(), org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.keySizeProvider.getKeySize(v1_1)));
        }
        org.bouncycastle.jcajce.spec.GOST28147ParameterSpec v1_6;
        javax.crypto.Cipher v0_6 = javax.crypto.Cipher.getInstance(v13_2.getEncryptionScheme().getAlgorithm().getId());
        org.bouncycastle.asn1.x509.AlgorithmIdentifier.getInstance(v13_2.getEncryptionScheme());
        byte[] v13_4 = v13_2.getEncryptionScheme().getParameters();
        if (!(v13_4 instanceof org.bouncycastle.asn1.ASN1OctetString)) {
            byte[] v13_5 = org.bouncycastle.asn1.cryptopro.GOST28147Parameters.getInstance(v13_4);
            v1_6 = new org.bouncycastle.jcajce.spec.GOST28147ParameterSpec(v13_5.getEncryptionParamSet(), v13_5.getIV());
        } else {
            v1_6 = new javax.crypto.spec.IvParameterSpec(org.bouncycastle.asn1.ASN1OctetString.getInstance(v13_4).getOctets());
        }
        v0_6.init(p11, v12_1, v1_6);
        return v0_6;
    }

Method com.google.android.gms.internal.bd.a() calling method javax.crypto.Cipher.getInstance()

Couldn't retrieve source code

Method org.apache.http.impl.auth.NTLMEngineImpl.lmResponse() calling method javax.crypto.Cipher.getInstance()


    private static byte[] lmResponse(byte[] p6, byte[] p7)
    {
        try {
            String v0_1 = new byte[21];
            System.arraycopy(p6, 0, v0_1, 0, 16);
            Exception v6_3 = org.apache.http.impl.auth.NTLMEngineImpl.createDESKey(v0_1, 0);
            byte[] v3_2 = org.apache.http.impl.auth.NTLMEngineImpl.createDESKey(v0_1, 7);
            String v0_2 = org.apache.http.impl.auth.NTLMEngineImpl.createDESKey(v0_1, 14);
            int v4_2 = javax.crypto.Cipher.getInstance("DES/ECB/NoPadding");
            v4_2.init(1, v6_3);
            Exception v6_1 = v4_2.doFinal(p7);
            v4_2.init(1, v3_2);
            byte[] v3_0 = v4_2.doFinal(p7);
            v4_2.init(1, v0_2);
            org.apache.http.impl.auth.NTLMEngineException v7_1 = v4_2.doFinal(p7);
            String v0_4 = new byte[24];
            System.arraycopy(v6_1, 0, v0_4, 0, 8);
            System.arraycopy(v3_0, 0, v0_4, 8, 8);
            System.arraycopy(v7_1, 0, v0_4, 16, 8);
            return v0_4;
        } catch (Exception v6_2) {
            throw new org.apache.http.impl.auth.NTLMEngineException(v6_2.getMessage(), v6_2);
        }
    }

Method org.apache.http.impl.auth.NTLMEngineImpl.lmHash() calling method javax.crypto.Cipher.getInstance()


    private static byte[] lmHash(String p5)
    {
        try {
            Exception v5_5 = p5.toUpperCase(java.util.Locale.ENGLISH).getBytes("US-ASCII");
            String v1_0 = new byte[14];
            System.arraycopy(v5_5, 0, v1_0, 0, Math.min(v5_5.length, 14));
            Exception v5_1 = org.apache.http.impl.auth.NTLMEngineImpl.createDESKey(v1_0, 0);
            org.apache.http.impl.auth.NTLMEngineException v0_2 = org.apache.http.impl.auth.NTLMEngineImpl.createDESKey(v1_0, 7);
            String v1_2 = "KGS!@#$%".getBytes("US-ASCII");
            int v3_2 = javax.crypto.Cipher.getInstance("DES/ECB/NoPadding");
            v3_2.init(1, v5_1);
            Exception v5_3 = v3_2.doFinal(v1_2);
            v3_2.init(1, v0_2);
            org.apache.http.impl.auth.NTLMEngineException v0_4 = v3_2.doFinal(v1_2);
            String v1_4 = new byte[16];
            System.arraycopy(v5_3, 0, v1_4, 0, 8);
            System.arraycopy(v0_4, 0, v1_4, 8, 8);
            return v1_4;
        } catch (Exception v5_4) {
            throw new org.apache.http.impl.auth.NTLMEngineException(v5_4.getMessage(), v5_4);
        }
    }

Method org.apache.http.impl.auth.NTLMEngineImpl.RC4() calling method javax.crypto.Cipher.getInstance()


    static byte[] RC4(byte[] p4, byte[] p5)
    {
        try {
            String v0_2 = javax.crypto.Cipher.getInstance("RC4");
            v0_2.init(1, new javax.crypto.spec.SecretKeySpec(p5, "RC4"));
            return v0_2.doFinal(p4);
        } catch (Exception v4_1) {
            throw new org.apache.http.impl.auth.NTLMEngineException(v4_1.getMessage(), v4_1);
        }
    }

Method org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getLanManagerSessionKey() calling method javax.crypto.Cipher.getInstance()


    public byte[] getLanManagerSessionKey()
    {
        if (this.lanManagerSessionKey == null) {
            try {
                Exception v0_3 = new byte[14];
                System.arraycopy(this.getLMHash(), 0, v0_3, 0, 8);
                java.util.Arrays.fill(v0_3, 8, v0_3.length, -67);
                org.apache.http.impl.auth.NTLMEngineException v1_0 = org.apache.http.impl.auth.NTLMEngineImpl.access$900(v0_3, 0);
                Exception v0_1 = org.apache.http.impl.auth.NTLMEngineImpl.access$900(v0_3, 7);
                String v2_0 = new byte[8];
                System.arraycopy(this.getLMResponse(), 0, v2_0, 0, v2_0.length);
                int v4_4 = javax.crypto.Cipher.getInstance("DES/ECB/NoPadding");
                v4_4.init(1, v1_0);
                org.apache.http.impl.auth.NTLMEngineException v1_1 = v4_4.doFinal(v2_0);
                int v4_6 = javax.crypto.Cipher.getInstance("DES/ECB/NoPadding");
                v4_6.init(1, v0_1);
                Exception v0_4 = v4_6.doFinal(v2_0);
                String v2_2 = new byte[16];
                this.lanManagerSessionKey = v2_2;
                System.arraycopy(v1_1, 0, this.lanManagerSessionKey, 0, v1_1.length);
                System.arraycopy(v0_4, 0, this.lanManagerSessionKey, v1_1.length, v0_4.length);
            } catch (Exception v0_5) {
                throw new org.apache.http.impl.auth.NTLMEngineException(v0_5.getMessage(), v0_5);
            }
        }
        return this.lanManagerSessionKey;
    }

Method com.upi.hcesdk.security.SecurityManager.tripleDESECBEncrypt() calling method javax.crypto.Cipher.getInstance()


    public static String tripleDESECBEncrypt(String p4, String p5)
    {
        javax.crypto.Cipher v0_1 = new byte[24];
        int v4_6 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p4);
        System.arraycopy(v4_6, 0, v0_1, 0, 16);
        System.arraycopy(v4_6, 0, v0_1, 16, 8);
        int v4_1 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p5);
        try {
            javax.crypto.spec.SecretKeySpec v5_2 = new javax.crypto.spec.SecretKeySpec(v0_1, "DESede");
            javax.crypto.Cipher v0_3 = javax.crypto.Cipher.getInstance("DESede/ECB/NoPadding");
            v0_3.init(1, v5_2);
            return com.upi.hcesdk.util.ByteUtil.byteToHexStr(v0_3.doFinal(v4_1));
        } catch (int v4_4) {
            v4_4.printStackTrace();
            return 0;
        }
    }

Method com.upi.hcesdk.security.SecurityManager.tripleDESCBCEncrypt() calling method javax.crypto.Cipher.getInstance()


    public static String tripleDESCBCEncrypt(String p4, String p5)
    {
        javax.crypto.spec.IvParameterSpec v0_1 = new byte[24];
        int v4_6 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p4);
        System.arraycopy(v4_6, 0, v0_1, 0, 16);
        System.arraycopy(v4_6, 0, v0_1, 16, 8);
        int v4_1 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p5);
        try {
            javax.crypto.spec.SecretKeySpec v5_2 = new javax.crypto.spec.SecretKeySpec(v0_1, "DESede");
            javax.crypto.Cipher v1_1 = new byte[8];
            javax.crypto.spec.IvParameterSpec v0_3 = new javax.crypto.spec.IvParameterSpec(v1_1);
            javax.crypto.Cipher v1_3 = javax.crypto.Cipher.getInstance("DESede/CBC/NoPadding");
            v1_3.init(1, v5_2, v0_3);
            return com.upi.hcesdk.util.ByteUtil.byteToHexStr(v1_3.doFinal(v4_1));
        } catch (int v4_4) {
            v4_4.printStackTrace();
            return 0;
        }
    }

Method com.upi.hcesdk.security.SecurityManager.generateDEKEncryptedByPublicKey() calling method javax.crypto.Cipher.getInstance()


    public static String generateDEKEncryptedByPublicKey(String p2, java.security.PublicKey p3)
    {
        try {
            javax.crypto.Cipher v0_1 = javax.crypto.Cipher.getInstance("RSA/ECB/PKCS1Padding");
            v0_1.init(1, p3);
            return com.upi.hcesdk.security.SecurityManager.generateDEKEncryptedByPublicKey(p2, v0_1);
        } catch (java.security.NoSuchAlgorithmException) {
            com.upi.hcesdk.util.LogUtil.error(com.upi.hcesdk.security.SecurityManager.LOGTAG, "Error, returning null");
            return 0;
        }
    }

Method com.upi.hcesdk.security.SecurityManager.desEncrypt() calling method javax.crypto.Cipher.getInstance()


    public static String desEncrypt(String p2, String p3)
    {
        int v2_1 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p2);
        byte[] v3_1 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p3);
        try {
            javax.crypto.spec.SecretKeySpec v0_1 = new javax.crypto.spec.SecretKeySpec(v2_1, "DES");
            int v2_7 = javax.crypto.Cipher.getInstance("DES/ECB/NoPadding");
            v2_7.init(1, v0_1);
            return com.upi.hcesdk.util.ByteUtil.byteToHexStr(v2_7.doFinal(v3_1));
        } catch (int v2_4) {
            v2_4.printStackTrace();
            return 0;
        }
    }

Method com.upi.hcesdk.security.SecurityManager.des3cipherCBC() calling method javax.crypto.Cipher.getInstance()


    private static String des3cipherCBC(com.upi.hcesdk.security.KeyObject p4, String p5, int p6)
    {
        if (p5 == null) {
            com.upi.hcesdk.util.LogUtil.error(com.upi.hcesdk.security.SecurityManager.LOGTAG, "[des3cipherCBC] Null cipherText");
        }
        String v6_1;
        String v1_3 = javax.crypto.Cipher.getInstance("DESede/CBC/NoPadding");
        String v3_0 = new byte[8];
        StringBuilder v2_0 = new javax.crypto.spec.IvParameterSpec(v3_0);
        String v3_1 = 1;
        if (p6 != 1) {
            v3_1 = 2;
            if (p6 != 2) {
                return 0;
            } else {
                v6_1 = p4.getSecretKey();
            }
        } else {
            v6_1 = p4.getSecretKey();
        }
        v1_3.init(v3_1, v6_1, v2_0);
        return com.upi.hcesdk.util.ByteUtil.byteToHexStr(v1_3.doFinal(com.upi.hcesdk.util.ByteUtil.hexStrToByte(p5)));
    }

Method com.upi.hcesdk.security.KeyObject.set3DESSecretKey() calling method javax.crypto.Cipher.getInstance()


    public void set3DESSecretKey(byte[] p6)
    {
        if (p6 == null) {
            com.upi.hcesdk.util.LogUtil.error(com.upi.hcesdk.security.KeyObject.LOGTAG, "null key in set3DESSecretKey");
        }
        try {
            String v6_1;
            if (p6.length != 16) {
                v6_1 = new javax.crypto.spec.DESedeKeySpec(p6);
                this.secretKey = javax.crypto.SecretKeyFactory.getInstance("DESede").generateSecret(v6_1);
                String v6_8 = javax.crypto.Cipher.getInstance("DESede/ECB/NoPadding");
                v6_8.init(1, this.secretKey);
                int v0_9 = new byte[8];
                this.kcv = com.upi.hcesdk.util.ByteUtil.byteToHexStr(v6_8.doFinal(v0_9)).substring(0, 6);
            } else {
                int v0_3 = new byte[24];
                System.arraycopy(p6, 0, v0_3, 0, p6.length);
                System.arraycopy(p6, 0, v0_3, 16, 8);
                v6_1 = new javax.crypto.spec.DESedeKeySpec(v0_3);
            }
        } catch (String v6_3) {
            StringBuilder v1_2 = new StringBuilder();
            v1_2.append("Exception in set key : ");
            v1_2.append(v6_3.getMessage());
            com.upi.hcesdk.util.LogUtil.error(com.upi.hcesdk.security.KeyObject.LOGTAG, v1_2.toString());
        }
        return;
    }

Method com.paysys.nbpdigital.utils.ThreeDES.encrypt() calling method javax.crypto.Cipher.getInstance()


    private byte[] encrypt(String p5, String p6)
    {
        String v6_1 = this.acopyof(java.security.MessageDigest.getInstance("md5").digest(p6.getBytes("utf-8")), 24);
        javax.crypto.spec.SecretKeySpec v0_1 = 0;
        javax.crypto.Cipher v1_0 = 16;
        while (v0_1 < 8) {
            int v2_2 = (v1_0 + 1);
            int v3 = (v0_1 + 1);
            v6_1[v1_0] = v6_1[v0_1];
            v1_0 = v2_2;
            v0_1 = v3;
        }
        javax.crypto.spec.SecretKeySpec v0_3 = new javax.crypto.spec.SecretKeySpec(v6_1, "DESede");
        javax.crypto.Cipher v1_2 = new byte[8];
        String v6_3 = new javax.crypto.spec.IvParameterSpec(v1_2);
        javax.crypto.Cipher v1_4 = javax.crypto.Cipher.getInstance("DESede/CBC/PKCS7Padding");
        v1_4.init(1, v0_3, v6_3);
        return v1_4.doFinal(p5.getBytes("utf-8"));
    }

Method com.paysys.nbpdigital.utils.ThreeDES.decrypt() calling method javax.crypto.Cipher.getInstance()


    private String decrypt(byte[] p5, String p6)
    {
        String v6_1 = this.acopyof(java.security.MessageDigest.getInstance("md5").digest(p6.getBytes("utf-8")), 24);
        String v0_1 = 0;
        javax.crypto.Cipher v1_0 = 16;
        while (v0_1 < 8) {
            int v2_2 = (v1_0 + 1);
            int v3 = (v0_1 + 1);
            v6_1[v1_0] = v6_1[v0_1];
            v1_0 = v2_2;
            v0_1 = v3;
        }
        String v0_3 = new javax.crypto.spec.SecretKeySpec(v6_1, "DESede");
        javax.crypto.Cipher v1_2 = new byte[8];
        String v6_3 = new javax.crypto.spec.IvParameterSpec(v1_2);
        javax.crypto.Cipher v1_4 = javax.crypto.Cipher.getInstance("DESede/CBC/PKCS7Padding");
        v1_4.init(2, v0_3, v6_3);
        return new String(v1_4.doFinal(p5), "UTF-8");
    }

Method com.paysys.nbpdigital.d.a.a() calling method javax.crypto.Cipher.getInstance()


    private javax.crypto.Cipher a(int p7)
    {
        String v0_1 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS7Padding");
        java.security.Key v1_1 = this.d.getKey("MY_APP_ALIAS", 0);
        if (v1_1 != null) {
            if (p7 != 1) {
                v0_1.init(p7, v1_1, new javax.crypto.spec.IvParameterSpec(this.h()));
            } else {
                this.i();
                String v2_2 = this.i().edit();
                v2_2.remove("ENCRYPTED_PASS_SHARED_PREF_KEY");
                v2_2.remove("LAST_USED_IV_SHARED_PREF_KEY");
                v2_2.apply();
                this.d.deleteEntry("MY_APP_ALIAS");
                this.f();
                try {
                    v0_1.init(p7, v1_1);
                } catch (String v2_4) {
                    StringBuilder v4_1 = new StringBuilder();
                    v4_1.append("Encryption error =");
                    v4_1.append(v2_4);
                    android.util.Log.d("fingerPrint", v4_1.toString());
                }
                v0_1.init(p7, v1_1);
                this.b(v0_1.getIV());
            }
            return v0_1;
        } else {
            this.f();
            android.util.Log.d("fingerPrint", "keystore = null");
            return 0;
        }
    }

Method com.google.android.gms.internal.ato.a() calling method javax.crypto.Cipher.getInstance()


    private static javax.crypto.Cipher a()
    {
        try {
            if (ark>com.google.android.gms.internal.atoark>.b == null) {
                ark>com.google.android.gms.internal.atoark>.b = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
            }
        } catch (javax.crypto.Cipher v1_4) {
            throw v1_4;
        }
        return ark>com.google.android.gms.internal.atoark>.b;
    }

Method com.b.a.a.h.a() calling method javax.crypto.Cipher.getInstance()


    public static javax.crypto.Cipher a(String p0, java.security.Provider p1)
    {
        if (p1 != null) {
            return javax.crypto.Cipher.getInstance(p0, p1);
        } else {
            return javax.crypto.Cipher.getInstance(p0);
        }
    }

Method com.b.a.a.c.a() calling method javax.crypto.Cipher.getInstance()


    public static byte[] a(javax.crypto.SecretKey p2, byte[] p3, byte[] p4, byte[] p5, byte[] p6, java.security.Provider p7)
    {
        try {
            javax.crypto.Cipher v7_2;
            if (p7 == null) {
                v7_2 = javax.crypto.Cipher.getInstance("AES/GCM/NoPadding");
            } else {
                v7_2 = javax.crypto.Cipher.getInstance("AES/GCM/NoPadding", p7);
            }
        } catch (NoClassDefFoundError) {
            return com.b.a.a.r.a(p2, p3, p4, p5, p6);
        }
        v7_2.init(2, p2, new javax.crypto.spec.GCMParameterSpec(128, p3));
        v7_2.updateAAD(p5);
        try {
            javax.crypto.IllegalBlockSizeException v2_1 = new byte[][2];
            v2_1[0] = p4;
            v2_1[1] = p6;
            return v7_2.doFinal(com.b.a.d.d.a(v2_1));
        } catch (javax.crypto.IllegalBlockSizeException v2_4) {
            String v4_5 = new StringBuilder("AES/GCM/NoPadding decryption failed: ");
            v4_5.append(v2_4.getMessage());
            throw new com.b.a.f(v4_5.toString(), v2_4);
        }
    }

Method com.b.a.a.c.a() calling method javax.crypto.Cipher.getInstance()


    public static com.b.a.a.e a(javax.crypto.SecretKey p4, com.b.a.d.e p5, byte[] p6, byte[] p7, java.security.Provider p8)
    {
        javax.crypto.Cipher v8_2;
        int v0_1 = ((byte[]) p5.a());
        try {
            if (p8 == null) {
                v8_2 = javax.crypto.Cipher.getInstance("AES/GCM/NoPadding");
            } else {
                v8_2 = javax.crypto.Cipher.getInstance("AES/GCM/NoPadding", p8);
            }
        } catch (NoClassDefFoundError) {
            return com.b.a.a.r.a(p4, v0_1, p6, p7);
        }
        v8_2.init(1, p4, new javax.crypto.spec.GCMParameterSpec(128, v0_1));
        v8_2.updateAAD(p7);
        try {
            javax.crypto.IllegalBlockSizeException v4_2 = v8_2.doFinal(p6);
            String v6_5 = (v4_2.length - com.b.a.d.d.b(128));
            String v7_5 = com.b.a.d.d.a(v4_2, 0, v6_5);
            javax.crypto.IllegalBlockSizeException v4_3 = com.b.a.d.d.a(v4_2, v6_5, com.b.a.d.d.b(128));
            p5.a(ark>com.b.a.a.cark>.a(v8_2));
            return new com.b.a.a.e(v7_5, v4_3);
        } catch (javax.crypto.IllegalBlockSizeException v4_4) {
            String v6_8 = new StringBuilder("Couldn\'t encrypt with AES/GCM/NoPadding: ");
            v6_8.append(v4_4.getMessage());
            throw new com.b.a.f(v6_8.toString(), v4_4);
        }
    }

Method com.paysys.nbpdigital.d.a.a() calling method javax.crypto.Cipher.getIV()


    private javax.crypto.Cipher a(int p7)
    {
        String v0_1 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS7Padding");
        java.security.Key v1_1 = this.d.getKey("MY_APP_ALIAS", 0);
        if (v1_1 != null) {
            if (p7 != 1) {
                v0_1.init(p7, v1_1, new javax.crypto.spec.IvParameterSpec(this.h()));
            } else {
                this.i();
                String v2_2 = this.i().edit();
                v2_2.remove("ENCRYPTED_PASS_SHARED_PREF_KEY");
                v2_2.remove("LAST_USED_IV_SHARED_PREF_KEY");
                v2_2.apply();
                this.d.deleteEntry("MY_APP_ALIAS");
                this.f();
                try {
                    v0_1.init(p7, v1_1);
                } catch (String v2_4) {
                    StringBuilder v4_1 = new StringBuilder();
                    v4_1.append("Encryption error =");
                    v4_1.append(v2_4);
                    android.util.Log.d("fingerPrint", v4_1.toString());
                }
                v0_1.init(p7, v1_1);
                this.b(v0_1.getIV());
            }
            return v0_1;
        } else {
            this.f();
            android.util.Log.d("fingerPrint", "keystore = null");
            return 0;
        }
    }

Method com.google.android.gms.internal.ato.a() calling method javax.crypto.Cipher.getIV()


    public final String a(byte[] p5, byte[] p6)
    {
        if (p5.length != 16) {
            throw new com.google.android.gms.internal.aup(this);
        } else {
            try {
            } catch (String v5_11) {
                throw new com.google.android.gms.internal.aup(this, v5_11);
            } catch (String v5_10) {
                throw new com.google.android.gms.internal.aup(this, v5_10);
            } catch (String v5_9) {
                throw new com.google.android.gms.internal.aup(this, v5_9);
            } catch (String v5_8) {
                throw new com.google.android.gms.internal.aup(this, v5_8);
            } catch (String v5_7) {
                throw new com.google.android.gms.internal.aup(this, v5_7);
            }
            ark>com.google.android.gms.internal.atoark>.a().init(1, new javax.crypto.spec.SecretKeySpec(p5, "AES"), 0);
            int v6_1 = ark>com.google.android.gms.internal.atoark>.a().doFinal(p6);
            java.nio.ByteBuffer v0_3 = ark>com.google.android.gms.internal.atoark>.a().getIV();
            String v5_2 = (v6_1.length + v0_3.length);
            java.nio.ByteBuffer v1_3 = java.nio.ByteBuffer.allocate(v5_2);
            v1_3.put(v0_3).put(v6_1);
            v1_3.flip();
            String v5_4 = new byte[v5_2];
            v1_3.get(v5_4);
            return com.google.android.gms.internal.ahz.a(v5_4, 0);
        }
    }

Method org.bouncycastle.operator.jcajce.JceAsymmetricKeyWrapper.generateWrappedKey() calling method javax.crypto.Cipher.doFinal()


    public byte[] generateWrappedKey(org.bouncycastle.operator.GenericKey p6)
    {
        String v1_3;
        org.bouncycastle.operator.OperatorException v0_5 = this.helper.createAsymmetricWrapper(this.getAlgorithmIdentifier().getAlgorithm(), this.extraMappings);
        String v1_0 = this.helper.createAlgorithmParameters(this.getAlgorithmIdentifier());
        try {
            if (v1_0 == null) {
                v0_5.init(3, this.publicKey, this.random);
                v1_3 = v0_5.wrap(org.bouncycastle.operator.jcajce.OperatorUtils.getJceKey(p6));
            } else {
                v0_5.init(3, this.publicKey, v1_0, this.random);
            }
        } catch (java.security.InvalidKeyException) {
            v1_3 = 0;
        }
        if (v1_3 == null) {
            try {
                v0_5.init(1, this.publicKey, this.random);
                v1_3 = v0_5.doFinal(org.bouncycastle.operator.jcajce.OperatorUtils.getJceKey(p6).getEncoded());
            } catch (java.security.GeneralSecurityException v6_4) {
                throw new org.bouncycastle.operator.OperatorException("unable to encrypt contents key", v6_4);
            } catch (java.security.GeneralSecurityException v6_3) {
                throw new org.bouncycastle.operator.OperatorException("unable to encrypt contents key", v6_3);
            }
        }
        return v1_3;
    }

Method org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.generateUnwrappedKey() calling method javax.crypto.Cipher.doFinal()


    public org.bouncycastle.operator.GenericKey generateUnwrappedKey(org.bouncycastle.asn1.x509.AlgorithmIdentifier p6, byte[] p7)
    {
        try {
            String v0_8 = this.helper.createAsymmetricWrapper(this.getAlgorithmIdentifier().getAlgorithm(), this.extraMappings);
            int v1_0 = this.helper.createAlgorithmParameters(this.getAlgorithmIdentifier());
            javax.crypto.spec.SecretKeySpec v3_0 = 0;
            try {
                if (v1_0 == 0) {
                    v0_8.init(4, this.privKey);
                    int v1_5 = v0_8.unwrap(p7, this.helper.getKeyAlgorithmName(p6.getAlgorithm()), 3);
                    try {
                        if (this.unwrappedKeyMustBeEncodable) {
                            int v2_5 = v1_5.getEncoded();
                            if ((v2_5 == 0) || (v2_5.length == 0)) {
                                if (v3_0 == null) {
                                    v0_8.init(2, this.privKey);
                                    v3_0 = new javax.crypto.spec.SecretKeySpec(v0_8.doFinal(p7), p6.getAlgorithm().getId());
                                }
                                return new org.bouncycastle.operator.jcajce.JceGenericKey(p6, v3_0);
                            }
                        }
                    } catch (java.security.GeneralSecurityException) {
                    }
                    v3_0 = v1_5;
                } else {
                    v0_8.init(4, this.privKey, v1_0);
                }
            } catch (java.security.GeneralSecurityException) {
            }
        } catch (javax.crypto.BadPaddingException v6_3) {
            String v0_11 = new StringBuilder();
            v0_11.append("key invalid: ");
            v0_11.append(v6_3.getMessage());
            throw new org.bouncycastle.operator.OperatorException(v0_11.toString(), v6_3);
        } catch (javax.crypto.BadPaddingException v6_2) {
            String v0_7 = new StringBuilder();
            v0_7.append("illegal blocksize: ");
            v0_7.append(v6_2.getMessage());
            throw new org.bouncycastle.operator.OperatorException(v0_7.toString(), v6_2);
        } catch (javax.crypto.BadPaddingException v6_1) {
            String v0_4 = new StringBuilder();
            v0_4.append("bad padding: ");
            v0_4.append(v6_1.getMessage());
            throw new org.bouncycastle.operator.OperatorException(v0_4.toString(), v6_1);
        }
    }

Method org.spongycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.cryptData() calling method javax.crypto.Cipher.doFinal()


    protected byte[] cryptData(boolean p4, org.spongycastle.a.u.a p5, char[] p6, boolean p7, byte[] p8)
    {
        String v4_6;
        org.spongycastle.a.o v0 = p5.a();
        if (p4 == null) {
            v4_6 = 2;
        } else {
            v4_6 = 1;
        }
        if (!v0.a(org.spongycastle.a.o.o.bv)) {
            if (!v0.equals(org.spongycastle.a.o.o.y)) {
                java.io.IOException v5_2 = new StringBuilder();
                v5_2.append("unknown PBE algorithm: ");
                v5_2.append(v0);
                throw new java.io.IOException(v5_2.toString());
            } else {
                try {
                    return this.createCipher(v4_6, p6, p5).doFinal(p8);
                } catch (String v4_5) {
                    StringBuilder v6_3 = new StringBuilder();
                    v6_3.append("exception decrypting data - ");
                    v6_3.append(v4_5.toString());
                    throw new java.io.IOException(v6_3.toString());
                }
            }
        } else {
            java.io.IOException v5_7 = org.spongycastle.a.o.n.a(p5.b());
            new javax.crypto.spec.PBEKeySpec(p6);
            try {
                javax.crypto.spec.PBEParameterSpec v1_3 = new javax.crypto.spec.PBEParameterSpec(v5_7.b(), v5_7.a().intValue());
                java.io.IOException v5_11 = new org.spongycastle.jcajce.d(p6, p7);
                StringBuilder v6_5 = this.helper.a(v0.b());
                v6_5.init(v4_6, v5_11, v1_3);
                return v6_5.doFinal(p8);
            } catch (String v4_10) {
                StringBuilder v6_7 = new StringBuilder();
                v6_7.append("exception decrypting data - ");
                v6_7.append(v4_10.toString());
                throw new java.io.IOException(v6_7.toString());
            }
        }
    }

Method org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.cryptData() calling method javax.crypto.Cipher.doFinal()


    protected byte[] cryptData(boolean p4, org.bouncycastle.asn1.x509.AlgorithmIdentifier p5, char[] p6, boolean p7, byte[] p8)
    {
        String v4_6;
        org.bouncycastle.asn1.ASN1ObjectIdentifier v0 = p5.getAlgorithm();
        if (p4 == null) {
            v4_6 = 2;
        } else {
            v4_6 = 1;
        }
        if (!v0.on(org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pkcs_12PbeIds)) {
            if (!v0.equals(org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_PBES2)) {
                java.io.IOException v5_2 = new StringBuilder();
                v5_2.append("unknown PBE algorithm: ");
                v5_2.append(v0);
                throw new java.io.IOException(v5_2.toString());
            } else {
                try {
                    return this.createCipher(v4_6, p6, p5).doFinal(p8);
                } catch (String v4_5) {
                    StringBuilder v6_3 = new StringBuilder();
                    v6_3.append("exception decrypting data - ");
                    v6_3.append(v4_5.toString());
                    throw new java.io.IOException(v6_3.toString());
                }
            }
        } else {
            java.io.IOException v5_7 = org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getInstance(p5.getParameters());
            new javax.crypto.spec.PBEKeySpec(p6);
            try {
                javax.crypto.spec.PBEParameterSpec v1_3 = new javax.crypto.spec.PBEParameterSpec(v5_7.getIV(), v5_7.getIterations().intValue());
                java.io.IOException v5_11 = new org.bouncycastle.jcajce.PKCS12Key(p6, p7);
                StringBuilder v6_5 = this.helper.createCipher(v0.getId());
                v6_5.init(v4_6, v5_11, v1_3);
                return v6_5.doFinal(p8);
            } catch (String v4_10) {
                StringBuilder v6_7 = new StringBuilder();
                v6_7.append("exception decrypting data - ");
                v6_7.append(v4_10.toString());
                throw new java.io.IOException(v6_7.toString());
            }
        }
    }

Method org.bouncycastle.openssl.jcajce.PEMUtilities.crypt() calling method javax.crypto.Cipher.doFinal()


    static byte[] crypt(boolean p13, org.bouncycastle.jcajce.util.JcaJceHelper p14, byte[] p15, char[] p16, String p17, byte[] p18)
    {
        byte[] v3_4 = new javax.crypto.spec.IvParameterSpec(p18);
        int v4_0 = "CBC";
        int v6_2 = "PKCS5Padding";
        if (p17.endsWith("-CFB")) {
            v4_0 = "CFB";
            v6_2 = "NoPadding";
        }
        if ((p17.endsWith("-ECB")) || (("DES-EDE".equals(p17)) || ("DES-EDE3".equals(p17)))) {
            v4_0 = "ECB";
            v3_4 = 0;
        }
        javax.crypto.spec.RC2ParameterSpec v7_1 = v3_4;
        if (p17.endsWith("-OFB")) {
            v4_0 = "OFB";
            v6_2 = "NoPadding";
        }
        String v1_2;
        String v11;
        String v8 = v4_0;
        String v9 = v6_2;
        int v10 = 1;
        if (!p17.startsWith("DES-EDE")) {
            if (!p17.startsWith("DES-")) {
                if (!p17.startsWith("BF-")) {
                    int v6_0 = 128;
                    if (!p17.startsWith("RC2-")) {
                        if (!p17.startsWith("AES-")) {
                            throw new org.bouncycastle.openssl.EncryptionException("unknown encryption with private key");
                        } else {
                            byte[] v3_19;
                            v11 = "AES";
                            if (p18.length <= 8) {
                                v3_19 = p18;
                            } else {
                                v3_19 = new byte[8];
                                System.arraycopy(p18, 0, v3_19, 0, 8);
                            }
                            if (!p17.startsWith("AES-128-")) {
                                if (!p17.startsWith("AES-192-")) {
                                    if (!p17.startsWith("AES-256-")) {
                                        throw new org.bouncycastle.openssl.EncryptionException("unknown AES encryption with private key");
                                    } else {
                                        v6_0 = 256;
                                    }
                                } else {
                                    v6_0 = 192;
                                }
                            }
                            v1_2 = org.bouncycastle.openssl.jcajce.PEMUtilities.getKey(p14, p16, "AES", (v6_0 / 8), v3_19);
                        }
                    } else {
                        v11 = "RC2";
                        if (!p17.startsWith("RC2-40-")) {
                            if (p17.startsWith("RC2-64-")) {
                                v6_0 = 64;
                            }
                        } else {
                            v6_0 = 40;
                        }
                        javax.crypto.spec.RC2ParameterSpec v2_2;
                        v1_2 = org.bouncycastle.openssl.jcajce.PEMUtilities.getKey(p14, p16, "RC2", (v6_0 / 8), p18);
                        if (v7_1 != null) {
                            v2_2 = new javax.crypto.spec.RC2ParameterSpec(v6_0, p18);
                        } else {
                            v2_2 = new javax.crypto.spec.RC2ParameterSpec(v6_0);
                        }
                        v7_1 = v2_2;
                    }
                } else {
                    v11 = "Blowfish";
                    v1_2 = org.bouncycastle.openssl.jcajce.PEMUtilities.getKey(p14, p16, "Blowfish", 16, p18);
                }
            } else {
                v11 = "DES";
                v1_2 = org.bouncycastle.openssl.jcajce.PEMUtilities.getKey(p14, p16, "DES", 8, p18);
            }
        } else {
            v11 = "DESede";
            v1_2 = org.bouncycastle.openssl.jcajce.PEMUtilities.getKey(p14, p16, "DESede", 24, p18, (p17.startsWith("DES-EDE3") ^ 1));
        }
        javax.crypto.spec.RC2ParameterSpec v2_6 = new StringBuilder();
        v2_6.append(v11);
        v2_6.append("/");
        v2_6.append(v8);
        v2_6.append("/");
        v2_6.append(v9);
        try {
            org.bouncycastle.openssl.EncryptionException v0_0 = p14.createCipher(v2_6.toString());
        } catch (org.bouncycastle.openssl.EncryptionException v0_1) {
            throw new org.bouncycastle.openssl.EncryptionException("exception using cipher - please check password and data.", v0_1);
        }
        if (!p13) {
            v10 = 2;
        } else {
        }
        if (v7_1 != null) {
            v0_0.init(v10, v1_2, v7_1);
        } else {
            v0_0.init(v10, v1_2);
        }
        return v0_0.doFinal(p15);
    }

Method org.bouncycastle.jcajce.io.CipherOutputStream.close() calling method javax.crypto.Cipher.doFinal()


    public void close()
    {
        try {
            int v0_3 = this.cipher.doFinal();
        } catch (int v0_2) {
            int v1_0 = new org.bouncycastle.crypto.io.InvalidCipherTextIOException("Error during cipher finalisation", v0_2);
            try {
                this.flush();
                this.out.close();
            } catch (int v0_6) {
                if (v1_0 != 0) {
                } else {
                    if (v0_6 != 0) {
                        throw v0_6;
                    } else {
                        return;
                    }
                }
            }
            v0_6 = v1_0;
        } catch (int v0_7) {
            StringBuilder v2_2 = new StringBuilder();
            v2_2.append("Error closing stream: ");
            v2_2.append(v0_7);
            v1_0 = new java.io.IOException(v2_2.toString());
        }
        if (v0_3 != 0) {
            this.out.write(v0_3);
        }
        v1_0 = 0;
    }

Method org.bouncycastle.jcajce.io.CipherInputStream.finaliseCipher() calling method javax.crypto.Cipher.doFinal()


    private byte[] finaliseCipher()
    {
        try {
            this.finalized = 1;
            return this.cipher.doFinal();
        } catch (java.security.GeneralSecurityException v0_3) {
            throw new org.bouncycastle.crypto.io.InvalidCipherTextIOException("Error finalising cipher", v0_3);
        }
    }

Method com.google.android.gms.internal.bd.a() calling method javax.crypto.Cipher.doFinal()


    private static String a(javax.crypto.Cipher p1, String p2, javax.crypto.spec.SecretKeySpec p3, javax.crypto.spec.IvParameterSpec p4)
    {
        if ((p2 == null) || (p2.length() == 0)) {
            throw new RuntimeException("Encrypt: empty input string");
        } else {
            try {
                p1.init(1, p3, p4);
                return com.google.android.gms.internal.arq.a(p1.doFinal(p2.getBytes()));
            } catch (String v1_3) {
                String v1_5 = String.valueOf(v1_3.getMessage());
                if (v1_5.length() == 0) {
                    String v1_7 = new String("Encrypt: ");
                } else {
                    v1_7 = "Encrypt: ".concat(v1_5);
                }
                throw new RuntimeException(v1_7);
            }
        }
    }

Method org.apache.http.impl.auth.NTLMEngineImpl.lmResponse() calling method javax.crypto.Cipher.doFinal()


    private static byte[] lmResponse(byte[] p6, byte[] p7)
    {
        try {
            String v0_1 = new byte[21];
            System.arraycopy(p6, 0, v0_1, 0, 16);
            Exception v6_3 = org.apache.http.impl.auth.NTLMEngineImpl.createDESKey(v0_1, 0);
            byte[] v3_2 = org.apache.http.impl.auth.NTLMEngineImpl.createDESKey(v0_1, 7);
            String v0_2 = org.apache.http.impl.auth.NTLMEngineImpl.createDESKey(v0_1, 14);
            int v4_2 = javax.crypto.Cipher.getInstance("DES/ECB/NoPadding");
            v4_2.init(1, v6_3);
            Exception v6_1 = v4_2.doFinal(p7);
            v4_2.init(1, v3_2);
            byte[] v3_0 = v4_2.doFinal(p7);
            v4_2.init(1, v0_2);
            org.apache.http.impl.auth.NTLMEngineException v7_1 = v4_2.doFinal(p7);
            String v0_4 = new byte[24];
            System.arraycopy(v6_1, 0, v0_4, 0, 8);
            System.arraycopy(v3_0, 0, v0_4, 8, 8);
            System.arraycopy(v7_1, 0, v0_4, 16, 8);
            return v0_4;
        } catch (Exception v6_2) {
            throw new org.apache.http.impl.auth.NTLMEngineException(v6_2.getMessage(), v6_2);
        }
    }

Method org.apache.http.impl.auth.NTLMEngineImpl.lmHash() calling method javax.crypto.Cipher.doFinal()


    private static byte[] lmHash(String p5)
    {
        try {
            Exception v5_5 = p5.toUpperCase(java.util.Locale.ENGLISH).getBytes("US-ASCII");
            String v1_0 = new byte[14];
            System.arraycopy(v5_5, 0, v1_0, 0, Math.min(v5_5.length, 14));
            Exception v5_1 = org.apache.http.impl.auth.NTLMEngineImpl.createDESKey(v1_0, 0);
            org.apache.http.impl.auth.NTLMEngineException v0_2 = org.apache.http.impl.auth.NTLMEngineImpl.createDESKey(v1_0, 7);
            String v1_2 = "KGS!@#$%".getBytes("US-ASCII");
            int v3_2 = javax.crypto.Cipher.getInstance("DES/ECB/NoPadding");
            v3_2.init(1, v5_1);
            Exception v5_3 = v3_2.doFinal(v1_2);
            v3_2.init(1, v0_2);
            org.apache.http.impl.auth.NTLMEngineException v0_4 = v3_2.doFinal(v1_2);
            String v1_4 = new byte[16];
            System.arraycopy(v5_3, 0, v1_4, 0, 8);
            System.arraycopy(v0_4, 0, v1_4, 8, 8);
            return v1_4;
        } catch (Exception v5_4) {
            throw new org.apache.http.impl.auth.NTLMEngineException(v5_4.getMessage(), v5_4);
        }
    }

Method org.apache.http.impl.auth.NTLMEngineImpl.RC4() calling method javax.crypto.Cipher.doFinal()


    static byte[] RC4(byte[] p4, byte[] p5)
    {
        try {
            String v0_2 = javax.crypto.Cipher.getInstance("RC4");
            v0_2.init(1, new javax.crypto.spec.SecretKeySpec(p5, "RC4"));
            return v0_2.doFinal(p4);
        } catch (Exception v4_1) {
            throw new org.apache.http.impl.auth.NTLMEngineException(v4_1.getMessage(), v4_1);
        }
    }

Method org.apache.http.impl.auth.NTLMEngineImpl$CipherGen.getLanManagerSessionKey() calling method javax.crypto.Cipher.doFinal()


    public byte[] getLanManagerSessionKey()
    {
        if (this.lanManagerSessionKey == null) {
            try {
                Exception v0_3 = new byte[14];
                System.arraycopy(this.getLMHash(), 0, v0_3, 0, 8);
                java.util.Arrays.fill(v0_3, 8, v0_3.length, -67);
                org.apache.http.impl.auth.NTLMEngineException v1_0 = org.apache.http.impl.auth.NTLMEngineImpl.access$900(v0_3, 0);
                Exception v0_1 = org.apache.http.impl.auth.NTLMEngineImpl.access$900(v0_3, 7);
                String v2_0 = new byte[8];
                System.arraycopy(this.getLMResponse(), 0, v2_0, 0, v2_0.length);
                int v4_4 = javax.crypto.Cipher.getInstance("DES/ECB/NoPadding");
                v4_4.init(1, v1_0);
                org.apache.http.impl.auth.NTLMEngineException v1_1 = v4_4.doFinal(v2_0);
                int v4_6 = javax.crypto.Cipher.getInstance("DES/ECB/NoPadding");
                v4_6.init(1, v0_1);
                Exception v0_4 = v4_6.doFinal(v2_0);
                String v2_2 = new byte[16];
                this.lanManagerSessionKey = v2_2;
                System.arraycopy(v1_1, 0, this.lanManagerSessionKey, 0, v1_1.length);
                System.arraycopy(v0_4, 0, this.lanManagerSessionKey, v1_1.length, v0_4.length);
            } catch (Exception v0_5) {
                throw new org.apache.http.impl.auth.NTLMEngineException(v0_5.getMessage(), v0_5);
            }
        }
        return this.lanManagerSessionKey;
    }

Method com.upi.hcesdk.security.SecurityManager.tripleDESECBEncrypt() calling method javax.crypto.Cipher.doFinal()


    public static String tripleDESECBEncrypt(String p4, String p5)
    {
        javax.crypto.Cipher v0_1 = new byte[24];
        int v4_6 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p4);
        System.arraycopy(v4_6, 0, v0_1, 0, 16);
        System.arraycopy(v4_6, 0, v0_1, 16, 8);
        int v4_1 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p5);
        try {
            javax.crypto.spec.SecretKeySpec v5_2 = new javax.crypto.spec.SecretKeySpec(v0_1, "DESede");
            javax.crypto.Cipher v0_3 = javax.crypto.Cipher.getInstance("DESede/ECB/NoPadding");
            v0_3.init(1, v5_2);
            return com.upi.hcesdk.util.ByteUtil.byteToHexStr(v0_3.doFinal(v4_1));
        } catch (int v4_4) {
            v4_4.printStackTrace();
            return 0;
        }
    }

Method com.upi.hcesdk.security.SecurityManager.tripleDESCBCEncrypt() calling method javax.crypto.Cipher.doFinal()


    public static String tripleDESCBCEncrypt(String p4, String p5)
    {
        javax.crypto.spec.IvParameterSpec v0_1 = new byte[24];
        int v4_6 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p4);
        System.arraycopy(v4_6, 0, v0_1, 0, 16);
        System.arraycopy(v4_6, 0, v0_1, 16, 8);
        int v4_1 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p5);
        try {
            javax.crypto.spec.SecretKeySpec v5_2 = new javax.crypto.spec.SecretKeySpec(v0_1, "DESede");
            javax.crypto.Cipher v1_1 = new byte[8];
            javax.crypto.spec.IvParameterSpec v0_3 = new javax.crypto.spec.IvParameterSpec(v1_1);
            javax.crypto.Cipher v1_3 = javax.crypto.Cipher.getInstance("DESede/CBC/NoPadding");
            v1_3.init(1, v5_2, v0_3);
            return com.upi.hcesdk.util.ByteUtil.byteToHexStr(v1_3.doFinal(v4_1));
        } catch (int v4_4) {
            v4_4.printStackTrace();
            return 0;
        }
    }

Method com.upi.hcesdk.security.SecurityManager.encryptUsingPublicKey() calling method javax.crypto.Cipher.doFinal()


    private static byte[] encryptUsingPublicKey(String p2, javax.crypto.Cipher p3)
    {
        try {
            int v2_2 = p3.doFinal(com.upi.hcesdk.util.ByteUtil.hexStrToByte(p2));
        } catch (int v2_3) {
            String v0_2 = new StringBuilder();
            v0_2.append("Exception in using encrypt using public key : ");
            v0_2.append(v2_3.getMessage());
            com.upi.hcesdk.util.LogUtil.error(com.upi.hcesdk.security.SecurityManager.LOGTAG, v0_2.toString());
            v2_3.printStackTrace();
            v2_2 = 0;
        }
        return v2_2;
    }

Method com.upi.hcesdk.security.SecurityManager.desEncrypt() calling method javax.crypto.Cipher.doFinal()


    public static String desEncrypt(String p2, String p3)
    {
        int v2_1 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p2);
        byte[] v3_1 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p3);
        try {
            javax.crypto.spec.SecretKeySpec v0_1 = new javax.crypto.spec.SecretKeySpec(v2_1, "DES");
            int v2_7 = javax.crypto.Cipher.getInstance("DES/ECB/NoPadding");
            v2_7.init(1, v0_1);
            return com.upi.hcesdk.util.ByteUtil.byteToHexStr(v2_7.doFinal(v3_1));
        } catch (int v2_4) {
            v2_4.printStackTrace();
            return 0;
        }
    }

Method com.upi.hcesdk.security.SecurityManager.des3cipherCBC() calling method javax.crypto.Cipher.doFinal()


    private static String des3cipherCBC(com.upi.hcesdk.security.KeyObject p4, String p5, int p6)
    {
        if (p5 == null) {
            com.upi.hcesdk.util.LogUtil.error(com.upi.hcesdk.security.SecurityManager.LOGTAG, "[des3cipherCBC] Null cipherText");
        }
        String v6_1;
        String v1_3 = javax.crypto.Cipher.getInstance("DESede/CBC/NoPadding");
        String v3_0 = new byte[8];
        StringBuilder v2_0 = new javax.crypto.spec.IvParameterSpec(v3_0);
        String v3_1 = 1;
        if (p6 != 1) {
            v3_1 = 2;
            if (p6 != 2) {
                return 0;
            } else {
                v6_1 = p4.getSecretKey();
            }
        } else {
            v6_1 = p4.getSecretKey();
        }
        v1_3.init(v3_1, v6_1, v2_0);
        return com.upi.hcesdk.util.ByteUtil.byteToHexStr(v1_3.doFinal(com.upi.hcesdk.util.ByteUtil.hexStrToByte(p5)));
    }

Method com.upi.hcesdk.security.KeyObject.set3DESSecretKey() calling method javax.crypto.Cipher.doFinal()


    public void set3DESSecretKey(byte[] p6)
    {
        if (p6 == null) {
            com.upi.hcesdk.util.LogUtil.error(com.upi.hcesdk.security.KeyObject.LOGTAG, "null key in set3DESSecretKey");
        }
        try {
            String v6_1;
            if (p6.length != 16) {
                v6_1 = new javax.crypto.spec.DESedeKeySpec(p6);
                this.secretKey = javax.crypto.SecretKeyFactory.getInstance("DESede").generateSecret(v6_1);
                String v6_8 = javax.crypto.Cipher.getInstance("DESede/ECB/NoPadding");
                v6_8.init(1, this.secretKey);
                int v0_9 = new byte[8];
                this.kcv = com.upi.hcesdk.util.ByteUtil.byteToHexStr(v6_8.doFinal(v0_9)).substring(0, 6);
            } else {
                int v0_3 = new byte[24];
                System.arraycopy(p6, 0, v0_3, 0, p6.length);
                System.arraycopy(p6, 0, v0_3, 16, 8);
                v6_1 = new javax.crypto.spec.DESedeKeySpec(v0_3);
            }
        } catch (String v6_3) {
            StringBuilder v1_2 = new StringBuilder();
            v1_2.append("Exception in set key : ");
            v1_2.append(v6_3.getMessage());
            com.upi.hcesdk.util.LogUtil.error(com.upi.hcesdk.security.KeyObject.LOGTAG, v1_2.toString());
        }
        return;
    }

Method com.paysys.nbpdigital.utils.ThreeDES.encrypt() calling method javax.crypto.Cipher.doFinal()


    private byte[] encrypt(String p5, String p6)
    {
        String v6_1 = this.acopyof(java.security.MessageDigest.getInstance("md5").digest(p6.getBytes("utf-8")), 24);
        javax.crypto.spec.SecretKeySpec v0_1 = 0;
        javax.crypto.Cipher v1_0 = 16;
        while (v0_1 < 8) {
            int v2_2 = (v1_0 + 1);
            int v3 = (v0_1 + 1);
            v6_1[v1_0] = v6_1[v0_1];
            v1_0 = v2_2;
            v0_1 = v3;
        }
        javax.crypto.spec.SecretKeySpec v0_3 = new javax.crypto.spec.SecretKeySpec(v6_1, "DESede");
        javax.crypto.Cipher v1_2 = new byte[8];
        String v6_3 = new javax.crypto.spec.IvParameterSpec(v1_2);
        javax.crypto.Cipher v1_4 = javax.crypto.Cipher.getInstance("DESede/CBC/PKCS7Padding");
        v1_4.init(1, v0_3, v6_3);
        return v1_4.doFinal(p5.getBytes("utf-8"));
    }

Method com.paysys.nbpdigital.utils.ThreeDES.decrypt() calling method javax.crypto.Cipher.doFinal()


    private String decrypt(byte[] p5, String p6)
    {
        String v6_1 = this.acopyof(java.security.MessageDigest.getInstance("md5").digest(p6.getBytes("utf-8")), 24);
        String v0_1 = 0;
        javax.crypto.Cipher v1_0 = 16;
        while (v0_1 < 8) {
            int v2_2 = (v1_0 + 1);
            int v3 = (v0_1 + 1);
            v6_1[v1_0] = v6_1[v0_1];
            v1_0 = v2_2;
            v0_1 = v3;
        }
        String v0_3 = new javax.crypto.spec.SecretKeySpec(v6_1, "DESede");
        javax.crypto.Cipher v1_2 = new byte[8];
        String v6_3 = new javax.crypto.spec.IvParameterSpec(v1_2);
        javax.crypto.Cipher v1_4 = javax.crypto.Cipher.getInstance("DESede/CBC/PKCS7Padding");
        v1_4.init(2, v0_3, v6_3);
        return new String(v1_4.doFinal(p5), "UTF-8");
    }

Method com.google.android.gms.internal.ato.a() calling method javax.crypto.Cipher.doFinal()


    public final byte[] a(byte[] p6, String p7)
    {
        if (p6.length != 16) {
            throw new com.google.android.gms.internal.aup(this);
        } else {
            try {
                Throwable v7_20 = com.google.android.gms.internal.ahz.a(p7, 0);
            } catch (com.google.android.gms.internal.aup v6_11) {
                throw new com.google.android.gms.internal.aup(this, v6_11);
            } catch (com.google.android.gms.internal.aup v6_10) {
                throw new com.google.android.gms.internal.aup(this, v6_10);
            } catch (com.google.android.gms.internal.aup v6_9) {
                throw new com.google.android.gms.internal.aup(this, v6_9);
            } catch (com.google.android.gms.internal.aup v6_8) {
                throw new com.google.android.gms.internal.aup(this, v6_8);
            } catch (com.google.android.gms.internal.aup v6_7) {
                throw new com.google.android.gms.internal.aup(this, v6_7);
            } catch (com.google.android.gms.internal.aup v6_6) {
                throw new com.google.android.gms.internal.aup(this, v6_6);
            } catch (com.google.android.gms.internal.aup v6_5) {
                throw new com.google.android.gms.internal.aup(this, v6_5);
            }
            if (v7_20.length <= 16) {
                throw new com.google.android.gms.internal.aup(this);
            } else {
                javax.crypto.Cipher v0_2 = java.nio.ByteBuffer.allocate(v7_20.length);
                v0_2.put(v7_20);
                v0_2.flip();
                byte[] v2 = new byte[16];
                Throwable v7_3 = new byte[(v7_20.length - 16)];
                v0_2.get(v2);
                v0_2.get(v7_3);
                ark>com.google.android.gms.internal.atoark>.a().init(2, new javax.crypto.spec.SecretKeySpec(p6, "AES"), new javax.crypto.spec.IvParameterSpec(v2));
                return ark>com.google.android.gms.internal.atoark>.a().doFinal(v7_3);
            }
        }
    }

Method com.google.android.gms.internal.ato.a() calling method javax.crypto.Cipher.doFinal()


    public final String a(byte[] p5, byte[] p6)
    {
        if (p5.length != 16) {
            throw new com.google.android.gms.internal.aup(this);
        } else {
            try {
            } catch (String v5_11) {
                throw new com.google.android.gms.internal.aup(this, v5_11);
            } catch (String v5_10) {
                throw new com.google.android.gms.internal.aup(this, v5_10);
            } catch (String v5_9) {
                throw new com.google.android.gms.internal.aup(this, v5_9);
            } catch (String v5_8) {
                throw new com.google.android.gms.internal.aup(this, v5_8);
            } catch (String v5_7) {
                throw new com.google.android.gms.internal.aup(this, v5_7);
            }
            ark>com.google.android.gms.internal.atoark>.a().init(1, new javax.crypto.spec.SecretKeySpec(p5, "AES"), 0);
            int v6_1 = ark>com.google.android.gms.internal.atoark>.a().doFinal(p6);
            java.nio.ByteBuffer v0_3 = ark>com.google.android.gms.internal.atoark>.a().getIV();
            String v5_2 = (v6_1.length + v0_3.length);
            java.nio.ByteBuffer v1_3 = java.nio.ByteBuffer.allocate(v5_2);
            v1_3.put(v0_3).put(v6_1);
            v1_3.flip();
            String v5_4 = new byte[v5_2];
            v1_3.get(v5_4);
            return com.google.android.gms.internal.ahz.a(v5_4, 0);
        }
    }

Method com.b.a.a.c.a() calling method javax.crypto.Cipher.doFinal()


    public static byte[] a(javax.crypto.SecretKey p2, byte[] p3, byte[] p4, byte[] p5, byte[] p6, java.security.Provider p7)
    {
        try {
            javax.crypto.Cipher v7_2;
            if (p7 == null) {
                v7_2 = javax.crypto.Cipher.getInstance("AES/GCM/NoPadding");
            } else {
                v7_2 = javax.crypto.Cipher.getInstance("AES/GCM/NoPadding", p7);
            }
        } catch (NoClassDefFoundError) {
            return com.b.a.a.r.a(p2, p3, p4, p5, p6);
        }
        v7_2.init(2, p2, new javax.crypto.spec.GCMParameterSpec(128, p3));
        v7_2.updateAAD(p5);
        try {
            javax.crypto.IllegalBlockSizeException v2_1 = new byte[][2];
            v2_1[0] = p4;
            v2_1[1] = p6;
            return v7_2.doFinal(com.b.a.d.d.a(v2_1));
        } catch (javax.crypto.IllegalBlockSizeException v2_4) {
            String v4_5 = new StringBuilder("AES/GCM/NoPadding decryption failed: ");
            v4_5.append(v2_4.getMessage());
            throw new com.b.a.f(v4_5.toString(), v2_4);
        }
    }

Method com.b.a.a.c.a() calling method javax.crypto.Cipher.doFinal()


    public static com.b.a.a.e a(javax.crypto.SecretKey p4, com.b.a.d.e p5, byte[] p6, byte[] p7, java.security.Provider p8)
    {
        javax.crypto.Cipher v8_2;
        int v0_1 = ((byte[]) p5.a());
        try {
            if (p8 == null) {
                v8_2 = javax.crypto.Cipher.getInstance("AES/GCM/NoPadding");
            } else {
                v8_2 = javax.crypto.Cipher.getInstance("AES/GCM/NoPadding", p8);
            }
        } catch (NoClassDefFoundError) {
            return com.b.a.a.r.a(p4, v0_1, p6, p7);
        }
        v8_2.init(1, p4, new javax.crypto.spec.GCMParameterSpec(128, v0_1));
        v8_2.updateAAD(p7);
        try {
            javax.crypto.IllegalBlockSizeException v4_2 = v8_2.doFinal(p6);
            String v6_5 = (v4_2.length - com.b.a.d.d.b(128));
            String v7_5 = com.b.a.d.d.a(v4_2, 0, v6_5);
            javax.crypto.IllegalBlockSizeException v4_3 = com.b.a.d.d.a(v4_2, v6_5, com.b.a.d.d.b(128));
            p5.a(ark>com.b.a.a.cark>.a(v8_2));
            return new com.b.a.a.e(v7_5, v4_3);
        } catch (javax.crypto.IllegalBlockSizeException v4_4) {
            String v6_8 = new StringBuilder("Couldn\'t encrypt with AES/GCM/NoPadding: ");
            v6_8.append(v4_4.getMessage());
            throw new com.b.a.f(v6_8.toString(), v4_4);
        }
    }

Method com.b.a.a.b.b() calling method javax.crypto.Cipher.doFinal()


    public static byte[] b(javax.crypto.SecretKey p1, byte[] p2, byte[] p3, java.security.Provider p4)
    {
        try {
            return com.b.a.a.b.a(p1, 0, p2, p4).doFinal(p3);
        } catch (Exception v1_3) {
            throw new com.b.a.f(v1_3.getMessage(), v1_3);
        }
    }

Method com.b.a.a.b.a() calling method javax.crypto.Cipher.doFinal()


    public static byte[] a(javax.crypto.SecretKey p1, byte[] p2, byte[] p3, java.security.Provider p4)
    {
        try {
            return ark>com.b.a.a.bark>.a(p1, 1, p2, p4).doFinal(p3);
        } catch (Exception v1_3) {
            throw new com.b.a.f(v1_3.getMessage(), v1_3);
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.TLSKDF$TLS12.engineGenerateSecret() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateSecret(java.security.spec.KeySpec p3)
    {
        if (!(p3 instanceof org.bouncycastle.jcajce.spec.TLSKeyMaterialSpec)) {
            throw new java.security.spec.InvalidKeySpecException("Invalid KeySpec");
        } else {
            return new javax.crypto.spec.SecretKeySpec(this.PRF(((org.bouncycastle.jcajce.spec.TLSKeyMaterialSpec) p3), this.prf), this.algName);
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.TLSKDF$TLS11.engineGenerateSecret() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateSecret(java.security.spec.KeySpec p3)
    {
        if (!(p3 instanceof org.bouncycastle.jcajce.spec.TLSKeyMaterialSpec)) {
            throw new java.security.spec.InvalidKeySpecException("Invalid KeySpec");
        } else {
            return new javax.crypto.spec.SecretKeySpec(org.bouncycastle.jcajce.provider.symmetric.TLSKDF.access$000(((org.bouncycastle.jcajce.spec.TLSKeyMaterialSpec) p3)), this.algName);
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.TLSKDF$TLS10.engineGenerateSecret() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateSecret(java.security.spec.KeySpec p3)
    {
        if (!(p3 instanceof org.bouncycastle.jcajce.spec.TLSKeyMaterialSpec)) {
            throw new java.security.spec.InvalidKeySpecException("Invalid KeySpec");
        } else {
            return new javax.crypto.spec.SecretKeySpec(org.bouncycastle.jcajce.provider.symmetric.TLSKDF.access$000(((org.bouncycastle.jcajce.spec.TLSKeyMaterialSpec) p3)), this.algName);
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.OpenSSLPBKDF$PBKDF.engineGenerateSecret() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateSecret(java.security.spec.KeySpec p4)
    {
        if (!(p4 instanceof javax.crypto.spec.PBEKeySpec)) {
            throw new java.security.spec.InvalidKeySpecException("Invalid KeySpec");
        } else {
            if (((javax.crypto.spec.PBEKeySpec) p4).getSalt() == null) {
                throw new java.security.spec.InvalidKeySpecException("missing required salt");
            } else {
                if (((javax.crypto.spec.PBEKeySpec) p4).getIterationCount() <= 0) {
                    javax.crypto.spec.SecretKeySpec v1_1 = new StringBuilder();
                    v1_1.append("positive iteration count required: ");
                    v1_1.append(((javax.crypto.spec.PBEKeySpec) p4).getIterationCount());
                    throw new java.security.spec.InvalidKeySpecException(v1_1.toString());
                } else {
                    if (((javax.crypto.spec.PBEKeySpec) p4).getKeyLength() <= 0) {
                        javax.crypto.spec.SecretKeySpec v1_3 = new StringBuilder();
                        v1_3.append("positive key length required: ");
                        v1_3.append(((javax.crypto.spec.PBEKeySpec) p4).getKeyLength());
                        throw new java.security.spec.InvalidKeySpecException(v1_3.toString());
                    } else {
                        if (((javax.crypto.spec.PBEKeySpec) p4).getPassword().length == 0) {
                            throw new IllegalArgumentException("password empty");
                        } else {
                            String v0_13 = new org.spongycastle.crypto.a.s();
                            v0_13.a(org.spongycastle.c.n.b(((javax.crypto.spec.PBEKeySpec) p4).getPassword()), ((javax.crypto.spec.PBEKeySpec) p4).getSalt());
                            return new javax.crypto.spec.SecretKeySpec(((org.spongycastle.crypto.params.KeyParameter) v0_13.generateDerivedParameters(((javax.crypto.spec.PBEKeySpec) p4).getKeyLength())).getKey(), "OpenSSLPBKDF");
                        }
                    }
                }
            }
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.DESede$KeyFactory.engineGetKeySpec() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected java.security.spec.KeySpec engineGetKeySpec(javax.crypto.SecretKey p4, Class p5)
    {
        if (p5 == null) {
            throw new java.security.spec.InvalidKeySpecException("keySpec parameter is null");
        } else {
            if (p4 == null) {
                throw new java.security.spec.InvalidKeySpecException("key parameter is null");
            } else {
                if (!javax.crypto.spec.SecretKeySpec.isAssignableFrom(p5)) {
                    if (!javax.crypto.spec.DESedeKeySpec.isAssignableFrom(p5)) {
                        throw new java.security.spec.InvalidKeySpecException("Invalid KeySpec");
                    } else {
                        javax.crypto.spec.DESedeKeySpec v4_4 = p4.getEncoded();
                        try {
                            if (v4_4.length != 16) {
                                return new javax.crypto.spec.DESedeKeySpec(v4_4);
                            } else {
                                javax.crypto.spec.DESedeKeySpec v5_8 = new byte[24];
                                System.arraycopy(v4_4, 0, v5_8, 0, 16);
                                System.arraycopy(v4_4, 0, v5_8, 16, 8);
                                return new javax.crypto.spec.DESedeKeySpec(v5_8);
                            }
                        } catch (javax.crypto.spec.DESedeKeySpec v4_8) {
                            throw new java.security.spec.InvalidKeySpecException(v4_8.toString());
                        }
                    }
                } else {
                    return new javax.crypto.spec.SecretKeySpec(p4.getEncoded(), this.algName);
                }
            }
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.DESede$KeyFactory.engineGenerateSecret() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateSecret(java.security.spec.KeySpec p3)
    {
        if (!(p3 instanceof javax.crypto.spec.DESedeKeySpec)) {
            return super.engineGenerateSecret(p3);
        } else {
            return new javax.crypto.spec.SecretKeySpec(((javax.crypto.spec.DESedeKeySpec) p3).getKey(), "DESede");
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.DES$KeyFactory.engineGetKeySpec() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected java.security.spec.KeySpec engineGetKeySpec(javax.crypto.SecretKey p2, Class p3)
    {
        if (p3 == null) {
            throw new java.security.spec.InvalidKeySpecException("keySpec parameter is null");
        } else {
            if (p2 == null) {
                throw new java.security.spec.InvalidKeySpecException("key parameter is null");
            } else {
                if (!javax.crypto.spec.SecretKeySpec.isAssignableFrom(p3)) {
                    if (!javax.crypto.spec.DESKeySpec.isAssignableFrom(p3)) {
                        throw new java.security.spec.InvalidKeySpecException("Invalid KeySpec");
                    } else {
                        try {
                            return new javax.crypto.spec.DESKeySpec(p2.getEncoded());
                        } catch (String v2_5) {
                            throw new java.security.spec.InvalidKeySpecException(v2_5.toString());
                        }
                    }
                } else {
                    return new javax.crypto.spec.SecretKeySpec(p2.getEncoded(), this.algName);
                }
            }
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.DES$KeyFactory.engineGenerateSecret() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateSecret(java.security.spec.KeySpec p3)
    {
        if (!(p3 instanceof javax.crypto.spec.DESKeySpec)) {
            return super.engineGenerateSecret(p3);
        } else {
            return new javax.crypto.spec.SecretKeySpec(((javax.crypto.spec.DESKeySpec) p3).getKey(), "DES");
        }
    }

Method org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.generateUnwrappedKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public org.bouncycastle.operator.GenericKey generateUnwrappedKey(org.bouncycastle.asn1.x509.AlgorithmIdentifier p6, byte[] p7)
    {
        try {
            String v0_8 = this.helper.createAsymmetricWrapper(this.getAlgorithmIdentifier().getAlgorithm(), this.extraMappings);
            int v1_0 = this.helper.createAlgorithmParameters(this.getAlgorithmIdentifier());
            javax.crypto.spec.SecretKeySpec v3_0 = 0;
            try {
                if (v1_0 == 0) {
                    v0_8.init(4, this.privKey);
                    int v1_5 = v0_8.unwrap(p7, this.helper.getKeyAlgorithmName(p6.getAlgorithm()), 3);
                    try {
                        if (this.unwrappedKeyMustBeEncodable) {
                            int v2_5 = v1_5.getEncoded();
                            if ((v2_5 == 0) || (v2_5.length == 0)) {
                                if (v3_0 == null) {
                                    v0_8.init(2, this.privKey);
                                    v3_0 = new javax.crypto.spec.SecretKeySpec(v0_8.doFinal(p7), p6.getAlgorithm().getId());
                                }
                                return new org.bouncycastle.operator.jcajce.JceGenericKey(p6, v3_0);
                            }
                        }
                    } catch (java.security.GeneralSecurityException) {
                    }
                    v3_0 = v1_5;
                } else {
                    v0_8.init(4, this.privKey, v1_0);
                }
            } catch (java.security.GeneralSecurityException) {
            }
        } catch (javax.crypto.BadPaddingException v6_3) {
            String v0_11 = new StringBuilder();
            v0_11.append("key invalid: ");
            v0_11.append(v6_3.getMessage());
            throw new org.bouncycastle.operator.OperatorException(v0_11.toString(), v6_3);
        } catch (javax.crypto.BadPaddingException v6_2) {
            String v0_7 = new StringBuilder();
            v0_7.append("illegal blocksize: ");
            v0_7.append(v6_2.getMessage());
            throw new org.bouncycastle.operator.OperatorException(v0_7.toString(), v6_2);
        } catch (javax.crypto.BadPaddingException v6_1) {
            String v0_4 = new StringBuilder();
            v0_4.append("bad padding: ");
            v0_4.append(v6_1.getMessage());
            throw new org.bouncycastle.operator.OperatorException(v0_4.toString(), v6_1);
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.OpenSSLPBKDF$PBKDF.engineGenerateSecret() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateSecret(java.security.spec.KeySpec p4)
    {
        if (!(p4 instanceof javax.crypto.spec.PBEKeySpec)) {
            throw new java.security.spec.InvalidKeySpecException("Invalid KeySpec");
        } else {
            if (((javax.crypto.spec.PBEKeySpec) p4).getSalt() == null) {
                throw new java.security.spec.InvalidKeySpecException("missing required salt");
            } else {
                if (((javax.crypto.spec.PBEKeySpec) p4).getIterationCount() <= 0) {
                    javax.crypto.spec.SecretKeySpec v1_1 = new StringBuilder();
                    v1_1.append("positive iteration count required: ");
                    v1_1.append(((javax.crypto.spec.PBEKeySpec) p4).getIterationCount());
                    throw new java.security.spec.InvalidKeySpecException(v1_1.toString());
                } else {
                    if (((javax.crypto.spec.PBEKeySpec) p4).getKeyLength() <= 0) {
                        javax.crypto.spec.SecretKeySpec v1_3 = new StringBuilder();
                        v1_3.append("positive key length required: ");
                        v1_3.append(((javax.crypto.spec.PBEKeySpec) p4).getKeyLength());
                        throw new java.security.spec.InvalidKeySpecException(v1_3.toString());
                    } else {
                        if (((javax.crypto.spec.PBEKeySpec) p4).getPassword().length == 0) {
                            throw new IllegalArgumentException("password empty");
                        } else {
                            String v0_13 = new org.bouncycastle.crypto.generators.OpenSSLPBEParametersGenerator();
                            v0_13.init(org.bouncycastle.util.Strings.toByteArray(((javax.crypto.spec.PBEKeySpec) p4).getPassword()), ((javax.crypto.spec.PBEKeySpec) p4).getSalt());
                            return new javax.crypto.spec.SecretKeySpec(((org.bouncycastle.crypto.params.KeyParameter) v0_13.generateDerivedParameters(((javax.crypto.spec.PBEKeySpec) p4).getKeyLength())).getKey(), "OpenSSLPBKDF");
                        }
                    }
                }
            }
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.DESede$KeyFactory.engineGetKeySpec() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected java.security.spec.KeySpec engineGetKeySpec(javax.crypto.SecretKey p4, Class p5)
    {
        if (p5 == null) {
            throw new java.security.spec.InvalidKeySpecException("keySpec parameter is null");
        } else {
            if (p4 == null) {
                throw new java.security.spec.InvalidKeySpecException("key parameter is null");
            } else {
                if (!javax.crypto.spec.SecretKeySpec.isAssignableFrom(p5)) {
                    if (!javax.crypto.spec.DESedeKeySpec.isAssignableFrom(p5)) {
                        throw new java.security.spec.InvalidKeySpecException("Invalid KeySpec");
                    } else {
                        javax.crypto.spec.DESedeKeySpec v4_4 = p4.getEncoded();
                        try {
                            if (v4_4.length != 16) {
                                return new javax.crypto.spec.DESedeKeySpec(v4_4);
                            } else {
                                javax.crypto.spec.DESedeKeySpec v5_8 = new byte[24];
                                System.arraycopy(v4_4, 0, v5_8, 0, 16);
                                System.arraycopy(v4_4, 0, v5_8, 16, 8);
                                return new javax.crypto.spec.DESedeKeySpec(v5_8);
                            }
                        } catch (javax.crypto.spec.DESedeKeySpec v4_8) {
                            throw new java.security.spec.InvalidKeySpecException(v4_8.toString());
                        }
                    }
                } else {
                    return new javax.crypto.spec.SecretKeySpec(p4.getEncoded(), this.algName);
                }
            }
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.DESede$KeyFactory.engineGenerateSecret() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateSecret(java.security.spec.KeySpec p3)
    {
        if (!(p3 instanceof javax.crypto.spec.DESedeKeySpec)) {
            return super.engineGenerateSecret(p3);
        } else {
            return new javax.crypto.spec.SecretKeySpec(((javax.crypto.spec.DESedeKeySpec) p3).getKey(), "DESede");
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.DES$KeyFactory.engineGetKeySpec() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected java.security.spec.KeySpec engineGetKeySpec(javax.crypto.SecretKey p2, Class p3)
    {
        if (p3 == null) {
            throw new java.security.spec.InvalidKeySpecException("keySpec parameter is null");
        } else {
            if (p2 == null) {
                throw new java.security.spec.InvalidKeySpecException("key parameter is null");
            } else {
                if (!javax.crypto.spec.SecretKeySpec.isAssignableFrom(p3)) {
                    if (!javax.crypto.spec.DESKeySpec.isAssignableFrom(p3)) {
                        throw new java.security.spec.InvalidKeySpecException("Invalid KeySpec");
                    } else {
                        try {
                            return new javax.crypto.spec.DESKeySpec(p2.getEncoded());
                        } catch (String v2_5) {
                            throw new java.security.spec.InvalidKeySpecException(v2_5.toString());
                        }
                    }
                } else {
                    return new javax.crypto.spec.SecretKeySpec(p2.getEncoded(), this.algName);
                }
            }
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.DES$KeyFactory.engineGenerateSecret() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateSecret(java.security.spec.KeySpec p3)
    {
        if (!(p3 instanceof javax.crypto.spec.DESKeySpec)) {
            return super.engineGenerateSecret(p3);
        } else {
            return new javax.crypto.spec.SecretKeySpec(((javax.crypto.spec.DESKeySpec) p3).getKey(), "DES");
        }
    }

Method org.bouncycastle.cms.jcajce.JcePasswordRecipientInfoGenerator.generateEncryptedBytes() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public byte[] generateEncryptedBytes(org.bouncycastle.asn1.x509.AlgorithmIdentifier p5, byte[] p6, org.bouncycastle.operator.GenericKey p7)
    {
        String v7_1 = this.helper.getJceKey(p7);
        String v0_4 = this.helper.createRFC3211Wrapper(p5.getAlgorithm());
        try {
            v0_4.init(3, new javax.crypto.spec.SecretKeySpec(p6, v0_4.getAlgorithm()), new javax.crypto.spec.IvParameterSpec(org.bouncycastle.asn1.ASN1OctetString.getInstance(p5.getParameters()).getOctets()));
            return v0_4.wrap(v7_1);
        } catch (java.security.GeneralSecurityException v5_6) {
            String v7_3 = new StringBuilder();
            v7_3.append("cannot process content encryption key: ");
            v7_3.append(v5_6.getMessage());
            throw new org.bouncycastle.cms.CMSException(v7_3.toString(), v5_6);
        }
    }

Method org.bouncycastle.cms.jcajce.JcePasswordRecipient.extractSecretKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected java.security.Key extractSecretKey(org.bouncycastle.asn1.x509.AlgorithmIdentifier p5, org.bouncycastle.asn1.x509.AlgorithmIdentifier p6, byte[] p7, byte[] p8)
    {
        javax.crypto.Cipher v0_1 = this.helper.createRFC3211Wrapper(p5.getAlgorithm());
        try {
            v0_1.init(4, new javax.crypto.spec.SecretKeySpec(p7, v0_1.getAlgorithm()), new javax.crypto.spec.IvParameterSpec(org.bouncycastle.asn1.ASN1OctetString.getInstance(p5.getParameters()).getOctets()));
            return v0_1.unwrap(p8, p6.getAlgorithm().getId(), 3);
        } catch (java.security.GeneralSecurityException v5_6) {
            String v7_2 = new StringBuilder();
            v7_2.append("cannot process content encryption key: ");
            v7_2.append(v5_6.getMessage());
            throw new org.bouncycastle.cms.CMSException(v7_2.toString(), v5_6);
        }
    }

Method org.spongycastle.jce.provider.BrokenJCEBlockCipher.engineUnwrap() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected java.security.Key engineUnwrap(byte[] p3, String p4, int p5)
    {
        try {
            java.security.InvalidKeyException v3_4 = this.engineDoFinal(p3, 0, p3.length);
        } catch (java.security.InvalidKeyException v3_1) {
            throw new java.security.InvalidKeyException(v3_1.getMessage());
        } catch (java.security.InvalidKeyException v3_12) {
            throw new java.security.InvalidKeyException(v3_12.getMessage());
        }
        if (p5 != 3) {
            try {
                String v4_4 = java.security.KeyFactory.getInstance(p4, "SC");
            } catch (java.security.InvalidKeyException v3_15) {
                java.security.spec.PKCS8EncodedKeySpec v5_10 = new StringBuilder();
                v5_10.append("Unknown key type ");
                v5_10.append(v3_15.getMessage());
                throw new java.security.InvalidKeyException(v5_10.toString());
            } catch (java.security.InvalidKeyException v3_11) {
                java.security.spec.PKCS8EncodedKeySpec v5_8 = new StringBuilder();
                v5_8.append("Unknown key type ");
                v5_8.append(v3_11.getMessage());
                throw new java.security.InvalidKeyException(v5_8.toString());
            } catch (java.security.InvalidKeyException v3_8) {
                java.security.spec.PKCS8EncodedKeySpec v5_6 = new StringBuilder();
                v5_6.append("Unknown key type ");
                v5_6.append(v3_8.getMessage());
                throw new java.security.InvalidKeyException(v5_6.toString());
            }
            if (p5 != 1) {
                if (p5 != 2) {
                    String v4_6 = new StringBuilder();
                    v4_6.append("Unknown key type ");
                    v4_6.append(p5);
                    throw new java.security.InvalidKeyException(v4_6.toString());
                } else {
                    return v4_4.generatePrivate(new java.security.spec.PKCS8EncodedKeySpec(v3_4));
                }
            } else {
                return v4_4.generatePublic(new java.security.spec.X509EncodedKeySpec(v3_4));
            }
        } else {
            return new javax.crypto.spec.SecretKeySpec(v3_4, p4);
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.util.BaseWrapCipher.engineUnwrap() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected java.security.Key engineUnwrap(byte[] p4, String p5, int p6)
    {
        try {
            java.security.InvalidKeyException v4_15;
            if (this.wrapEngine != null) {
                v4_15 = this.wrapEngine.unwrap(p4, 0, p4.length);
            } else {
                v4_15 = this.engineDoFinal(p4, 0, p4.length);
            }
        } catch (java.security.InvalidKeyException v4_10) {
            throw new java.security.InvalidKeyException(v4_10.getMessage());
        } catch (java.security.InvalidKeyException v4_8) {
            throw new java.security.InvalidKeyException(v4_8.getMessage());
        } catch (java.security.InvalidKeyException v4_1) {
            throw new java.security.InvalidKeyException(v4_1.getMessage());
        }
        if (p6 != 3) {
            if ((!p5.equals("")) || (p6 != 2)) {
                try {
                    String v5_9 = this.helper.d(p5);
                } catch (java.security.InvalidKeyException v4_20) {
                    java.security.spec.PKCS8EncodedKeySpec v6_10 = new StringBuilder();
                    v6_10.append("Unknown key type ");
                    v6_10.append(v4_20.getMessage());
                    throw new java.security.InvalidKeyException(v6_10.toString());
                } catch (java.security.InvalidKeyException v4_17) {
                    java.security.spec.PKCS8EncodedKeySpec v6_8 = new StringBuilder();
                    v6_8.append("Unknown key type ");
                    v6_8.append(v4_17.getMessage());
                    throw new java.security.InvalidKeyException(v6_8.toString());
                }
                if (p6 != 1) {
                    if (p6 != 2) {
                        String v5_11 = new StringBuilder();
                        v5_11.append("Unknown key type ");
                        v5_11.append(p6);
                        throw new java.security.InvalidKeyException(v5_11.toString());
                    } else {
                        return v5_9.generatePrivate(new java.security.spec.PKCS8EncodedKeySpec(v4_15));
                    }
                } else {
                    return v5_9.generatePublic(new java.security.spec.X509EncodedKeySpec(v4_15));
                }
            } else {
                try {
                    java.security.InvalidKeyException v4_23 = org.spongycastle.a.o.q.a(v4_15);
                    String v5_17 = org.spongycastle.jce.provider.BouncyCastleProvider.getPrivateKey(v4_23);
                } catch (Exception) {
                    throw new java.security.InvalidKeyException("Invalid key encoding.");
                }
                if (v5_17 == null) {
                    java.security.spec.PKCS8EncodedKeySpec v6_12 = new StringBuilder();
                    v6_12.append("algorithm ");
                    v6_12.append(v4_23.a().a());
                    v6_12.append(" not supported");
                    throw new java.security.InvalidKeyException(v6_12.toString());
                } else {
                    return v5_17;
                }
            }
        } else {
            return new javax.crypto.spec.SecretKeySpec(v4_15, p5);
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.util.BaseSecretKeyFactory.engineTranslateKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineTranslateKey(javax.crypto.SecretKey p3)
    {
        if (p3 == null) {
            throw new java.security.InvalidKeyException("key parameter is null");
        } else {
            if (!p3.getAlgorithm().equalsIgnoreCase(this.algName)) {
                String v0_1 = new StringBuilder();
                v0_1.append("Key not of type ");
                v0_1.append(this.algName);
                v0_1.append(".");
                throw new java.security.InvalidKeyException(v0_1.toString());
            } else {
                return new javax.crypto.spec.SecretKeySpec(p3.getEncoded(), this.algName);
            }
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.util.BaseSecretKeyFactory.engineGetKeySpec() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected java.security.spec.KeySpec engineGetKeySpec(javax.crypto.SecretKey p5, Class p6)
    {
        if (p6 == null) {
            throw new java.security.spec.InvalidKeySpecException("keySpec parameter is null");
        } else {
            if (p5 == null) {
                throw new java.security.spec.InvalidKeySpecException("key parameter is null");
            } else {
                if (!javax.crypto.spec.SecretKeySpec.isAssignableFrom(p6)) {
                    try {
                        Class[] v1 = new Class[1];
                        v1[0] = byte[];
                        java.security.spec.InvalidKeySpecException v6_2 = p6.getConstructor(v1);
                        Object[] v0_3 = new Object[1];
                        v0_3[0] = p5.getEncoded();
                        return ((java.security.spec.KeySpec) v6_2.newInstance(v0_3));
                    } catch (String v5_5) {
                        throw new java.security.spec.InvalidKeySpecException(v5_5.toString());
                    }
                } else {
                    return new javax.crypto.spec.SecretKeySpec(p5.getEncoded(), this.algName);
                }
            }
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.DESede$KeyGenerator.engineGenerateKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateKey()
    {
        if (this.uninitialised) {
            this.engine.init(new org.spongycastle.crypto.KeyGenerationParameters(new java.security.SecureRandom(), this.defaultKeySize));
            this.uninitialised = 0;
        }
        if (this.keySizeSet) {
            return new javax.crypto.spec.SecretKeySpec(this.engine.generateKey(), this.algName);
        } else {
            javax.crypto.spec.SecretKeySpec v0_5 = this.engine.generateKey();
            System.arraycopy(v0_5, 0, v0_5, 16, 8);
            return new javax.crypto.spec.SecretKeySpec(v0_5, this.algName);
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.DES$KeyGenerator.engineGenerateKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateKey()
    {
        if (this.uninitialised) {
            this.engine.init(new org.spongycastle.crypto.KeyGenerationParameters(new java.security.SecureRandom(), this.defaultKeySize));
            this.uninitialised = 0;
        }
        return new javax.crypto.spec.SecretKeySpec(this.engine.generateKey(), this.algName);
    }

Method org.spongycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi.decodeKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    private java.security.Key decodeKey(java.io.DataInputStream p5)
    {
        java.io.IOException v5_16;
        String v0_0 = p5.read();
        String v1_0 = p5.readUTF();
        String v2_1 = p5.readUTF();
        byte[] v3_1 = new byte[p5.readInt()];
        p5.readFully(v3_1);
        if ((!v1_0.equals("PKCS#8")) && (!v1_0.equals("PKCS8"))) {
            if ((!v1_0.equals("X.509")) && (!v1_0.equals("X509"))) {
                if (!v1_0.equals("RAW")) {
                    String v0_2 = new StringBuilder();
                    v0_2.append("Key format ");
                    v0_2.append(v1_0);
                    v0_2.append(" not recognised!");
                    throw new java.io.IOException(v0_2.toString());
                } else {
                    return new javax.crypto.spec.SecretKeySpec(v3_1, v2_1);
                }
            } else {
                v5_16 = new java.security.spec.X509EncodedKeySpec(v3_1);
            }
        } else {
            v5_16 = new java.security.spec.PKCS8EncodedKeySpec(v3_1);
        }
        try {
            switch (v0_0) {
                case 0:
                    return this.helper.d(v2_1).generatePrivate(v5_16);
                case 1:
                    return this.helper.d(v2_1).generatePublic(v5_16);
                case 2:
                    return this.helper.e(v2_1).generateSecret(v5_16);
                default:
                    String v1_3 = new StringBuilder();
                    v1_3.append("Key type ");
                    v1_3.append(v0_0);
                    v1_3.append(" not recognised!");
                    throw new java.io.IOException(v1_3.toString());
            }
        } catch (java.io.IOException v5_23) {
        }
        String v1_5 = new StringBuilder();
        v1_5.append("Exception creating key: ");
        v1_5.append(v5_23.toString());
        throw new java.io.IOException(v1_5.toString());
    }

Method org.spongycastle.jcajce.provider.asymmetric.dh.KeyAgreementSpi.engineGenerateSecret() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateSecret(String p3)
    {
        if (this.x == null) {
            throw new IllegalStateException("Diffie-Hellman not initialised.");
        } else {
            byte[] v0_4 = this.bigIntToBytes(this.result);
            if (!p3.equals("TlsPremasterSecret")) {
                return super.engineGenerateSecret(p3);
            } else {
                return new javax.crypto.spec.SecretKeySpec(org.spongycastle.jcajce.provider.asymmetric.dh.KeyAgreementSpi.trimZeroes(v0_4), p3);
            }
        }
    }

Method org.bouncycastle.jce.provider.BrokenJCEBlockCipher.engineUnwrap() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected java.security.Key engineUnwrap(byte[] p3, String p4, int p5)
    {
        try {
            java.security.InvalidKeyException v3_4 = this.engineDoFinal(p3, 0, p3.length);
        } catch (java.security.InvalidKeyException v3_1) {
            throw new java.security.InvalidKeyException(v3_1.getMessage());
        } catch (java.security.InvalidKeyException v3_12) {
            throw new java.security.InvalidKeyException(v3_12.getMessage());
        }
        if (p5 != 3) {
            try {
                String v4_4 = java.security.KeyFactory.getInstance(p4, "BC");
            } catch (java.security.InvalidKeyException v3_15) {
                java.security.spec.PKCS8EncodedKeySpec v5_10 = new StringBuilder();
                v5_10.append("Unknown key type ");
                v5_10.append(v3_15.getMessage());
                throw new java.security.InvalidKeyException(v5_10.toString());
            } catch (java.security.InvalidKeyException v3_11) {
                java.security.spec.PKCS8EncodedKeySpec v5_8 = new StringBuilder();
                v5_8.append("Unknown key type ");
                v5_8.append(v3_11.getMessage());
                throw new java.security.InvalidKeyException(v5_8.toString());
            } catch (java.security.InvalidKeyException v3_8) {
                java.security.spec.PKCS8EncodedKeySpec v5_6 = new StringBuilder();
                v5_6.append("Unknown key type ");
                v5_6.append(v3_8.getMessage());
                throw new java.security.InvalidKeyException(v5_6.toString());
            }
            if (p5 != 1) {
                if (p5 != 2) {
                    String v4_6 = new StringBuilder();
                    v4_6.append("Unknown key type ");
                    v4_6.append(p5);
                    throw new java.security.InvalidKeyException(v4_6.toString());
                } else {
                    return v4_4.generatePrivate(new java.security.spec.PKCS8EncodedKeySpec(v3_4));
                }
            } else {
                return v4_4.generatePublic(new java.security.spec.X509EncodedKeySpec(v3_4));
            }
        } else {
            return new javax.crypto.spec.SecretKeySpec(v3_4, p4);
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.util.BaseWrapCipher.engineUnwrap() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected java.security.Key engineUnwrap(byte[] p4, String p5, int p6)
    {
        try {
            java.security.InvalidKeyException v4_15;
            if (this.wrapEngine != null) {
                v4_15 = this.wrapEngine.unwrap(p4, 0, p4.length);
            } else {
                v4_15 = this.engineDoFinal(p4, 0, p4.length);
            }
        } catch (java.security.InvalidKeyException v4_10) {
            throw new java.security.InvalidKeyException(v4_10.getMessage());
        } catch (java.security.InvalidKeyException v4_8) {
            throw new java.security.InvalidKeyException(v4_8.getMessage());
        } catch (java.security.InvalidKeyException v4_1) {
            throw new java.security.InvalidKeyException(v4_1.getMessage());
        }
        if (p6 != 3) {
            if ((!p5.equals("")) || (p6 != 2)) {
                try {
                    String v5_9 = this.helper.createKeyFactory(p5);
                } catch (java.security.InvalidKeyException v4_20) {
                    java.security.spec.PKCS8EncodedKeySpec v6_10 = new StringBuilder();
                    v6_10.append("Unknown key type ");
                    v6_10.append(v4_20.getMessage());
                    throw new java.security.InvalidKeyException(v6_10.toString());
                } catch (java.security.InvalidKeyException v4_17) {
                    java.security.spec.PKCS8EncodedKeySpec v6_8 = new StringBuilder();
                    v6_8.append("Unknown key type ");
                    v6_8.append(v4_17.getMessage());
                    throw new java.security.InvalidKeyException(v6_8.toString());
                }
                if (p6 != 1) {
                    if (p6 != 2) {
                        String v5_11 = new StringBuilder();
                        v5_11.append("Unknown key type ");
                        v5_11.append(p6);
                        throw new java.security.InvalidKeyException(v5_11.toString());
                    } else {
                        return v5_9.generatePrivate(new java.security.spec.PKCS8EncodedKeySpec(v4_15));
                    }
                } else {
                    return v5_9.generatePublic(new java.security.spec.X509EncodedKeySpec(v4_15));
                }
            } else {
                try {
                    java.security.InvalidKeyException v4_23 = org.bouncycastle.asn1.pkcs.PrivateKeyInfo.getInstance(v4_15);
                    String v5_17 = org.bouncycastle.jce.provider.BouncyCastleProvider.getPrivateKey(v4_23);
                } catch (Exception) {
                    throw new java.security.InvalidKeyException("Invalid key encoding.");
                }
                if (v5_17 == null) {
                    java.security.spec.PKCS8EncodedKeySpec v6_12 = new StringBuilder();
                    v6_12.append("algorithm ");
                    v6_12.append(v4_23.getPrivateKeyAlgorithm().getAlgorithm());
                    v6_12.append(" not supported");
                    throw new java.security.InvalidKeyException(v6_12.toString());
                } else {
                    return v5_17;
                }
            }
        } else {
            return new javax.crypto.spec.SecretKeySpec(v4_15, p5);
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.util.BaseSecretKeyFactory.engineTranslateKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineTranslateKey(javax.crypto.SecretKey p3)
    {
        if (p3 == null) {
            throw new java.security.InvalidKeyException("key parameter is null");
        } else {
            if (!p3.getAlgorithm().equalsIgnoreCase(this.algName)) {
                String v0_1 = new StringBuilder();
                v0_1.append("Key not of type ");
                v0_1.append(this.algName);
                v0_1.append(".");
                throw new java.security.InvalidKeyException(v0_1.toString());
            } else {
                return new javax.crypto.spec.SecretKeySpec(p3.getEncoded(), this.algName);
            }
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.util.BaseSecretKeyFactory.engineGetKeySpec() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected java.security.spec.KeySpec engineGetKeySpec(javax.crypto.SecretKey p5, Class p6)
    {
        if (p6 == null) {
            throw new java.security.spec.InvalidKeySpecException("keySpec parameter is null");
        } else {
            if (p5 == null) {
                throw new java.security.spec.InvalidKeySpecException("key parameter is null");
            } else {
                if (!javax.crypto.spec.SecretKeySpec.isAssignableFrom(p6)) {
                    try {
                        Class[] v1 = new Class[1];
                        v1[0] = byte[];
                        java.security.spec.InvalidKeySpecException v6_2 = p6.getConstructor(v1);
                        Object[] v0_3 = new Object[1];
                        v0_3[0] = p5.getEncoded();
                        return ((java.security.spec.KeySpec) v6_2.newInstance(v0_3));
                    } catch (String v5_5) {
                        throw new java.security.spec.InvalidKeySpecException(v5_5.toString());
                    }
                } else {
                    return new javax.crypto.spec.SecretKeySpec(p5.getEncoded(), this.algName);
                }
            }
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.DESede$KeyGenerator.engineGenerateKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateKey()
    {
        if (this.uninitialised) {
            this.engine.init(new org.bouncycastle.crypto.KeyGenerationParameters(new java.security.SecureRandom(), this.defaultKeySize));
            this.uninitialised = 0;
        }
        if (this.keySizeSet) {
            return new javax.crypto.spec.SecretKeySpec(this.engine.generateKey(), this.algName);
        } else {
            javax.crypto.spec.SecretKeySpec v0_5 = this.engine.generateKey();
            System.arraycopy(v0_5, 0, v0_5, 16, 8);
            return new javax.crypto.spec.SecretKeySpec(v0_5, this.algName);
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.DES$KeyGenerator.engineGenerateKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateKey()
    {
        if (this.uninitialised) {
            this.engine.init(new org.bouncycastle.crypto.KeyGenerationParameters(new java.security.SecureRandom(), this.defaultKeySize));
            this.uninitialised = 0;
        }
        return new javax.crypto.spec.SecretKeySpec(this.engine.generateKey(), this.algName);
    }

Method org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi.decodeKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    private java.security.Key decodeKey(java.io.DataInputStream p5)
    {
        java.io.IOException v5_16;
        String v0_0 = p5.read();
        String v1_0 = p5.readUTF();
        String v2_1 = p5.readUTF();
        byte[] v3_1 = new byte[p5.readInt()];
        p5.readFully(v3_1);
        if ((!v1_0.equals("PKCS#8")) && (!v1_0.equals("PKCS8"))) {
            if ((!v1_0.equals("X.509")) && (!v1_0.equals("X509"))) {
                if (!v1_0.equals("RAW")) {
                    String v0_2 = new StringBuilder();
                    v0_2.append("Key format ");
                    v0_2.append(v1_0);
                    v0_2.append(" not recognised!");
                    throw new java.io.IOException(v0_2.toString());
                } else {
                    return new javax.crypto.spec.SecretKeySpec(v3_1, v2_1);
                }
            } else {
                v5_16 = new java.security.spec.X509EncodedKeySpec(v3_1);
            }
        } else {
            v5_16 = new java.security.spec.PKCS8EncodedKeySpec(v3_1);
        }
        try {
            switch (v0_0) {
                case 0:
                    return this.helper.createKeyFactory(v2_1).generatePrivate(v5_16);
                case 1:
                    return this.helper.createKeyFactory(v2_1).generatePublic(v5_16);
                case 2:
                    return this.helper.createSecretKeyFactory(v2_1).generateSecret(v5_16);
                default:
                    String v1_3 = new StringBuilder();
                    v1_3.append("Key type ");
                    v1_3.append(v0_0);
                    v1_3.append(" not recognised!");
                    throw new java.io.IOException(v1_3.toString());
            }
        } catch (java.io.IOException v5_23) {
        }
        String v1_5 = new StringBuilder();
        v1_5.append("Exception creating key: ");
        v1_5.append(v5_23.toString());
        throw new java.io.IOException(v1_5.toString());
    }

Method org.bouncycastle.jcajce.provider.asymmetric.dh.KeyAgreementSpi.engineGenerateSecret() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateSecret(String p3)
    {
        if (this.x == null) {
            throw new IllegalStateException("Diffie-Hellman not initialised.");
        } else {
            byte[] v0_4 = this.bigIntToBytes(this.result);
            if (!p3.equals("TlsPremasterSecret")) {
                return super.engineGenerateSecret(p3);
            } else {
                return new javax.crypto.spec.SecretKeySpec(org.bouncycastle.jcajce.provider.asymmetric.dh.KeyAgreementSpi.trimZeroes(v0_4), p3);
            }
        }
    }

Method org.bouncycastle.cert.crmf.jcajce.JcePKMACValuesCalculator.calculateMac() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public byte[] calculateMac(byte[] p4, byte[] p5)
    {
        try {
            this.mac.init(new javax.crypto.spec.SecretKeySpec(p4, this.mac.getAlgorithm()));
            return this.mac.doFinal(p5);
        } catch (java.security.GeneralSecurityException v4_1) {
            String v0_2 = new StringBuilder();
            v0_2.append("failure in setup: ");
            v0_2.append(v4_1.getMessage());
            throw new org.bouncycastle.cert.crmf.CRMFException(v0_2.toString(), v4_1);
        }
    }

Method org.bouncycastle.cert.crmf.jcajce.JceAsymmetricValueDecryptorGenerator.extractSecretKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    private java.security.Key extractSecretKey(org.bouncycastle.asn1.x509.AlgorithmIdentifier p3, org.bouncycastle.asn1.x509.AlgorithmIdentifier p4, byte[] p5)
    {
        try {
            String v0_3 = new org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper(p3, this.recipientKey);
        } catch (javax.crypto.spec.SecretKeySpec v3_1) {
            byte[] v5_2 = new StringBuilder();
            v5_2.append("key invalid in message: ");
            v5_2.append(v3_1.getMessage());
            throw new org.bouncycastle.cert.crmf.CRMFException(v5_2.toString(), v3_1);
        }
        if (this.provider != null) {
            v0_3.setProvider(this.provider);
        }
        if (this.providerName != null) {
            v0_3.setProvider(this.providerName);
        }
        return new javax.crypto.spec.SecretKeySpec(((byte[]) ((byte[]) v0_3.generateUnwrappedKey(p4, p5).getRepresentation())), p4.getAlgorithm().getId());
    }

Method org.spongycastle.jcajce.provider.symmetric.util.BaseKeyGenerator.engineGenerateKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateKey()
    {
        if (this.uninitialised) {
            this.engine.init(new org.spongycastle.crypto.KeyGenerationParameters(new java.security.SecureRandom(), this.defaultKeySize));
            this.uninitialised = 0;
        }
        return new javax.crypto.spec.SecretKeySpec(this.engine.generateKey(), this.algName);
    }

Method org.spongycastle.jcajce.provider.asymmetric.util.BaseCipherSpi.engineUnwrap() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected java.security.Key engineUnwrap(byte[] p4, String p5, int p6)
    {
        try {
            java.security.InvalidKeyException v4_17;
            if (this.wrapEngine != null) {
                v4_17 = this.wrapEngine.unwrap(p4, 0, p4.length);
            } else {
                v4_17 = this.engineDoFinal(p4, 0, p4.length);
            }
        } catch (java.security.InvalidKeyException v4_12) {
            throw new java.security.InvalidKeyException(v4_12.getMessage());
        } catch (java.security.InvalidKeyException v4_10) {
            throw new java.security.InvalidKeyException(v4_10.getMessage());
        } catch (java.security.InvalidKeyException v4_1) {
            throw new java.security.InvalidKeyException(v4_1.getMessage());
        }
        if (p6 != 3) {
            if ((!p5.equals("")) || (p6 != 2)) {
                try {
                    String v5_11 = this.helper.d(p5);
                } catch (java.security.InvalidKeyException v4_25) {
                    java.security.spec.PKCS8EncodedKeySpec v6_14 = new StringBuilder();
                    v6_14.append("Unknown key type ");
                    v6_14.append(v4_25.getMessage());
                    throw new java.security.InvalidKeyException(v6_14.toString());
                } catch (java.security.InvalidKeyException v4_22) {
                    java.security.spec.PKCS8EncodedKeySpec v6_12 = new StringBuilder();
                    v6_12.append("Unknown key type ");
                    v6_12.append(v4_22.getMessage());
                    throw new java.security.InvalidKeyException(v6_12.toString());
                } catch (java.security.InvalidKeyException v4_19) {
                    java.security.spec.PKCS8EncodedKeySpec v6_10 = new StringBuilder();
                    v6_10.append("Unknown key type ");
                    v6_10.append(v4_19.getMessage());
                    throw new java.security.InvalidKeyException(v6_10.toString());
                }
                if (p6 != 1) {
                    if (p6 != 2) {
                        String v5_13 = new StringBuilder();
                        v5_13.append("Unknown key type ");
                        v5_13.append(p6);
                        throw new java.security.InvalidKeyException(v5_13.toString());
                    } else {
                        return v5_11.generatePrivate(new java.security.spec.PKCS8EncodedKeySpec(v4_17));
                    }
                } else {
                    return v5_11.generatePublic(new java.security.spec.X509EncodedKeySpec(v4_17));
                }
            } else {
                try {
                    java.security.InvalidKeyException v4_2 = org.spongycastle.a.o.q.a(v4_17);
                    String v5_1 = org.spongycastle.jce.provider.BouncyCastleProvider.getPrivateKey(v4_2);
                } catch (Exception) {
                    throw new java.security.InvalidKeyException("Invalid key encoding.");
                }
                if (v5_1 == null) {
                    java.security.spec.PKCS8EncodedKeySpec v6_2 = new StringBuilder();
                    v6_2.append("algorithm ");
                    v6_2.append(v4_2.a().a());
                    v6_2.append(" not supported");
                    throw new java.security.InvalidKeyException(v6_2.toString());
                } else {
                    return v5_1;
                }
            }
        } else {
            return new javax.crypto.spec.SecretKeySpec(v4_17, p5);
        }
    }

Method org.spongycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi.engineGenerateSecret() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateSecret(String p9)
    {
        javax.crypto.spec.SecretKeySpec v1_2;
        int v0_1 = this.bigIntToBytes(this.result);
        javax.crypto.spec.SecretKeySpec v1_3 = org.spongycastle.c.n.b(p9);
        if (!org.spongycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi.oids.containsKey(v1_3)) {
            v1_2 = p9;
        } else {
            v1_2 = ((org.spongycastle.a.o) org.spongycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi.oids.get(v1_3)).b();
        }
        int v2_1 = org.spongycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi.getKeySize(v1_2);
        if (this.kdf == null) {
            if (v2_1 > 0) {
                int v2_3 = new byte[(v2_1 / 8)];
                System.arraycopy(v0_1, 0, v2_3, 0, v2_3.length);
                v0_1 = v2_3;
            }
        } else {
            if (v2_1 < 0) {
                int v0_3 = new StringBuilder();
                v0_3.append("unknown algorithm encountered: ");
                v0_3.append(v1_2);
                throw new java.security.NoSuchAlgorithmException(v0_3.toString());
            } else {
                int v3_3 = new byte[(v2_1 / 8)];
                if (!(this.kdf instanceof org.spongycastle.crypto.agreement.kdf.DHKEKGenerator)) {
                    this.kdf.init(new org.spongycastle.crypto.params.KDFParameters(v0_1, this.ukmParameters));
                } else {
                    try {
                        this.kdf.init(new org.spongycastle.crypto.agreement.kdf.DHKDFParameters(new org.spongycastle.a.o(v1_2), v2_1, v0_1, this.ukmParameters));
                    } catch (IllegalArgumentException) {
                        int v0_8 = new StringBuilder();
                        v0_8.append("no OID for algorithm: ");
                        v0_8.append(v1_2);
                        throw new java.security.NoSuchAlgorithmException(v0_8.toString());
                    }
                }
                this.kdf.generateBytes(v3_3, 0, v3_3.length);
                v0_1 = v3_3;
            }
        }
        if (org.spongycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi.des.containsKey(v1_2)) {
            org.spongycastle.crypto.params.DESParameters.setOddParity(v0_1);
        }
        return new javax.crypto.spec.SecretKeySpec(v0_1, org.spongycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi.getAlgorithm(p9));
    }

Method org.bouncycastle.operator.jcajce.OperatorUtils.getJceKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    static java.security.Key getJceKey(org.bouncycastle.operator.GenericKey p2)
    {
        if (!(p2.getRepresentation() instanceof java.security.Key)) {
            if (!(p2.getRepresentation() instanceof byte[])) {
                throw new IllegalArgumentException("unknown generic key type");
            } else {
                return new javax.crypto.spec.SecretKeySpec(((byte[]) p2.getRepresentation()), "ENC");
            }
        } else {
            return ((java.security.Key) p2.getRepresentation());
        }
    }

Method org.bouncycastle.openssl.jcajce.PEMUtilities.getKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    private static javax.crypto.SecretKey getKey(org.bouncycastle.jcajce.util.JcaJceHelper p3, char[] p4, String p5, int p6, byte[] p7, boolean p8)
    {
        try {
            java.security.GeneralSecurityException v3_1 = p3.createSecretKeyFactory("PBKDF-OpenSSL").generateSecret(new javax.crypto.spec.PBEKeySpec(p4, p7, 1, (p6 * 8))).getEncoded();
        } catch (java.security.GeneralSecurityException v3_2) {
            String v5_2 = new StringBuilder();
            v5_2.append("Unable to create OpenSSL PBDKF: ");
            v5_2.append(v3_2.getMessage());
            throw new org.bouncycastle.openssl.PEMException(v5_2.toString(), v3_2);
        }
        if ((p8) && (v3_1.length >= 24)) {
            System.arraycopy(v3_1, 0, v3_1, 16, 8);
        }
        return new javax.crypto.spec.SecretKeySpec(v3_1, p5);
    }

Method org.bouncycastle.openssl.jcajce.PEMUtilities.generateSecretKeyForPKCS5Scheme2() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public static javax.crypto.SecretKey generateSecretKeyForPKCS5Scheme2(org.bouncycastle.jcajce.util.JcaJceHelper p2, String p3, char[] p4, byte[] p5, int p6)
    {
        return new javax.crypto.spec.SecretKeySpec(p2.createSecretKeyFactory("PBKDF2with8BIT").generateSecret(new javax.crypto.spec.PBEKeySpec(p4, p5, p6, org.bouncycastle.openssl.jcajce.PEMUtilities.getKeySize(p3))).getEncoded(), p3);
    }

Method org.bouncycastle.jcajce.provider.symmetric.util.BaseKeyGenerator.engineGenerateKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateKey()
    {
        if (this.uninitialised) {
            this.engine.init(new org.bouncycastle.crypto.KeyGenerationParameters(new java.security.SecureRandom(), this.defaultKeySize));
            this.uninitialised = 0;
        }
        return new javax.crypto.spec.SecretKeySpec(this.engine.generateKey(), this.algName);
    }

Method org.bouncycastle.jcajce.provider.asymmetric.util.BaseCipherSpi.engineUnwrap() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected java.security.Key engineUnwrap(byte[] p4, String p5, int p6)
    {
        try {
            java.security.InvalidKeyException v4_17;
            if (this.wrapEngine != null) {
                v4_17 = this.wrapEngine.unwrap(p4, 0, p4.length);
            } else {
                v4_17 = this.engineDoFinal(p4, 0, p4.length);
            }
        } catch (java.security.InvalidKeyException v4_12) {
            throw new java.security.InvalidKeyException(v4_12.getMessage());
        } catch (java.security.InvalidKeyException v4_10) {
            throw new java.security.InvalidKeyException(v4_10.getMessage());
        } catch (java.security.InvalidKeyException v4_1) {
            throw new java.security.InvalidKeyException(v4_1.getMessage());
        }
        if (p6 != 3) {
            if ((!p5.equals("")) || (p6 != 2)) {
                try {
                    String v5_11 = this.helper.createKeyFactory(p5);
                } catch (java.security.InvalidKeyException v4_25) {
                    java.security.spec.PKCS8EncodedKeySpec v6_14 = new StringBuilder();
                    v6_14.append("Unknown key type ");
                    v6_14.append(v4_25.getMessage());
                    throw new java.security.InvalidKeyException(v6_14.toString());
                } catch (java.security.InvalidKeyException v4_22) {
                    java.security.spec.PKCS8EncodedKeySpec v6_12 = new StringBuilder();
                    v6_12.append("Unknown key type ");
                    v6_12.append(v4_22.getMessage());
                    throw new java.security.InvalidKeyException(v6_12.toString());
                } catch (java.security.InvalidKeyException v4_19) {
                    java.security.spec.PKCS8EncodedKeySpec v6_10 = new StringBuilder();
                    v6_10.append("Unknown key type ");
                    v6_10.append(v4_19.getMessage());
                    throw new java.security.InvalidKeyException(v6_10.toString());
                }
                if (p6 != 1) {
                    if (p6 != 2) {
                        String v5_13 = new StringBuilder();
                        v5_13.append("Unknown key type ");
                        v5_13.append(p6);
                        throw new java.security.InvalidKeyException(v5_13.toString());
                    } else {
                        return v5_11.generatePrivate(new java.security.spec.PKCS8EncodedKeySpec(v4_17));
                    }
                } else {
                    return v5_11.generatePublic(new java.security.spec.X509EncodedKeySpec(v4_17));
                }
            } else {
                try {
                    java.security.InvalidKeyException v4_2 = org.bouncycastle.asn1.pkcs.PrivateKeyInfo.getInstance(v4_17);
                    String v5_1 = org.bouncycastle.jce.provider.BouncyCastleProvider.getPrivateKey(v4_2);
                } catch (Exception) {
                    throw new java.security.InvalidKeyException("Invalid key encoding.");
                }
                if (v5_1 == null) {
                    java.security.spec.PKCS8EncodedKeySpec v6_2 = new StringBuilder();
                    v6_2.append("algorithm ");
                    v6_2.append(v4_2.getPrivateKeyAlgorithm().getAlgorithm());
                    v6_2.append(" not supported");
                    throw new java.security.InvalidKeyException(v6_2.toString());
                } else {
                    return v5_1;
                }
            }
        } else {
            return new javax.crypto.spec.SecretKeySpec(v4_17, p5);
        }
    }

Method org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi.engineGenerateSecret() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected javax.crypto.SecretKey engineGenerateSecret(String p9)
    {
        javax.crypto.spec.SecretKeySpec v1_2;
        int v0_0 = this.calcSecret();
        javax.crypto.spec.SecretKeySpec v1_3 = org.bouncycastle.util.Strings.toUpperCase(p9);
        if (!org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi.oids.containsKey(v1_3)) {
            v1_2 = p9;
        } else {
            v1_2 = ((org.bouncycastle.asn1.ASN1ObjectIdentifier) org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi.oids.get(v1_3)).getId();
        }
        int v2_0 = org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi.getKeySize(v1_2);
        if (this.kdf == null) {
            if (v2_0 > 0) {
                int v2_2 = new byte[(v2_0 / 8)];
                System.arraycopy(v0_0, 0, v2_2, 0, v2_2.length);
                v0_0 = v2_2;
            }
        } else {
            if (v2_0 < 0) {
                int v0_2 = new StringBuilder();
                v0_2.append("unknown algorithm encountered: ");
                v0_2.append(v1_2);
                throw new java.security.NoSuchAlgorithmException(v0_2.toString());
            } else {
                int v3_3 = new byte[(v2_0 / 8)];
                if (!(this.kdf instanceof org.bouncycastle.crypto.agreement.kdf.DHKEKGenerator)) {
                    this.kdf.init(new org.bouncycastle.crypto.params.KDFParameters(v0_0, this.ukmParameters));
                } else {
                    try {
                        this.kdf.init(new org.bouncycastle.crypto.agreement.kdf.DHKDFParameters(new org.bouncycastle.asn1.ASN1ObjectIdentifier(v1_2), v2_0, v0_0, this.ukmParameters));
                    } catch (IllegalArgumentException) {
                        int v0_7 = new StringBuilder();
                        v0_7.append("no OID for algorithm: ");
                        v0_7.append(v1_2);
                        throw new java.security.NoSuchAlgorithmException(v0_7.toString());
                    }
                }
                this.kdf.generateBytes(v3_3, 0, v3_3.length);
                v0_0 = v3_3;
            }
        }
        if (org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi.des.containsKey(v1_2)) {
            org.bouncycastle.crypto.params.DESParameters.setOddParity(v0_0);
        }
        return new javax.crypto.spec.SecretKeySpec(v0_0, org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi.getAlgorithm(p9));
    }

Method org.bouncycastle.cms.jcajce.EnvelopedDataHelper.getJceKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    java.security.Key getJceKey(org.bouncycastle.operator.GenericKey p3)
    {
        if (!(p3.getRepresentation() instanceof java.security.Key)) {
            if (!(p3.getRepresentation() instanceof byte[])) {
                throw new IllegalArgumentException("unknown generic key type");
            } else {
                return new javax.crypto.spec.SecretKeySpec(((byte[]) p3.getRepresentation()), "ENC");
            }
        } else {
            return ((java.security.Key) p3.getRepresentation());
        }
    }

Method org.bouncycastle.cms.jcajce.EnvelopedDataHelper.getJceKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public java.security.Key getJceKey(org.bouncycastle.asn1.ASN1ObjectIdentifier p2, org.bouncycastle.operator.GenericKey p3)
    {
        if (!(p3.getRepresentation() instanceof java.security.Key)) {
            if (!(p3.getRepresentation() instanceof byte[])) {
                throw new IllegalArgumentException("unknown generic key type");
            } else {
                return new javax.crypto.spec.SecretKeySpec(((byte[]) p3.getRepresentation()), this.getBaseCipherName(p2));
            }
        } else {
            return ((java.security.Key) p3.getRepresentation());
        }
    }

Method com.b.a.a.p.<init>() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public p(byte[] p3)
    {
        this(new javax.crypto.spec.SecretKeySpec(p3, "AES"));
        return;
    }

Method com.b.a.a.o.<init>() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public o(byte[] p3)
    {
        this(new javax.crypto.spec.SecretKeySpec(p3, "AES"));
        return;
    }

Method com.google.android.gms.internal.bd.a() calling method javax.crypto.spec.SecretKeySpec.<init>()

Couldn't retrieve source code

Method org.apache.http.impl.auth.NTLMEngineImpl.createDESKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    private static java.security.Key createDESKey(byte[] p9, int p10)
    {
        byte[] v1 = new byte[7];
        int v2_1 = 0;
        System.arraycopy(p9, p10, v1, 0, 7);
        byte[] v9_2 = new byte[8];
        v9_2[v2_1] = v1[v2_1];
        v9_2[1] = ((byte) ((v1[0] << 7) | ((v1[1] & 255) >> 1)));
        v9_2[2] = ((byte) ((v1[1] << 6) | ((v1[2] & 255) >> 2)));
        v9_2[3] = ((byte) ((v1[2] << 5) | ((v1[3] & 255) >> 3)));
        v9_2[4] = ((byte) ((v1[3] << 4) | ((v1[int v7_3] & 255) >> 4)));
        v9_2[5] = ((byte) ((v1[4] << 3) | ((v1[int v5_3] & 255) >> 5)));
        v9_2[6] = ((byte) ((v1[5] << 2) | ((v1[int v3_3] & 255) >> 6)));
        v9_2[7] = ((byte) (v1[6] << 1));
        org.apache.http.impl.auth.NTLMEngineImpl.oddParity(v9_2);
        return new javax.crypto.spec.SecretKeySpec(v9_2, "DES");
    }

Method org.apache.http.impl.auth.NTLMEngineImpl.RC4() calling method javax.crypto.spec.SecretKeySpec.<init>()


    static byte[] RC4(byte[] p4, byte[] p5)
    {
        try {
            String v0_2 = javax.crypto.Cipher.getInstance("RC4");
            v0_2.init(1, new javax.crypto.spec.SecretKeySpec(p5, "RC4"));
            return v0_2.doFinal(p4);
        } catch (Exception v4_1) {
            throw new org.apache.http.impl.auth.NTLMEngineException(v4_1.getMessage(), v4_1);
        }
    }

Method com.upi.hcesdk.util.JwtUtil.encryptJWE() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public static String encryptJWE(byte[] p4, byte[] p5, String p6, String p7, String p8)
    {
        com.b.a.n v5_4 = new com.b.a.a.u(new javax.crypto.spec.SecretKeySpec(p5, 0, p5.length, "AES").getEncoded());
        org.bouncycastle.jce.provider.BouncyCastleProvider v7_2 = new com.b.b.c(new com.b.a.q$a(com.b.a.p.b).a(com.b.a.h.c).a(), new com.b.b.b$a().c(new java.util.Date()).a(p6).a(p7, p8).a());
        v7_2.a(v5_4);
        com.b.a.n v5_2 = new com.b.a.n(new com.b.a.m$a(com.b.a.i.h, com.b.a.d.b).a("JWT").a(), new com.b.a.x(v7_2));
        String v4_2 = new com.b.a.a.p(new javax.crypto.spec.SecretKeySpec(p4, 0, p4.length, "AES").getEncoded());
        v4_2.c().a(com.b.a.a.a.a.a());
        v5_2.a(v4_2);
        return v5_2.h();
    }

Method com.upi.hcesdk.util.JwtUtil.decryptJWE() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public static String decryptJWE(byte[] p4, byte[] p5, String p6, String p7)
    {
        byte[] v6_1 = com.b.a.n.b(p6);
        Exception v4_1 = new com.b.a.a.o(new javax.crypto.spec.SecretKeySpec(p4, 0, p4.length, "AES").getEncoded());
        v4_1.c().a(com.b.a.a.a.a.a());
        v6_1.a(v4_1);
        Exception v4_3 = v6_1.a().d();
        if (!v4_3.a(new com.b.a.a.v(new javax.crypto.spec.SecretKeySpec(p5, 0, p5.length, "AES").getEncoded()))) {
            throw new Exception("verify signature fail");
        } else {
            return ((String) v4_3.h().a(p7));
        }
    }

Method com.upi.hcesdk.security.SecurityManager.tripleDESECBEncrypt() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public static String tripleDESECBEncrypt(String p4, String p5)
    {
        javax.crypto.Cipher v0_1 = new byte[24];
        int v4_6 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p4);
        System.arraycopy(v4_6, 0, v0_1, 0, 16);
        System.arraycopy(v4_6, 0, v0_1, 16, 8);
        int v4_1 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p5);
        try {
            javax.crypto.spec.SecretKeySpec v5_2 = new javax.crypto.spec.SecretKeySpec(v0_1, "DESede");
            javax.crypto.Cipher v0_3 = javax.crypto.Cipher.getInstance("DESede/ECB/NoPadding");
            v0_3.init(1, v5_2);
            return com.upi.hcesdk.util.ByteUtil.byteToHexStr(v0_3.doFinal(v4_1));
        } catch (int v4_4) {
            v4_4.printStackTrace();
            return 0;
        }
    }

Method com.upi.hcesdk.security.SecurityManager.tripleDESCBCEncrypt() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public static String tripleDESCBCEncrypt(String p4, String p5)
    {
        javax.crypto.spec.IvParameterSpec v0_1 = new byte[24];
        int v4_6 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p4);
        System.arraycopy(v4_6, 0, v0_1, 0, 16);
        System.arraycopy(v4_6, 0, v0_1, 16, 8);
        int v4_1 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p5);
        try {
            javax.crypto.spec.SecretKeySpec v5_2 = new javax.crypto.spec.SecretKeySpec(v0_1, "DESede");
            javax.crypto.Cipher v1_1 = new byte[8];
            javax.crypto.spec.IvParameterSpec v0_3 = new javax.crypto.spec.IvParameterSpec(v1_1);
            javax.crypto.Cipher v1_3 = javax.crypto.Cipher.getInstance("DESede/CBC/NoPadding");
            v1_3.init(1, v5_2, v0_3);
            return com.upi.hcesdk.util.ByteUtil.byteToHexStr(v1_3.doFinal(v4_1));
        } catch (int v4_4) {
            v4_4.printStackTrace();
            return 0;
        }
    }

Method com.upi.hcesdk.security.SecurityManager.desEncrypt() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public static String desEncrypt(String p2, String p3)
    {
        int v2_1 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p2);
        byte[] v3_1 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p3);
        try {
            javax.crypto.spec.SecretKeySpec v0_1 = new javax.crypto.spec.SecretKeySpec(v2_1, "DES");
            int v2_7 = javax.crypto.Cipher.getInstance("DES/ECB/NoPadding");
            v2_7.init(1, v0_1);
            return com.upi.hcesdk.util.ByteUtil.byteToHexStr(v2_7.doFinal(v3_1));
        } catch (int v2_4) {
            v2_4.printStackTrace();
            return 0;
        }
    }

Method com.paysys.nbpdigital.utils.ThreeDES.encrypt() calling method javax.crypto.spec.SecretKeySpec.<init>()


    private byte[] encrypt(String p5, String p6)
    {
        String v6_1 = this.acopyof(java.security.MessageDigest.getInstance("md5").digest(p6.getBytes("utf-8")), 24);
        javax.crypto.spec.SecretKeySpec v0_1 = 0;
        javax.crypto.Cipher v1_0 = 16;
        while (v0_1 < 8) {
            int v2_2 = (v1_0 + 1);
            int v3 = (v0_1 + 1);
            v6_1[v1_0] = v6_1[v0_1];
            v1_0 = v2_2;
            v0_1 = v3;
        }
        javax.crypto.spec.SecretKeySpec v0_3 = new javax.crypto.spec.SecretKeySpec(v6_1, "DESede");
        javax.crypto.Cipher v1_2 = new byte[8];
        String v6_3 = new javax.crypto.spec.IvParameterSpec(v1_2);
        javax.crypto.Cipher v1_4 = javax.crypto.Cipher.getInstance("DESede/CBC/PKCS7Padding");
        v1_4.init(1, v0_3, v6_3);
        return v1_4.doFinal(p5.getBytes("utf-8"));
    }

Method com.paysys.nbpdigital.utils.ThreeDES.decrypt() calling method javax.crypto.spec.SecretKeySpec.<init>()


    private String decrypt(byte[] p5, String p6)
    {
        String v6_1 = this.acopyof(java.security.MessageDigest.getInstance("md5").digest(p6.getBytes("utf-8")), 24);
        String v0_1 = 0;
        javax.crypto.Cipher v1_0 = 16;
        while (v0_1 < 8) {
            int v2_2 = (v1_0 + 1);
            int v3 = (v0_1 + 1);
            v6_1[v1_0] = v6_1[v0_1];
            v1_0 = v2_2;
            v0_1 = v3;
        }
        String v0_3 = new javax.crypto.spec.SecretKeySpec(v6_1, "DESede");
        javax.crypto.Cipher v1_2 = new byte[8];
        String v6_3 = new javax.crypto.spec.IvParameterSpec(v1_2);
        javax.crypto.Cipher v1_4 = javax.crypto.Cipher.getInstance("DESede/CBC/PKCS7Padding");
        v1_4.init(2, v0_3, v6_3);
        return new String(v1_4.doFinal(p5), "UTF-8");
    }

Method com.google.android.gms.internal.ato.a() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public final byte[] a(byte[] p6, String p7)
    {
        if (p6.length != 16) {
            throw new com.google.android.gms.internal.aup(this);
        } else {
            try {
                Throwable v7_20 = com.google.android.gms.internal.ahz.a(p7, 0);
            } catch (com.google.android.gms.internal.aup v6_11) {
                throw new com.google.android.gms.internal.aup(this, v6_11);
            } catch (com.google.android.gms.internal.aup v6_10) {
                throw new com.google.android.gms.internal.aup(this, v6_10);
            } catch (com.google.android.gms.internal.aup v6_9) {
                throw new com.google.android.gms.internal.aup(this, v6_9);
            } catch (com.google.android.gms.internal.aup v6_8) {
                throw new com.google.android.gms.internal.aup(this, v6_8);
            } catch (com.google.android.gms.internal.aup v6_7) {
                throw new com.google.android.gms.internal.aup(this, v6_7);
            } catch (com.google.android.gms.internal.aup v6_6) {
                throw new com.google.android.gms.internal.aup(this, v6_6);
            } catch (com.google.android.gms.internal.aup v6_5) {
                throw new com.google.android.gms.internal.aup(this, v6_5);
            }
            if (v7_20.length <= 16) {
                throw new com.google.android.gms.internal.aup(this);
            } else {
                javax.crypto.Cipher v0_2 = java.nio.ByteBuffer.allocate(v7_20.length);
                v0_2.put(v7_20);
                v0_2.flip();
                byte[] v2 = new byte[16];
                Throwable v7_3 = new byte[(v7_20.length - 16)];
                v0_2.get(v2);
                v0_2.get(v7_3);
                ark>com.google.android.gms.internal.atoark>.a().init(2, new javax.crypto.spec.SecretKeySpec(p6, "AES"), new javax.crypto.spec.IvParameterSpec(v2));
                return ark>com.google.android.gms.internal.atoark>.a().doFinal(v7_3);
            }
        }
    }

Method com.google.android.gms.internal.ato.a() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public final String a(byte[] p5, byte[] p6)
    {
        if (p5.length != 16) {
            throw new com.google.android.gms.internal.aup(this);
        } else {
            try {
            } catch (String v5_11) {
                throw new com.google.android.gms.internal.aup(this, v5_11);
            } catch (String v5_10) {
                throw new com.google.android.gms.internal.aup(this, v5_10);
            } catch (String v5_9) {
                throw new com.google.android.gms.internal.aup(this, v5_9);
            } catch (String v5_8) {
                throw new com.google.android.gms.internal.aup(this, v5_8);
            } catch (String v5_7) {
                throw new com.google.android.gms.internal.aup(this, v5_7);
            }
            ark>com.google.android.gms.internal.atoark>.a().init(1, new javax.crypto.spec.SecretKeySpec(p5, "AES"), 0);
            int v6_1 = ark>com.google.android.gms.internal.atoark>.a().doFinal(p6);
            java.nio.ByteBuffer v0_3 = ark>com.google.android.gms.internal.atoark>.a().getIV();
            String v5_2 = (v6_1.length + v0_3.length);
            java.nio.ByteBuffer v1_3 = java.nio.ByteBuffer.allocate(v5_2);
            v1_3.put(v0_3).put(v6_1);
            v1_3.flip();
            String v5_4 = new byte[v5_2];
            v1_3.get(v5_4);
            return com.google.android.gms.internal.ahz.a(v5_4, 0);
        }
    }

Method com.b.a.a.s.b() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public static javax.crypto.SecretKey b(javax.crypto.SecretKey p2, com.b.a.d p3, byte[] p4, byte[] p5)
    {
        String v0_1 = new java.io.ByteArrayOutputStream();
        try {
            v0_1.write(com.b.a.a.s.a);
            java.security.NoSuchAlgorithmException v2_2 = p2.getEncoded();
            v0_1.write(v2_2);
            java.security.NoSuchAlgorithmException v2_6 = (v2_2.length * 8);
            v0_1.write(com.b.a.d.h.a(v2_6));
            v0_1.write(p3.toString().getBytes());
        } catch (java.security.NoSuchAlgorithmException v2_1) {
            throw new com.b.a.f(v2_1.getMessage(), v2_1);
        }
        if (p4 == null) {
            v0_1.write(com.b.a.a.s.b);
        } else {
            v0_1.write(com.b.a.d.h.a(p4.length));
            v0_1.write(p4);
        }
        if (p5 == null) {
            v0_1.write(com.b.a.a.s.b);
        } else {
            v0_1.write(com.b.a.d.h.a(p5.length));
            v0_1.write(p5);
        }
        v0_1.write(com.b.a.a.s.d);
        com.b.a.f v3_12 = v0_1.toByteArray();
        try {
            String v4_3 = new StringBuilder("SHA-");
            v4_3.append(v2_6);
            com.b.a.f v3_13 = java.security.MessageDigest.getInstance(v4_3.toString()).digest(v3_12);
            String v4_7 = new StringBuilder("HMACSHA");
            v4_7.append(v2_6);
            return new javax.crypto.spec.SecretKeySpec(v3_13, v4_7.toString());
        } catch (java.security.NoSuchAlgorithmException v2_4) {
            throw new com.b.a.f(v2_4.getMessage(), v2_4);
        }
    }

Method com.b.a.a.s.a() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public static javax.crypto.SecretKey a(javax.crypto.SecretKey p2, com.b.a.d p3, byte[] p4, byte[] p5)
    {
        java.io.ByteArrayOutputStream v0_1 = new java.io.ByteArrayOutputStream();
        try {
            v0_1.write(ark>com.b.a.a.sark>.a);
            java.security.NoSuchAlgorithmException v2_3 = p2.getEncoded();
            v0_1.write(v2_3);
            java.security.NoSuchAlgorithmException v2_10 = (v2_3.length * 8);
            v0_1.write(com.b.a.d.h.a((v2_10 / 2)));
            v0_1.write(p3.toString().getBytes());
        } catch (java.security.NoSuchAlgorithmException v2_1) {
            throw new com.b.a.f(v2_1.getMessage(), v2_1);
        }
        if (p4 == null) {
            v0_1.write(ark>com.b.a.a.sark>.b);
        } else {
            v0_1.write(com.b.a.d.h.a(p4.length));
            v0_1.write(p4);
        }
        if (p5 == 0) {
            v0_1.write(ark>com.b.a.a.sark>.b);
        } else {
            v0_1.write(com.b.a.d.h.a(p5.length));
            v0_1.write(p5);
        }
        v0_1.write(ark>com.b.a.a.sark>.c);
        com.b.a.f v3_12 = v0_1.toByteArray();
        try {
            String v4_3 = new StringBuilder("SHA-");
            v4_3.append(v2_10);
            java.security.NoSuchAlgorithmException v2_5 = java.security.MessageDigest.getInstance(v4_3.toString()).digest(v3_12);
            com.b.a.f v3_15 = new byte[(v2_5.length / 2)];
            System.arraycopy(v2_5, 0, v3_15, 0, v3_15.length);
            return new javax.crypto.spec.SecretKeySpec(v3_15, "AES");
        } catch (java.security.NoSuchAlgorithmException v2_8) {
            throw new com.b.a.f(v2_8.getMessage(), v2_8);
        }
    }

Method com.b.a.a.q.a() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public static byte[] a(String p1, byte[] p2, byte[] p3, java.security.Provider p4)
    {
        return ark>com.b.a.a.qark>.a(new javax.crypto.spec.SecretKeySpec(p2, p1), p3, p4);
    }

Method com.b.a.a.i.<init>() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public i(javax.crypto.SecretKey p5)
    {
        String v0_9;
        String v3_2;
        this.a = p5;
        com.b.a.w v5_3 = p5.getEncoded();
        if (v5_3.length != 32) {
            if (v5_3.length != 48) {
                if (v5_3.length != 64) {
                    throw new com.b.a.w("Unsupported AES/CBC/PKCS5Padding/HMAC-SHA2 key length, must be 256, 384 or 512 bits");
                } else {
                    this.b = new javax.crypto.spec.SecretKeySpec(v5_3, 0, 32, "HMACSHA512");
                    this.c = new javax.crypto.spec.SecretKeySpec(v5_3, 32, 32, "AES");
                    this.d = 32;
                }
            } else {
                v3_2 = 24;
                this.b = new javax.crypto.spec.SecretKeySpec(v5_3, 0, 24, "HMACSHA384");
                v0_9 = new javax.crypto.spec.SecretKeySpec(v5_3, 24, 24, "AES");
                this.c = v0_9;
                this.d = v3_2;
            }
        } else {
            v3_2 = 16;
            this.b = new javax.crypto.spec.SecretKeySpec(v5_3, 0, 16, "HMACSHA256");
            v0_9 = new javax.crypto.spec.SecretKeySpec(v5_3, 16, 16, "AES");
        }
        return;
    }

Method com.b.a.a.i.<init>() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public i(javax.crypto.SecretKey p5)
    {
        String v3_2;
        String v0_9;
        this.a = p5;
        com.b.a.w v5_3 = p5.getEncoded();
        if (v5_3.length != 32) {
            if (v5_3.length != 48) {
                if (v5_3.length != 64) {
                    throw new com.b.a.w("Unsupported AES/CBC/PKCS5Padding/HMAC-SHA2 key length, must be 256, 384 or 512 bits");
                } else {
                    this.b = new javax.crypto.spec.SecretKeySpec(v5_3, 0, 32, "HMACSHA512");
                    this.c = new javax.crypto.spec.SecretKeySpec(v5_3, 32, 32, "AES");
                    this.d = 32;
                }
            } else {
                v3_2 = 24;
                this.b = new javax.crypto.spec.SecretKeySpec(v5_3, 0, 24, "HMACSHA384");
                v0_9 = new javax.crypto.spec.SecretKeySpec(v5_3, 24, 24, "AES");
                this.c = v0_9;
                this.d = v3_2;
            }
        } else {
            v3_2 = 16;
            this.b = new javax.crypto.spec.SecretKeySpec(v5_3, 0, 16, "HMACSHA256");
            v0_9 = new javax.crypto.spec.SecretKeySpec(v5_3, 16, 16, "AES");
        }
        return;
    }

Method com.b.a.a.b.a() calling method javax.crypto.spec.SecretKeySpec.<init>()


    private static javax.crypto.Cipher a(javax.crypto.SecretKey p2, boolean p3, byte[] p4, java.security.Provider p5)
    {
        try {
            javax.crypto.Cipher v5_1 = com.b.a.a.h.a("AES/CBC/PKCS5Padding", p5);
            javax.crypto.spec.SecretKeySpec v0_2 = new javax.crypto.spec.SecretKeySpec(p2.getEncoded(), "AES");
            Exception v2_4 = new javax.crypto.spec.IvParameterSpec(p4);
        } catch (Exception v2_1) {
            throw new com.b.a.f(v2_1.getMessage(), v2_1);
        }
        if (p3 == 0) {
            v5_1.init(2, v0_2, v2_4);
        } else {
            v5_1.init(1, v0_2, v2_4);
        }
        return v5_1;
    }

Method org.bouncycastle.cms.jcajce.JcePasswordRecipientInfoGenerator.generateEncryptedBytes() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public byte[] generateEncryptedBytes(org.bouncycastle.asn1.x509.AlgorithmIdentifier p5, byte[] p6, org.bouncycastle.operator.GenericKey p7)
    {
        String v7_1 = this.helper.getJceKey(p7);
        String v0_4 = this.helper.createRFC3211Wrapper(p5.getAlgorithm());
        try {
            v0_4.init(3, new javax.crypto.spec.SecretKeySpec(p6, v0_4.getAlgorithm()), new javax.crypto.spec.IvParameterSpec(org.bouncycastle.asn1.ASN1OctetString.getInstance(p5.getParameters()).getOctets()));
            return v0_4.wrap(v7_1);
        } catch (java.security.GeneralSecurityException v5_6) {
            String v7_3 = new StringBuilder();
            v7_3.append("cannot process content encryption key: ");
            v7_3.append(v5_6.getMessage());
            throw new org.bouncycastle.cms.CMSException(v7_3.toString(), v5_6);
        }
    }

Method org.bouncycastle.cms.jcajce.JcePasswordRecipient.extractSecretKey() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.Key extractSecretKey(org.bouncycastle.asn1.x509.AlgorithmIdentifier p5, org.bouncycastle.asn1.x509.AlgorithmIdentifier p6, byte[] p7, byte[] p8)
    {
        javax.crypto.Cipher v0_1 = this.helper.createRFC3211Wrapper(p5.getAlgorithm());
        try {
            v0_1.init(4, new javax.crypto.spec.SecretKeySpec(p7, v0_1.getAlgorithm()), new javax.crypto.spec.IvParameterSpec(org.bouncycastle.asn1.ASN1OctetString.getInstance(p5.getParameters()).getOctets()));
            return v0_1.unwrap(p8, p6.getAlgorithm().getId(), 3);
        } catch (java.security.GeneralSecurityException v5_6) {
            String v7_2 = new StringBuilder();
            v7_2.append("cannot process content encryption key: ");
            v7_2.append(v5_6.getMessage());
            throw new org.bouncycastle.cms.CMSException(v7_2.toString(), v5_6);
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.util.IvAlgorithmParameters.localEngineGetParameterSpec() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.spec.AlgorithmParameterSpec localEngineGetParameterSpec(Class p2)
    {
        if (p2 != javax.crypto.spec.IvParameterSpec) {
            throw new java.security.spec.InvalidParameterSpecException("unknown parameter spec passed to IV parameters object.");
        } else {
            return new javax.crypto.spec.IvParameterSpec(this.iv);
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.Shacal2$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[32];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("Shacal2");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.SM4$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("SM4");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.SEED$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("SEED");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.RC6$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("RC6");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.RC5$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("RC5");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.RC2$AlgParams.localEngineGetParameterSpec() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.spec.AlgorithmParameterSpec localEngineGetParameterSpec(Class p3)
    {
        if ((p3 != javax.crypto.spec.RC2ParameterSpec) || (this.parameterVersion == -1)) {
            if (p3 != javax.crypto.spec.IvParameterSpec) {
                throw new java.security.spec.InvalidParameterSpecException("unknown parameter spec passed to RC2 parameters object.");
            } else {
                return new javax.crypto.spec.IvParameterSpec(this.iv);
            }
        } else {
            if (this.parameterVersion >= 256) {
                return new javax.crypto.spec.RC2ParameterSpec(this.parameterVersion, this.iv);
            } else {
                return new javax.crypto.spec.RC2ParameterSpec(org.spongycastle.jcajce.provider.symmetric.RC2$AlgParams.ekb[this.parameterVersion], this.iv);
            }
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.RC2$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        RuntimeException v1_6;
        if (this.spec != null) {
            try {
                v1_6 = this.createParametersInstance("RC2");
                v1_6.init(this.spec);
            } catch (String v0_8) {
                throw new RuntimeException(v0_8.getMessage());
            }
        } else {
            String v0_3 = new byte[8];
            if (this.random == null) {
                this.random = new java.security.SecureRandom();
            }
            this.random.nextBytes(v0_3);
            try {
                v1_6 = this.createParametersInstance("RC2");
                v1_6.init(new javax.crypto.spec.IvParameterSpec(v0_3));
            } catch (String v0_5) {
                throw new RuntimeException(v0_5.getMessage());
            }
        }
        return v1_6;
    }

Method org.spongycastle.jcajce.provider.symmetric.Noekeon$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("Noekeon");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.IDEA$AlgParams.localEngineGetParameterSpec() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.spec.AlgorithmParameterSpec localEngineGetParameterSpec(Class p2)
    {
        if (p2 != javax.crypto.spec.IvParameterSpec) {
            throw new java.security.spec.InvalidParameterSpecException("unknown parameter spec passed to IV parameters object.");
        } else {
            return new javax.crypto.spec.IvParameterSpec(this.iv);
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.IDEA$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("IDEA");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.GOST28147$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("GOST28147");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.DESede$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("DES");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.DES$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("DES");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.Camellia$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("Camellia");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.CAST5$AlgParams.localEngineGetParameterSpec() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.spec.AlgorithmParameterSpec localEngineGetParameterSpec(Class p2)
    {
        if (p2 != javax.crypto.spec.IvParameterSpec) {
            throw new java.security.spec.InvalidParameterSpecException("unknown parameter spec passed to CAST5 parameters object.");
        } else {
            return new javax.crypto.spec.IvParameterSpec(this.iv);
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.CAST5$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("CAST5");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.AES$AlgParamsGCM.localEngineGetParameterSpec() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.spec.AlgorithmParameterSpec localEngineGetParameterSpec(Class p4)
    {
        if ((p4 != java.security.spec.AlgorithmParameterSpec) && (!org.spongycastle.jcajce.provider.symmetric.GcmSpecUtil.isGcmSpec(p4))) {
            if (p4 != javax.crypto.spec.IvParameterSpec) {
                StringBuilder v1_1 = new StringBuilder();
                v1_1.append("AlgorithmParameterSpec not recognized: ");
                v1_1.append(p4.getName());
                throw new java.security.spec.InvalidParameterSpecException(v1_1.toString());
            } else {
                return new javax.crypto.spec.IvParameterSpec(this.gcmParams.a());
            }
        } else {
            if (!org.spongycastle.jcajce.provider.symmetric.GcmSpecUtil.gcmSpecExists()) {
                return new javax.crypto.spec.IvParameterSpec(this.gcmParams.a());
            } else {
                return org.spongycastle.jcajce.provider.symmetric.GcmSpecUtil.extractGcmSpec(this.gcmParams.toASN1Primitive());
            }
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.AES$AlgParamsCCM.localEngineGetParameterSpec() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.spec.AlgorithmParameterSpec localEngineGetParameterSpec(Class p4)
    {
        if ((p4 != java.security.spec.AlgorithmParameterSpec) && (!org.spongycastle.jcajce.provider.symmetric.GcmSpecUtil.isGcmSpec(p4))) {
            if (p4 != javax.crypto.spec.IvParameterSpec) {
                StringBuilder v1_1 = new StringBuilder();
                v1_1.append("AlgorithmParameterSpec not recognized: ");
                v1_1.append(p4.getName());
                throw new java.security.spec.InvalidParameterSpecException(v1_1.toString());
            } else {
                return new javax.crypto.spec.IvParameterSpec(this.ccmParams.a());
            }
        } else {
            if (!org.spongycastle.jcajce.provider.symmetric.GcmSpecUtil.gcmSpecExists()) {
                return new javax.crypto.spec.IvParameterSpec(this.ccmParams.a());
            } else {
                return org.spongycastle.jcajce.provider.symmetric.GcmSpecUtil.extractGcmSpec(this.ccmParams.toASN1Primitive());
            }
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.AES$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("AES");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.createCipher() calling method javax.crypto.spec.IvParameterSpec.<init>()


    private javax.crypto.Cipher createCipher(int p11, char[] p12, org.spongycastle.a.u.a p13)
    {
        javax.crypto.SecretKey v12_1;
        byte[] v13_2 = org.spongycastle.a.o.l.a(p13.b());
        javax.crypto.Cipher v0_8 = org.spongycastle.a.o.m.a(v13_2.a().b());
        org.spongycastle.jcajce.spec.GOST28147ParameterSpec v1_1 = org.spongycastle.a.u.a.a(v13_2.b());
        org.spongycastle.a.o v2_1 = this.helper.e(v13_2.a().a().b());
        if (!v0_8.c()) {
            org.spongycastle.jcajce.spec.PBKDF2KeySpec v9 = new org.spongycastle.jcajce.spec.PBKDF2KeySpec;
            v9(p12, v0_8.a(), v0_8.b().intValue(), org.spongycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.keySizeProvider.getKeySize(v1_1), v0_8.d());
            v12_1 = v2_1.generateSecret(v9);
        } else {
            v12_1 = v2_1.generateSecret(new javax.crypto.spec.PBEKeySpec(p12, v0_8.a(), v0_8.b().intValue(), org.spongycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.keySizeProvider.getKeySize(v1_1)));
        }
        org.spongycastle.jcajce.spec.GOST28147ParameterSpec v1_6;
        javax.crypto.Cipher v0_6 = javax.crypto.Cipher.getInstance(v13_2.b().a().b());
        org.spongycastle.a.u.a.a(v13_2.b());
        byte[] v13_4 = v13_2.b().b();
        if (!(v13_4 instanceof org.spongycastle.a.p)) {
            byte[] v13_5 = org.spongycastle.a.e.c.a(v13_4);
            v1_6 = new org.spongycastle.jcajce.spec.GOST28147ParameterSpec(v13_5.a(), v13_5.b());
        } else {
            v1_6 = new javax.crypto.spec.IvParameterSpec(org.spongycastle.a.p.a(v13_4).c());
        }
        v0_6.init(p11, v12_1, v1_6);
        return v0_6;
    }

Method org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.get() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public org.bouncycastle.operator.InputDecryptor get(org.bouncycastle.asn1.x509.AlgorithmIdentifier p12)
    {
        javax.crypto.SecretKey v0_0 = p12.getAlgorithm();
        try {
            if (!v0_0.on(org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pkcs_12PbeIds)) {
                if (v0_0.equals(org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_PBES2)) {
                    javax.crypto.SecretKey v0_9;
                    byte[] v12_5 = org.bouncycastle.asn1.pkcs.PBES2Parameters.getInstance(p12.getParameters());
                    javax.crypto.SecretKey v0_8 = org.bouncycastle.asn1.pkcs.PBKDF2Params.getInstance(v12_5.getKeyDerivationFunc().getParameters());
                    javax.crypto.Cipher v1_10 = org.bouncycastle.asn1.x509.AlgorithmIdentifier.getInstance(v12_5.getEncryptionScheme());
                    org.bouncycastle.jcajce.spec.GOST28147ParameterSpec v3_9 = org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.access$000(this.this$0).createSecretKeyFactory(v12_5.getKeyDerivationFunc().getAlgorithm().getId());
                    if (!v0_8.isDefaultPrf()) {
                        org.bouncycastle.jcajce.spec.PBKDF2KeySpec v10 = new org.bouncycastle.jcajce.spec.PBKDF2KeySpec;
                        v10(this.val$password, v0_8.getSalt(), v0_8.getIterationCount().intValue(), org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.access$200(this.this$0).getKeySize(v1_10), v0_8.getPrf());
                        v0_9 = v3_9.generateSecret(v10);
                    } else {
                        v0_9 = v3_9.generateSecret(new javax.crypto.spec.PBEKeySpec(this.val$password, v0_8.getSalt(), v0_8.getIterationCount().intValue(), org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.access$200(this.this$0).getKeySize(v1_10)));
                    }
                    org.bouncycastle.jcajce.spec.GOST28147ParameterSpec v3_1;
                    javax.crypto.Cipher v1_0;
                    this.cipher = org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.access$000(this.this$0).createCipher(v12_5.getEncryptionScheme().getAlgorithm().getId());
                    this.encryptionAlg = org.bouncycastle.asn1.x509.AlgorithmIdentifier.getInstance(v12_5.getEncryptionScheme());
                    byte[] v12_10 = v12_5.getEncryptionScheme().getParameters();
                    if (!(v12_10 instanceof org.bouncycastle.asn1.ASN1OctetString)) {
                        byte[] v12_11 = org.bouncycastle.asn1.cryptopro.GOST28147Parameters.getInstance(v12_10);
                        v1_0 = this.cipher;
                        v3_1 = new org.bouncycastle.jcajce.spec.GOST28147ParameterSpec(v12_11.getEncryptionParamSet(), v12_11.getIV());
                    } else {
                        v1_0 = this.cipher;
                        v3_1 = new javax.crypto.spec.IvParameterSpec(org.bouncycastle.asn1.ASN1OctetString.getInstance(v12_10).getOctets());
                    }
                    v1_0.init(2, v0_9, v3_1);
                }
            } else {
                javax.crypto.Cipher v1_2 = org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getInstance(p12.getParameters());
                this.cipher = org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.access$000(this.this$0).createCipher(v0_0.getId());
                this.cipher.init(2, new org.bouncycastle.jcajce.PKCS12KeyWithParameters(this.val$password, org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.access$100(this.this$0), v1_2.getIV(), v1_2.getIterations().intValue()));
                this.encryptionAlg = p12;
            }
        } catch (byte[] v12_6) {
            javax.crypto.Cipher v1_6 = new StringBuilder();
            v1_6.append("unable to create InputDecryptor: ");
            v1_6.append(v12_6.getMessage());
            throw new org.bouncycastle.operator.OperatorCreationException(v1_6.toString(), v12_6);
        }
        return new org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1$1(this);
    }

Method org.bouncycastle.jcajce.provider.symmetric.util.IvAlgorithmParameters.localEngineGetParameterSpec() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.spec.AlgorithmParameterSpec localEngineGetParameterSpec(Class p2)
    {
        if (p2 != javax.crypto.spec.IvParameterSpec) {
            throw new java.security.spec.InvalidParameterSpecException("unknown parameter spec passed to IV parameters object.");
        } else {
            return new javax.crypto.spec.IvParameterSpec(this.iv);
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.Shacal2$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[32];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("Shacal2");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.SM4$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("SM4");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.SEED$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("SEED");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.RC6$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("RC6");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.RC5$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("RC5");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.RC2$AlgParams.localEngineGetParameterSpec() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.spec.AlgorithmParameterSpec localEngineGetParameterSpec(Class p3)
    {
        if ((p3 != javax.crypto.spec.RC2ParameterSpec) || (this.parameterVersion == -1)) {
            if (p3 != javax.crypto.spec.IvParameterSpec) {
                throw new java.security.spec.InvalidParameterSpecException("unknown parameter spec passed to RC2 parameters object.");
            } else {
                return new javax.crypto.spec.IvParameterSpec(this.iv);
            }
        } else {
            if (this.parameterVersion >= 256) {
                return new javax.crypto.spec.RC2ParameterSpec(this.parameterVersion, this.iv);
            } else {
                return new javax.crypto.spec.RC2ParameterSpec(org.bouncycastle.jcajce.provider.symmetric.RC2$AlgParams.ekb[this.parameterVersion], this.iv);
            }
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.RC2$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        RuntimeException v1_6;
        if (this.spec != null) {
            try {
                v1_6 = this.createParametersInstance("RC2");
                v1_6.init(this.spec);
            } catch (String v0_8) {
                throw new RuntimeException(v0_8.getMessage());
            }
        } else {
            String v0_3 = new byte[8];
            if (this.random == null) {
                this.random = new java.security.SecureRandom();
            }
            this.random.nextBytes(v0_3);
            try {
                v1_6 = this.createParametersInstance("RC2");
                v1_6.init(new javax.crypto.spec.IvParameterSpec(v0_3));
            } catch (String v0_5) {
                throw new RuntimeException(v0_5.getMessage());
            }
        }
        return v1_6;
    }

Method org.bouncycastle.jcajce.provider.symmetric.Noekeon$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("Noekeon");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.IDEA$AlgParams.localEngineGetParameterSpec() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.spec.AlgorithmParameterSpec localEngineGetParameterSpec(Class p2)
    {
        if (p2 != javax.crypto.spec.IvParameterSpec) {
            throw new java.security.spec.InvalidParameterSpecException("unknown parameter spec passed to IV parameters object.");
        } else {
            return new javax.crypto.spec.IvParameterSpec(this.iv);
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.IDEA$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("IDEA");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.GOST28147$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("GOST28147");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.DESede$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("DES");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.DES$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("DES");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.Camellia$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("Camellia");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.CAST5$AlgParams.localEngineGetParameterSpec() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.spec.AlgorithmParameterSpec localEngineGetParameterSpec(Class p2)
    {
        if (p2 != javax.crypto.spec.IvParameterSpec) {
            throw new java.security.spec.InvalidParameterSpecException("unknown parameter spec passed to CAST5 parameters object.");
        } else {
            return new javax.crypto.spec.IvParameterSpec(this.iv);
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.CAST5$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[8];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("CAST5");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.AES$AlgParamsGCM.localEngineGetParameterSpec() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.spec.AlgorithmParameterSpec localEngineGetParameterSpec(Class p4)
    {
        if ((p4 != java.security.spec.AlgorithmParameterSpec) && (!org.bouncycastle.jcajce.provider.symmetric.GcmSpecUtil.isGcmSpec(p4))) {
            if (p4 != javax.crypto.spec.IvParameterSpec) {
                StringBuilder v1_1 = new StringBuilder();
                v1_1.append("AlgorithmParameterSpec not recognized: ");
                v1_1.append(p4.getName());
                throw new java.security.spec.InvalidParameterSpecException(v1_1.toString());
            } else {
                return new javax.crypto.spec.IvParameterSpec(this.gcmParams.getNonce());
            }
        } else {
            if (!org.bouncycastle.jcajce.provider.symmetric.GcmSpecUtil.gcmSpecExists()) {
                return new javax.crypto.spec.IvParameterSpec(this.gcmParams.getNonce());
            } else {
                return org.bouncycastle.jcajce.provider.symmetric.GcmSpecUtil.extractGcmSpec(this.gcmParams.toASN1Primitive());
            }
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.AES$AlgParamsCCM.localEngineGetParameterSpec() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.spec.AlgorithmParameterSpec localEngineGetParameterSpec(Class p4)
    {
        if ((p4 != java.security.spec.AlgorithmParameterSpec) && (!org.bouncycastle.jcajce.provider.symmetric.GcmSpecUtil.isGcmSpec(p4))) {
            if (p4 != javax.crypto.spec.IvParameterSpec) {
                StringBuilder v1_1 = new StringBuilder();
                v1_1.append("AlgorithmParameterSpec not recognized: ");
                v1_1.append(p4.getName());
                throw new java.security.spec.InvalidParameterSpecException(v1_1.toString());
            } else {
                return new javax.crypto.spec.IvParameterSpec(this.ccmParams.getNonce());
            }
        } else {
            if (!org.bouncycastle.jcajce.provider.symmetric.GcmSpecUtil.gcmSpecExists()) {
                return new javax.crypto.spec.IvParameterSpec(this.ccmParams.getNonce());
            } else {
                return org.bouncycastle.jcajce.provider.symmetric.GcmSpecUtil.extractGcmSpec(this.ccmParams.toASN1Primitive());
            }
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.AES$AlgParamGen.engineGenerateParameters() calling method javax.crypto.spec.IvParameterSpec.<init>()


    protected java.security.AlgorithmParameters engineGenerateParameters()
    {
        String v0_1 = new byte[16];
        if (this.random == null) {
            this.random = new java.security.SecureRandom();
        }
        this.random.nextBytes(v0_1);
        try {
            RuntimeException v1_0 = this.createParametersInstance("AES");
            v1_0.init(new javax.crypto.spec.IvParameterSpec(v0_1));
            return v1_0;
        } catch (String v0_2) {
            throw new RuntimeException(v0_2.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.createCipher() calling method javax.crypto.spec.IvParameterSpec.<init>()


    private javax.crypto.Cipher createCipher(int p11, char[] p12, org.bouncycastle.asn1.x509.AlgorithmIdentifier p13)
    {
        javax.crypto.SecretKey v12_1;
        byte[] v13_2 = org.bouncycastle.asn1.pkcs.PBES2Parameters.getInstance(p13.getParameters());
        javax.crypto.Cipher v0_8 = org.bouncycastle.asn1.pkcs.PBKDF2Params.getInstance(v13_2.getKeyDerivationFunc().getParameters());
        org.bouncycastle.jcajce.spec.GOST28147ParameterSpec v1_1 = org.bouncycastle.asn1.x509.AlgorithmIdentifier.getInstance(v13_2.getEncryptionScheme());
        org.bouncycastle.asn1.ASN1ObjectIdentifier v2_1 = this.helper.createSecretKeyFactory(v13_2.getKeyDerivationFunc().getAlgorithm().getId());
        if (!v0_8.isDefaultPrf()) {
            org.bouncycastle.jcajce.spec.PBKDF2KeySpec v9 = new org.bouncycastle.jcajce.spec.PBKDF2KeySpec;
            v9(p12, v0_8.getSalt(), v0_8.getIterationCount().intValue(), org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.keySizeProvider.getKeySize(v1_1), v0_8.getPrf());
            v12_1 = v2_1.generateSecret(v9);
        } else {
            v12_1 = v2_1.generateSecret(new javax.crypto.spec.PBEKeySpec(p12, v0_8.getSalt(), v0_8.getIterationCount().intValue(), org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.keySizeProvider.getKeySize(v1_1)));
        }
        org.bouncycastle.jcajce.spec.GOST28147ParameterSpec v1_6;
        javax.crypto.Cipher v0_6 = javax.crypto.Cipher.getInstance(v13_2.getEncryptionScheme().getAlgorithm().getId());
        org.bouncycastle.asn1.x509.AlgorithmIdentifier.getInstance(v13_2.getEncryptionScheme());
        byte[] v13_4 = v13_2.getEncryptionScheme().getParameters();
        if (!(v13_4 instanceof org.bouncycastle.asn1.ASN1OctetString)) {
            byte[] v13_5 = org.bouncycastle.asn1.cryptopro.GOST28147Parameters.getInstance(v13_4);
            v1_6 = new org.bouncycastle.jcajce.spec.GOST28147ParameterSpec(v13_5.getEncryptionParamSet(), v13_5.getIV());
        } else {
            v1_6 = new javax.crypto.spec.IvParameterSpec(org.bouncycastle.asn1.ASN1OctetString.getInstance(v13_4).getOctets());
        }
        v0_6.init(p11, v12_1, v1_6);
        return v0_6;
    }

Method org.bouncycastle.cms.jcajce.EnvelopedDataHelper$1.doInJCE() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public Object doInJCE()
    {
        javax.crypto.Cipher v0_1 = this.this$0.createCipher(this.val$encryptionAlgID.getAlgorithm());
        java.security.Key v1_14 = this.val$encryptionAlgID.getParameters();
        boolean v2_1 = this.val$encryptionAlgID.getAlgorithm().getId();
        if ((v1_14 == null) || ((v1_14 instanceof org.bouncycastle.asn1.ASN1Null))) {
            if ((!v2_1.equals(org.bouncycastle.cms.CMSAlgorithm.DES_CBC.getId())) && ((!v2_1.equals(org.bouncycastle.cms.CMSEnvelopedDataGenerator.DES_EDE3_CBC)) && ((!v2_1.equals("1.3.6.1.4.1.188.7.1.1.2")) && (!v2_1.equals("1.2.840.113533.7.66.10"))))) {
                v0_1.init(2, this.val$sKey);
            } else {
                javax.crypto.spec.IvParameterSpec v4_2 = new byte[8];
                v0_1.init(2, this.val$sKey, new javax.crypto.spec.IvParameterSpec(v4_2));
            }
        } else {
            try {
                javax.crypto.spec.IvParameterSpec v4_4 = this.this$0.createAlgorithmParameters(this.val$encryptionAlgID.getAlgorithm());
                org.bouncycastle.cms.jcajce.CMSUtils.loadParameters(v4_4, v1_14);
                v0_1.init(2, this.val$sKey, v4_4);
            } catch (javax.crypto.spec.IvParameterSpec v4_5) {
                if (!v2_1.equals(org.bouncycastle.cms.CMSAlgorithm.DES_CBC.getId())) {
                    if (!v2_1.equals(org.bouncycastle.cms.CMSEnvelopedDataGenerator.DES_EDE3_CBC)) {
                        if (!v2_1.equals("1.3.6.1.4.1.188.7.1.1.2")) {
                            if (!v2_1.equals(org.bouncycastle.cms.CMSEnvelopedDataGenerator.AES128_CBC)) {
                                if (!v2_1.equals(org.bouncycastle.cms.CMSEnvelopedDataGenerator.AES192_CBC)) {
                                    if (!v2_1.equals(org.bouncycastle.cms.CMSEnvelopedDataGenerator.AES256_CBC)) {
                                        throw v4_5;
                                    }
                                }
                            }
                        }
                    }
                }
                v0_1.init(2, this.val$sKey, new javax.crypto.spec.IvParameterSpec(org.bouncycastle.asn1.ASN1OctetString.getInstance(v1_14).getOctets()));
            }
        }
        return v0_1;
    }

Method org.bouncycastle.cert.crmf.jcajce.CRMFHelper$1.doInJCE() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public Object doInJCE()
    {
        javax.crypto.Cipher v0_1 = this.this$0.createCipher(this.val$encryptionAlgID.getAlgorithm());
        java.security.Key v1_14 = ((org.bouncycastle.asn1.ASN1Primitive) this.val$encryptionAlgID.getParameters());
        boolean v2_1 = this.val$encryptionAlgID.getAlgorithm();
        if ((v1_14 == null) || ((v1_14 instanceof org.bouncycastle.asn1.ASN1Null))) {
            if ((!v2_1.equals(org.bouncycastle.cms.CMSAlgorithm.DES_EDE3_CBC)) && ((!v2_1.equals(org.bouncycastle.cms.CMSAlgorithm.IDEA_CBC)) && (!v2_1.equals(org.bouncycastle.cms.CMSAlgorithm.CAST5_CBC)))) {
                v0_1.init(2, this.val$sKey);
            } else {
                java.io.IOException v4_2 = new byte[8];
                v0_1.init(2, this.val$sKey, new javax.crypto.spec.IvParameterSpec(v4_2));
            }
        } else {
            try {
                java.io.IOException v4_4 = this.this$0.createAlgorithmParameters(this.val$encryptionAlgID.getAlgorithm());
            } catch (java.io.IOException v4_6) {
                if (!v2_1.equals(org.bouncycastle.cms.CMSAlgorithm.DES_EDE3_CBC)) {
                    if (!v2_1.equals(org.bouncycastle.cms.CMSAlgorithm.IDEA_CBC)) {
                        if (!v2_1.equals(org.bouncycastle.cms.CMSAlgorithm.AES128_CBC)) {
                            if (!v2_1.equals(org.bouncycastle.cms.CMSAlgorithm.AES192_CBC)) {
                                if (!v2_1.equals(org.bouncycastle.cms.CMSAlgorithm.AES256_CBC)) {
                                    throw v4_6;
                                }
                            }
                        }
                    }
                }
                v0_1.init(2, this.val$sKey, new javax.crypto.spec.IvParameterSpec(org.bouncycastle.asn1.ASN1OctetString.getInstance(v1_14).getOctets()));
            }
            org.bouncycastle.jcajce.util.AlgorithmParametersUtils.loadParameters(v4_4, v1_14);
            v0_1.init(2, this.val$sKey, v4_4);
        }
        return v0_1;
    }

Method org.bouncycastle.openssl.jcajce.PEMUtilities.crypt() calling method javax.crypto.spec.IvParameterSpec.<init>()


    static byte[] crypt(boolean p13, org.bouncycastle.jcajce.util.JcaJceHelper p14, byte[] p15, char[] p16, String p17, byte[] p18)
    {
        byte[] v3_4 = new javax.crypto.spec.IvParameterSpec(p18);
        int v4_0 = "CBC";
        int v6_2 = "PKCS5Padding";
        if (p17.endsWith("-CFB")) {
            v4_0 = "CFB";
            v6_2 = "NoPadding";
        }
        if ((p17.endsWith("-ECB")) || (("DES-EDE".equals(p17)) || ("DES-EDE3".equals(p17)))) {
            v4_0 = "ECB";
            v3_4 = 0;
        }
        javax.crypto.spec.RC2ParameterSpec v7_1 = v3_4;
        if (p17.endsWith("-OFB")) {
            v4_0 = "OFB";
            v6_2 = "NoPadding";
        }
        String v11;
        String v1_2;
        String v8 = v4_0;
        String v9 = v6_2;
        int v10 = 1;
        if (!p17.startsWith("DES-EDE")) {
            if (!p17.startsWith("DES-")) {
                if (!p17.startsWith("BF-")) {
                    int v6_0 = 128;
                    if (!p17.startsWith("RC2-")) {
                        if (!p17.startsWith("AES-")) {
                            throw new org.bouncycastle.openssl.EncryptionException("unknown encryption with private key");
                        } else {
                            byte[] v3_19;
                            v11 = "AES";
                            if (p18.length <= 8) {
                                v3_19 = p18;
                            } else {
                                v3_19 = new byte[8];
                                System.arraycopy(p18, 0, v3_19, 0, 8);
                            }
                            if (!p17.startsWith("AES-128-")) {
                                if (!p17.startsWith("AES-192-")) {
                                    if (!p17.startsWith("AES-256-")) {
                                        throw new org.bouncycastle.openssl.EncryptionException("unknown AES encryption with private key");
                                    } else {
                                        v6_0 = 256;
                                    }
                                } else {
                                    v6_0 = 192;
                                }
                            }
                            v1_2 = org.bouncycastle.openssl.jcajce.PEMUtilities.getKey(p14, p16, "AES", (v6_0 / 8), v3_19);
                        }
                    } else {
                        v11 = "RC2";
                        if (!p17.startsWith("RC2-40-")) {
                            if (p17.startsWith("RC2-64-")) {
                                v6_0 = 64;
                            }
                        } else {
                            v6_0 = 40;
                        }
                        javax.crypto.spec.RC2ParameterSpec v2_2;
                        v1_2 = org.bouncycastle.openssl.jcajce.PEMUtilities.getKey(p14, p16, "RC2", (v6_0 / 8), p18);
                        if (v7_1 != null) {
                            v2_2 = new javax.crypto.spec.RC2ParameterSpec(v6_0, p18);
                        } else {
                            v2_2 = new javax.crypto.spec.RC2ParameterSpec(v6_0);
                        }
                        v7_1 = v2_2;
                    }
                } else {
                    v11 = "Blowfish";
                    v1_2 = org.bouncycastle.openssl.jcajce.PEMUtilities.getKey(p14, p16, "Blowfish", 16, p18);
                }
            } else {
                v11 = "DES";
                v1_2 = org.bouncycastle.openssl.jcajce.PEMUtilities.getKey(p14, p16, "DES", 8, p18);
            }
        } else {
            v11 = "DESede";
            v1_2 = org.bouncycastle.openssl.jcajce.PEMUtilities.getKey(p14, p16, "DESede", 24, p18, (p17.startsWith("DES-EDE3") ^ 1));
        }
        javax.crypto.spec.RC2ParameterSpec v2_6 = new StringBuilder();
        v2_6.append(v11);
        v2_6.append("/");
        v2_6.append(v8);
        v2_6.append("/");
        v2_6.append(v9);
        try {
            org.bouncycastle.openssl.EncryptionException v0_0 = p14.createCipher(v2_6.toString());
        } catch (org.bouncycastle.openssl.EncryptionException v0_1) {
            throw new org.bouncycastle.openssl.EncryptionException("exception using cipher - please check password and data.", v0_1);
        }
        if (!p13) {
            v10 = 2;
        } else {
        }
        if (v7_1 != null) {
            v0_0.init(v10, v1_2, v7_1);
        } else {
            v0_0.init(v10, v1_2);
        }
        return v0_0.doFinal(p15);
    }

Method com.google.android.gms.internal.bd.a() calling method javax.crypto.spec.IvParameterSpec.<init>()

Couldn't retrieve source code

Method com.upi.hcesdk.security.SecurityManager.tripleDESCBCEncrypt() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public static String tripleDESCBCEncrypt(String p4, String p5)
    {
        javax.crypto.spec.IvParameterSpec v0_1 = new byte[24];
        int v4_6 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p4);
        System.arraycopy(v4_6, 0, v0_1, 0, 16);
        System.arraycopy(v4_6, 0, v0_1, 16, 8);
        int v4_1 = com.upi.hcesdk.util.ByteUtil.hexStrToByte(p5);
        try {
            javax.crypto.spec.SecretKeySpec v5_2 = new javax.crypto.spec.SecretKeySpec(v0_1, "DESede");
            javax.crypto.Cipher v1_1 = new byte[8];
            javax.crypto.spec.IvParameterSpec v0_3 = new javax.crypto.spec.IvParameterSpec(v1_1);
            javax.crypto.Cipher v1_3 = javax.crypto.Cipher.getInstance("DESede/CBC/NoPadding");
            v1_3.init(1, v5_2, v0_3);
            return com.upi.hcesdk.util.ByteUtil.byteToHexStr(v1_3.doFinal(v4_1));
        } catch (int v4_4) {
            v4_4.printStackTrace();
            return 0;
        }
    }

Method com.upi.hcesdk.security.SecurityManager.des3cipherCBC() calling method javax.crypto.spec.IvParameterSpec.<init>()


    private static String des3cipherCBC(com.upi.hcesdk.security.KeyObject p4, String p5, int p6)
    {
        if (p5 == null) {
            com.upi.hcesdk.util.LogUtil.error(com.upi.hcesdk.security.SecurityManager.LOGTAG, "[des3cipherCBC] Null cipherText");
        }
        String v6_1;
        String v1_3 = javax.crypto.Cipher.getInstance("DESede/CBC/NoPadding");
        String v3_0 = new byte[8];
        StringBuilder v2_0 = new javax.crypto.spec.IvParameterSpec(v3_0);
        String v3_1 = 1;
        if (p6 != 1) {
            v3_1 = 2;
            if (p6 != 2) {
                return 0;
            } else {
                v6_1 = p4.getSecretKey();
            }
        } else {
            v6_1 = p4.getSecretKey();
        }
        v1_3.init(v3_1, v6_1, v2_0);
        return com.upi.hcesdk.util.ByteUtil.byteToHexStr(v1_3.doFinal(com.upi.hcesdk.util.ByteUtil.hexStrToByte(p5)));
    }

Method com.paysys.nbpdigital.utils.ThreeDES.encrypt() calling method javax.crypto.spec.IvParameterSpec.<init>()


    private byte[] encrypt(String p5, String p6)
    {
        String v6_1 = this.acopyof(java.security.MessageDigest.getInstance("md5").digest(p6.getBytes("utf-8")), 24);
        javax.crypto.spec.SecretKeySpec v0_1 = 0;
        javax.crypto.Cipher v1_0 = 16;
        while (v0_1 < 8) {
            int v2_2 = (v1_0 + 1);
            int v3 = (v0_1 + 1);
            v6_1[v1_0] = v6_1[v0_1];
            v1_0 = v2_2;
            v0_1 = v3;
        }
        javax.crypto.spec.SecretKeySpec v0_3 = new javax.crypto.spec.SecretKeySpec(v6_1, "DESede");
        javax.crypto.Cipher v1_2 = new byte[8];
        String v6_3 = new javax.crypto.spec.IvParameterSpec(v1_2);
        javax.crypto.Cipher v1_4 = javax.crypto.Cipher.getInstance("DESede/CBC/PKCS7Padding");
        v1_4.init(1, v0_3, v6_3);
        return v1_4.doFinal(p5.getBytes("utf-8"));
    }

Method com.paysys.nbpdigital.utils.ThreeDES.decrypt() calling method javax.crypto.spec.IvParameterSpec.<init>()


    private String decrypt(byte[] p5, String p6)
    {
        String v6_1 = this.acopyof(java.security.MessageDigest.getInstance("md5").digest(p6.getBytes("utf-8")), 24);
        String v0_1 = 0;
        javax.crypto.Cipher v1_0 = 16;
        while (v0_1 < 8) {
            int v2_2 = (v1_0 + 1);
            int v3 = (v0_1 + 1);
            v6_1[v1_0] = v6_1[v0_1];
            v1_0 = v2_2;
            v0_1 = v3;
        }
        String v0_3 = new javax.crypto.spec.SecretKeySpec(v6_1, "DESede");
        javax.crypto.Cipher v1_2 = new byte[8];
        String v6_3 = new javax.crypto.spec.IvParameterSpec(v1_2);
        javax.crypto.Cipher v1_4 = javax.crypto.Cipher.getInstance("DESede/CBC/PKCS7Padding");
        v1_4.init(2, v0_3, v6_3);
        return new String(v1_4.doFinal(p5), "UTF-8");
    }

Method com.paysys.nbpdigital.d.a.a() calling method javax.crypto.spec.IvParameterSpec.<init>()


    private javax.crypto.Cipher a(int p7)
    {
        String v0_1 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS7Padding");
        java.security.Key v1_1 = this.d.getKey("MY_APP_ALIAS", 0);
        if (v1_1 != null) {
            if (p7 != 1) {
                v0_1.init(p7, v1_1, new javax.crypto.spec.IvParameterSpec(this.h()));
            } else {
                this.i();
                String v2_2 = this.i().edit();
                v2_2.remove("ENCRYPTED_PASS_SHARED_PREF_KEY");
                v2_2.remove("LAST_USED_IV_SHARED_PREF_KEY");
                v2_2.apply();
                this.d.deleteEntry("MY_APP_ALIAS");
                this.f();
                try {
                    v0_1.init(p7, v1_1);
                } catch (String v2_4) {
                    StringBuilder v4_1 = new StringBuilder();
                    v4_1.append("Encryption error =");
                    v4_1.append(v2_4);
                    android.util.Log.d("fingerPrint", v4_1.toString());
                }
                v0_1.init(p7, v1_1);
                this.b(v0_1.getIV());
            }
            return v0_1;
        } else {
            this.f();
            android.util.Log.d("fingerPrint", "keystore = null");
            return 0;
        }
    }

Method com.google.android.gms.internal.ato.a() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public final byte[] a(byte[] p6, String p7)
    {
        if (p6.length != 16) {
            throw new com.google.android.gms.internal.aup(this);
        } else {
            try {
                Throwable v7_20 = com.google.android.gms.internal.ahz.a(p7, 0);
            } catch (com.google.android.gms.internal.aup v6_11) {
                throw new com.google.android.gms.internal.aup(this, v6_11);
            } catch (com.google.android.gms.internal.aup v6_10) {
                throw new com.google.android.gms.internal.aup(this, v6_10);
            } catch (com.google.android.gms.internal.aup v6_9) {
                throw new com.google.android.gms.internal.aup(this, v6_9);
            } catch (com.google.android.gms.internal.aup v6_8) {
                throw new com.google.android.gms.internal.aup(this, v6_8);
            } catch (com.google.android.gms.internal.aup v6_7) {
                throw new com.google.android.gms.internal.aup(this, v6_7);
            } catch (com.google.android.gms.internal.aup v6_6) {
                throw new com.google.android.gms.internal.aup(this, v6_6);
            } catch (com.google.android.gms.internal.aup v6_5) {
                throw new com.google.android.gms.internal.aup(this, v6_5);
            }
            if (v7_20.length <= 16) {
                throw new com.google.android.gms.internal.aup(this);
            } else {
                javax.crypto.Cipher v0_2 = java.nio.ByteBuffer.allocate(v7_20.length);
                v0_2.put(v7_20);
                v0_2.flip();
                byte[] v2 = new byte[16];
                Throwable v7_3 = new byte[(v7_20.length - 16)];
                v0_2.get(v2);
                v0_2.get(v7_3);
                ark>com.google.android.gms.internal.atoark>.a().init(2, new javax.crypto.spec.SecretKeySpec(p6, "AES"), new javax.crypto.spec.IvParameterSpec(v2));
                return ark>com.google.android.gms.internal.atoark>.a().doFinal(v7_3);
            }
        }
    }

Method com.b.a.a.b.a() calling method javax.crypto.spec.IvParameterSpec.<init>()


    private static javax.crypto.Cipher a(javax.crypto.SecretKey p2, boolean p3, byte[] p4, java.security.Provider p5)
    {
        try {
            javax.crypto.Cipher v5_1 = com.b.a.a.h.a("AES/CBC/PKCS5Padding", p5);
            javax.crypto.spec.SecretKeySpec v0_2 = new javax.crypto.spec.SecretKeySpec(p2.getEncoded(), "AES");
            Exception v2_4 = new javax.crypto.spec.IvParameterSpec(p4);
        } catch (Exception v2_1) {
            throw new com.b.a.f(v2_1.getMessage(), v2_1);
        }
        if (p3 == 0) {
            v5_1.init(2, v0_2, v2_4);
        } else {
            v5_1.init(1, v0_2, v2_4);
        }
        return v5_1;
    }

Method org.spongycastle.jcajce.provider.symmetric.util.BaseStreamCipher.engineInit() calling method java.security.Key.getAlgorithm()


    protected void engineInit(int p10, java.security.Key p11, java.security.spec.AlgorithmParameterSpec p12, java.security.SecureRandom p13)
    {
        this.pbeSpec = 0;
        this.pbeAlgorithm = 0;
        this.engineParams = 0;
        if (!(p11 instanceof javax.crypto.SecretKey)) {
            org.spongycastle.crypto.CipherParameters v12_13 = new StringBuilder();
            v12_13.append("Key for algorithm ");
            v12_13.append(p11.getAlgorithm());
            v12_13.append(" not suitable for symmetric enryption.");
            throw new java.security.InvalidKeyException(v12_13.toString());
        } else {
            org.spongycastle.crypto.CipherParameters v12_5;
            if (!(p11 instanceof org.spongycastle.jcajce.d)) {
                if (!(p11 instanceof org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey)) {
                    if (p12 != null) {
                        if (!(p12 instanceof javax.crypto.spec.IvParameterSpec)) {
                            throw new java.security.InvalidAlgorithmParameterException("unknown parameter type.");
                        } else {
                            org.spongycastle.crypto.CipherParameters v0_9 = new org.spongycastle.crypto.params.ParametersWithIV(new org.spongycastle.crypto.params.KeyParameter(p11.getEncoded()), ((javax.crypto.spec.IvParameterSpec) p12).getIV());
                            this.ivParam = ((org.spongycastle.crypto.params.ParametersWithIV) v0_9);
                            v12_5 = v0_9;
                        }
                    } else {
                        if (this.digest > 0) {
                            throw new java.security.InvalidKeyException("Algorithm requires a PBE key");
                        } else {
                            v12_5 = new org.spongycastle.crypto.params.KeyParameter(p11.getEncoded());
                        }
                    }
                } else {
                    org.spongycastle.crypto.CipherParameters v0_12;
                    if (((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getOID() == null) {
                        v0_12 = ((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getAlgorithm();
                    } else {
                        v0_12 = ((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getOID().b();
                    }
                    this.pbeAlgorithm = v0_12;
                    if (((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getParam() == null) {
                        if (!(p12 instanceof javax.crypto.spec.PBEParameterSpec)) {
                            throw new java.security.InvalidAlgorithmParameterException("PBE requires PBE parameters to be set.");
                        } else {
                            org.spongycastle.crypto.CipherParameters v0_18 = org.spongycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11), p12, this.cipher.getAlgorithmName());
                            this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p12);
                            v12_5 = v0_18;
                        }
                    } else {
                        v12_5 = ((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getParam();
                        this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getSalt(), ((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getIterationCount());
                    }
                    if (((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getIvSize() != 0) {
                        this.ivParam = ((org.spongycastle.crypto.params.ParametersWithIV) v12_5);
                    }
                }
            } else {
                this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p12);
                if (((((org.spongycastle.jcajce.d) p11) instanceof org.spongycastle.jcajce.e)) && (this.pbeSpec == null)) {
                    this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((org.spongycastle.jcajce.e) ((org.spongycastle.jcajce.d) p11)).getSalt(), ((org.spongycastle.jcajce.e) ((org.spongycastle.jcajce.d) p11)).getIterationCount());
                }
                v12_5 = org.spongycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((org.spongycastle.jcajce.d) p11).getEncoded(), 2, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
            }
            if ((this.ivLength != 0) && (!(v12_5 instanceof org.spongycastle.crypto.params.ParametersWithIV))) {
                if (p13 == null) {
                    p13 = new java.security.SecureRandom();
                }
                if ((p10 != 1) && (p10 != 3)) {
                    throw new java.security.InvalidAlgorithmParameterException("no IV set when one expected");
                } else {
                    org.spongycastle.crypto.params.ParametersWithIV v11_11 = new byte[this.ivLength];
                    p13.nextBytes(v11_11);
                    org.spongycastle.crypto.params.ParametersWithIV v13_3 = new org.spongycastle.crypto.params.ParametersWithIV(v12_5, v11_11);
                    this.ivParam = ((org.spongycastle.crypto.params.ParametersWithIV) v13_3);
                    v12_5 = v13_3;
                }
            }
            try {
                switch (p10) {
                    case 1:
                    case 3:
                        this.cipher.init(1, v12_5);
                        return;
                    case 2:
                    case 4:
                        this.cipher.init(0, v12_5);
                        return;
                    default:
                        org.spongycastle.crypto.CipherParameters v12_7 = new StringBuilder();
                        v12_7.append("unknown opmode ");
                        v12_7.append(p10);
                        v12_7.append(" passed");
                        throw new java.security.InvalidParameterException(v12_7.toString());
                }
            } catch (java.security.InvalidAlgorithmParameterException v10_7) {
            }
            throw new java.security.InvalidKeyException(v10_7.getMessage());
        }
    }

Method org.spongycastle.jcajce.provider.symmetric.util.BaseBlockCipher.engineInit() calling method java.security.Key.getAlgorithm()


    protected void engineInit(int p18, java.security.Key p19, java.security.spec.AlgorithmParameterSpec p20, java.security.SecureRandom p21)
    {
        org.spongycastle.crypto.CipherParameters v5_2 = 0;
        this.pbeSpec = 0;
        this.pbeAlgorithm = 0;
        this.engineParams = 0;
        this.aeadParams = 0;
        if (!(p19 instanceof javax.crypto.SecretKey)) {
            byte[] v3_1 = new StringBuilder();
            v3_1.append("Key for algorithm ");
            v3_1.append(p19.getAlgorithm());
            v3_1.append(" not suitable for symmetric enryption.");
            throw new java.security.InvalidKeyException(v3_1.toString());
        } else {
            if ((p20 == null) && (this.baseEngine.getAlgorithmName().startsWith("RC5-64"))) {
                throw new java.security.InvalidAlgorithmParameterException("RC5 requires an RC5ParametersSpec to be passed in.");
            } else {
                if ((this.scheme != 2) && (!(p19 instanceof org.spongycastle.jcajce.d))) {
                    if (!(p19 instanceof org.spongycastle.jcajce.a)) {
                        if (!(p19 instanceof org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey)) {
                            if (!(p19 instanceof javax.crypto.interfaces.PBEKey)) {
                                if (!(p19 instanceof org.spongycastle.jcajce.spec.RepeatedSecretKeySpec)) {
                                    if ((this.scheme == 0) || ((this.scheme == 4) || ((this.scheme == 1) || (this.scheme == 5)))) {
                                        throw new java.security.InvalidKeyException("Algorithm requires a PBE key");
                                    } else {
                                        v5_2 = new org.spongycastle.crypto.params.KeyParameter(p19.getEncoded());
                                    }
                                }
                            } else {
                                this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p20);
                                if (((((javax.crypto.interfaces.PBEKey) p19) instanceof org.spongycastle.jcajce.e)) && (this.pbeSpec == null)) {
                                    this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((javax.crypto.interfaces.PBEKey) p19).getSalt(), ((javax.crypto.interfaces.PBEKey) p19).getIterationCount());
                                }
                                v5_2 = org.spongycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((javax.crypto.interfaces.PBEKey) p19).getEncoded(), this.scheme, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
                                if ((v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                                    this.ivParam = ((org.spongycastle.crypto.params.ParametersWithIV) v5_2);
                                }
                            }
                        } else {
                            reflect.Method v6_2;
                            if (((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getOID() == null) {
                                v6_2 = ((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getAlgorithm();
                            } else {
                                v6_2 = ((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getOID().b();
                            }
                            this.pbeAlgorithm = v6_2;
                            if (((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getParam() == null) {
                                if (!(p20 instanceof javax.crypto.spec.PBEParameterSpec)) {
                                    throw new java.security.InvalidAlgorithmParameterException("PBE requires PBE parameters to be set.");
                                } else {
                                    this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p20);
                                    v5_2 = org.spongycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p19), p20, this.cipher.getUnderlyingCipher().getAlgorithmName());
                                }
                            } else {
                                v5_2 = this.adjustParameters(p20, ((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getParam());
                            }
                            if ((v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                            }
                        }
                    } else {
                        if ((p20 instanceof javax.crypto.spec.PBEParameterSpec)) {
                            this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p20);
                        }
                        if (((((org.spongycastle.jcajce.a) p19) instanceof org.spongycastle.jcajce.b)) && (this.pbeSpec == null)) {
                            this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((org.spongycastle.jcajce.b) ((org.spongycastle.jcajce.a) p19)).getSalt(), ((org.spongycastle.jcajce.b) ((org.spongycastle.jcajce.a) p19)).getIterationCount());
                        }
                        v5_2 = org.spongycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((org.spongycastle.jcajce.a) p19).getEncoded(), 0, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
                        if ((v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                        }
                    }
                } else {
                    try {
                        if ((p20 instanceof javax.crypto.spec.PBEParameterSpec)) {
                            this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p20);
                        }
                    } catch (Exception) {
                        throw new java.security.InvalidKeyException("PKCS12 requires a SecretKey/PBEKey");
                    }
                    reflect.Method v6_23 = (((javax.crypto.SecretKey) p19) instanceof javax.crypto.interfaces.PBEKey);
                    if ((v6_23 != null) && (this.pbeSpec == null)) {
                        this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((javax.crypto.interfaces.PBEKey) ((javax.crypto.SecretKey) p19)).getSalt(), ((javax.crypto.interfaces.PBEKey) ((javax.crypto.SecretKey) p19)).getIterationCount());
                    }
                    if ((this.pbeSpec == null) && (v6_23 == null)) {
                        throw new java.security.InvalidKeyException("Algorithm requires a PBE key");
                    } else {
                        if ((!(p19 instanceof org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey)) || (((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getParam() == null)) {
                            v5_2 = org.spongycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((javax.crypto.SecretKey) p19).getEncoded(), 2, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
                        } else {
                            v5_2 = ((org.spongycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getParam();
                        }
                        if ((v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                        }
                    }
                }
                if (!(p20 instanceof javax.crypto.spec.IvParameterSpec)) {
                    String v2_47;
                    if (!(p20 instanceof org.spongycastle.jcajce.spec.GOST28147ParameterSpec)) {
                        if (!(p20 instanceof javax.crypto.spec.RC2ParameterSpec)) {
                            if (!(p20 instanceof javax.crypto.spec.RC5ParameterSpec)) {
                                if ((org.spongycastle.jcajce.provider.symmetric.util.BaseBlockCipher.gcmSpecClass == null) || (!org.spongycastle.jcajce.provider.symmetric.util.BaseBlockCipher.gcmSpecClass.isInstance(p20))) {
                                    if ((p20 != null) && (!(p20 instanceof javax.crypto.spec.PBEParameterSpec))) {
                                        throw new java.security.InvalidAlgorithmParameterException("unknown parameter type.");
                                    } else {
                                        if ((this.ivLength == 0) || (((v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) || ((v5_2 instanceof org.spongycastle.crypto.params.AEADParameters)))) {
                                            String v2_86 = v5_2;
                                        } else {
                                            String v2_79;
                                            if (p21 != null) {
                                                v2_79 = p21;
                                            } else {
                                                v2_79 = new java.security.SecureRandom();
                                            }
                                            if ((p18 != 1) && (p18 != 3)) {
                                                if (this.cipher.getUnderlyingCipher().getAlgorithmName().indexOf("PGPCFB") < 0) {
                                                    throw new java.security.InvalidAlgorithmParameterException("no IV set when one expected");
                                                }
                                            } else {
                                                byte[] v3_37 = new byte[this.ivLength];
                                                v2_79.nextBytes(v3_37);
                                                v2_86 = new org.spongycastle.crypto.params.ParametersWithIV(v5_2, v3_37);
                                                this.ivParam = ((org.spongycastle.crypto.params.ParametersWithIV) v2_86);
                                            }
                                        }
                                        if ((p21 != null) && (this.padded)) {
                                            v2_86 = new org.spongycastle.crypto.params.ParametersWithRandom(v2_86, p21);
                                        }
                                        try {
                                            switch (p18) {
                                                case 1:
                                                case 3:
                                                    this.cipher.init(1, v2_86);
                                                    return;
                                                case 2:
                                                case 4:
                                                    this.cipher.init(0, v2_86);
                                                    return;
                                                default:
                                                    byte[] v3_44 = new StringBuilder();
                                                    v3_44.append("unknown opmode ");
                                                    v3_44.append(p18);
                                                    v3_44.append(" passed");
                                                    throw new java.security.InvalidParameterException(v3_44.toString());
                                            }
                                        } catch (java.security.InvalidAlgorithmParameterException v0_33) {
                                        }
                                        throw new org.spongycastle.jcajce.provider.symmetric.util.BaseBlockCipher$1(this, v0_33.getMessage(), v0_33);
                                    }
                                } else {
                                    if ((!this.isAEADModeName(this.modeName)) && (!(this.cipher instanceof org.spongycastle.jcajce.provider.symmetric.util.BaseBlockCipher$AEADGenericBlockCipher))) {
                                        throw new java.security.InvalidAlgorithmParameterException("GCMParameterSpec can only be used with AEAD modes.");
                                    } else {
                                        try {
                                            org.spongycastle.crypto.params.AEADParameters v9_5 = new Class[0];
                                            String v2_18 = org.spongycastle.jcajce.provider.symmetric.util.BaseBlockCipher.gcmSpecClass.getDeclaredMethod("getTLen", v9_5);
                                            Object[] v10_3 = new Class[0];
                                            reflect.Method v6_37 = org.spongycastle.jcajce.provider.symmetric.util.BaseBlockCipher.gcmSpecClass.getDeclaredMethod("getIV", v10_3);
                                        } catch (Exception) {
                                            throw new java.security.InvalidAlgorithmParameterException("Cannot process GCMParameterSpec.");
                                        }
                                        if ((v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                                            v5_2 = ((org.spongycastle.crypto.params.ParametersWithIV) v5_2).getParameters();
                                        }
                                        Object[] v10_4 = new Object[0];
                                        Object[] v10_5 = new Object[0];
                                        org.spongycastle.crypto.params.AEADParameters v9_9 = new org.spongycastle.crypto.params.AEADParameters(((org.spongycastle.crypto.params.KeyParameter) v5_2), ((Integer) v2_18.invoke(p20, v10_4)).intValue(), ((byte[]) ((byte[]) v6_37.invoke(p20, v10_5))));
                                        this.aeadParams = v9_9;
                                        v5_2 = v9_9;
                                    }
                                }
                            } else {
                                v5_2 = new org.spongycastle.crypto.params.RC5Parameters(p19.getEncoded(), ((javax.crypto.spec.RC5ParameterSpec) p20).getRounds());
                                if (!this.baseEngine.getAlgorithmName().startsWith("RC5")) {
                                    throw new java.security.InvalidAlgorithmParameterException("RC5 parameters passed to a cipher that is not RC5.");
                                } else {
                                    if (!this.baseEngine.getAlgorithmName().equals("RC5-32")) {
                                        if ((this.baseEngine.getAlgorithmName().equals("RC5-64")) && (((javax.crypto.spec.RC5ParameterSpec) p20).getWordSize() != 64)) {
                                            String v2_36 = new StringBuilder();
                                            v2_36.append("RC5 already set up for a word size of 64 not ");
                                            v2_36.append(((javax.crypto.spec.RC5ParameterSpec) p20).getWordSize());
                                            v2_36.append(".");
                                            throw new java.security.InvalidAlgorithmParameterException(v2_36.toString());
                                        }
                                    } else {
                                        if (((javax.crypto.spec.RC5ParameterSpec) p20).getWordSize() != 32) {
                                            String v2_41 = new StringBuilder();
                                            v2_41.append("RC5 already set up for a word size of 32 not ");
                                            v2_41.append(((javax.crypto.spec.RC5ParameterSpec) p20).getWordSize());
                                            v2_41.append(".");
                                            throw new java.security.InvalidAlgorithmParameterException(v2_41.toString());
                                        }
                                    }
                                    if ((((javax.crypto.spec.RC5ParameterSpec) p20).getIV() == null) || (this.ivLength == 0)) {
                                    } else {
                                        if (!(v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                                            v2_47 = new org.spongycastle.crypto.params.ParametersWithIV(v5_2, ((javax.crypto.spec.RC5ParameterSpec) p20).getIV());
                                        } else {
                                            v2_47 = new org.spongycastle.crypto.params.ParametersWithIV(((org.spongycastle.crypto.params.ParametersWithIV) v5_2).getParameters(), ((javax.crypto.spec.RC5ParameterSpec) p20).getIV());
                                        }
                                    }
                                }
                            }
                        } else {
                            v5_2 = new org.spongycastle.crypto.params.RC2Parameters(p19.getEncoded(), ((javax.crypto.spec.RC2ParameterSpec) p20).getEffectiveKeyBits());
                            if ((((javax.crypto.spec.RC2ParameterSpec) p20).getIV() == null) || (this.ivLength == 0)) {
                            } else {
                                if (!(v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                                    v2_47 = new org.spongycastle.crypto.params.ParametersWithIV(v5_2, ((javax.crypto.spec.RC2ParameterSpec) p20).getIV());
                                } else {
                                    v2_47 = new org.spongycastle.crypto.params.ParametersWithIV(((org.spongycastle.crypto.params.ParametersWithIV) v5_2).getParameters(), ((javax.crypto.spec.RC2ParameterSpec) p20).getIV());
                                }
                            }
                        }
                    } else {
                        v5_2 = new org.spongycastle.crypto.params.ParametersWithSBox(new org.spongycastle.crypto.params.KeyParameter(p19.getEncoded()), ((org.spongycastle.jcajce.spec.GOST28147ParameterSpec) p20).getSbox());
                        if ((((org.spongycastle.jcajce.spec.GOST28147ParameterSpec) p20).getIV() == null) || (this.ivLength == 0)) {
                        } else {
                            if (!(v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                                v2_47 = new org.spongycastle.crypto.params.ParametersWithIV(v5_2, ((org.spongycastle.jcajce.spec.GOST28147ParameterSpec) p20).getIV());
                            } else {
                                v2_47 = new org.spongycastle.crypto.params.ParametersWithIV(((org.spongycastle.crypto.params.ParametersWithIV) v5_2).getParameters(), ((org.spongycastle.jcajce.spec.GOST28147ParameterSpec) p20).getIV());
                            }
                        }
                    }
                    this.ivParam = ((org.spongycastle.crypto.params.ParametersWithIV) v2_47);
                    v5_2 = v2_47;
                } else {
                    if (this.ivLength == 0) {
                        if ((this.modeName != null) && (this.modeName.equals("ECB"))) {
                            throw new java.security.InvalidAlgorithmParameterException("ECB mode does not use an IV");
                        }
                    } else {
                        if ((((javax.crypto.spec.IvParameterSpec) p20).getIV().length != this.ivLength) && ((!(this.cipher instanceof org.spongycastle.jcajce.provider.symmetric.util.BaseBlockCipher$AEADGenericBlockCipher)) && (this.fixedIv))) {
                            String v2_70 = new StringBuilder();
                            v2_70.append("IV must be ");
                            v2_70.append(this.ivLength);
                            v2_70.append(" bytes long.");
                            throw new java.security.InvalidAlgorithmParameterException(v2_70.toString());
                        } else {
                            byte[] v3_32;
                            if (!(v5_2 instanceof org.spongycastle.crypto.params.ParametersWithIV)) {
                                v3_32 = new org.spongycastle.crypto.params.ParametersWithIV(v5_2, ((javax.crypto.spec.IvParameterSpec) p20).getIV());
                            } else {
                                v3_32 = new org.spongycastle.crypto.params.ParametersWithIV(((org.spongycastle.crypto.params.ParametersWithIV) v5_2).getParameters(), ((javax.crypto.spec.IvParameterSpec) p20).getIV());
                            }
                            v5_2 = v3_32;
                            this.ivParam = ((org.spongycastle.crypto.params.ParametersWithIV) v5_2);
                        }
                    }
                }
            }
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.util.BaseStreamCipher.engineInit() calling method java.security.Key.getAlgorithm()


    protected void engineInit(int p10, java.security.Key p11, java.security.spec.AlgorithmParameterSpec p12, java.security.SecureRandom p13)
    {
        this.pbeSpec = 0;
        this.pbeAlgorithm = 0;
        this.engineParams = 0;
        if (!(p11 instanceof javax.crypto.SecretKey)) {
            org.bouncycastle.crypto.CipherParameters v12_13 = new StringBuilder();
            v12_13.append("Key for algorithm ");
            v12_13.append(p11.getAlgorithm());
            v12_13.append(" not suitable for symmetric enryption.");
            throw new java.security.InvalidKeyException(v12_13.toString());
        } else {
            org.bouncycastle.crypto.CipherParameters v12_5;
            if (!(p11 instanceof org.bouncycastle.jcajce.PKCS12Key)) {
                if (!(p11 instanceof org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey)) {
                    if (p12 != null) {
                        if (!(p12 instanceof javax.crypto.spec.IvParameterSpec)) {
                            throw new java.security.InvalidAlgorithmParameterException("unknown parameter type.");
                        } else {
                            org.bouncycastle.crypto.CipherParameters v0_9 = new org.bouncycastle.crypto.params.ParametersWithIV(new org.bouncycastle.crypto.params.KeyParameter(p11.getEncoded()), ((javax.crypto.spec.IvParameterSpec) p12).getIV());
                            this.ivParam = ((org.bouncycastle.crypto.params.ParametersWithIV) v0_9);
                            v12_5 = v0_9;
                        }
                    } else {
                        if (this.digest > 0) {
                            throw new java.security.InvalidKeyException("Algorithm requires a PBE key");
                        } else {
                            v12_5 = new org.bouncycastle.crypto.params.KeyParameter(p11.getEncoded());
                        }
                    }
                } else {
                    org.bouncycastle.crypto.CipherParameters v0_12;
                    if (((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getOID() == null) {
                        v0_12 = ((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getAlgorithm();
                    } else {
                        v0_12 = ((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getOID().getId();
                    }
                    this.pbeAlgorithm = v0_12;
                    if (((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getParam() == null) {
                        if (!(p12 instanceof javax.crypto.spec.PBEParameterSpec)) {
                            throw new java.security.InvalidAlgorithmParameterException("PBE requires PBE parameters to be set.");
                        } else {
                            org.bouncycastle.crypto.CipherParameters v0_18 = org.bouncycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11), p12, this.cipher.getAlgorithmName());
                            this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p12);
                            v12_5 = v0_18;
                        }
                    } else {
                        v12_5 = ((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getParam();
                        this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getSalt(), ((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getIterationCount());
                    }
                    if (((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p11).getIvSize() != 0) {
                        this.ivParam = ((org.bouncycastle.crypto.params.ParametersWithIV) v12_5);
                    }
                }
            } else {
                this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p12);
                if (((((org.bouncycastle.jcajce.PKCS12Key) p11) instanceof org.bouncycastle.jcajce.PKCS12KeyWithParameters)) && (this.pbeSpec == null)) {
                    this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((org.bouncycastle.jcajce.PKCS12KeyWithParameters) ((org.bouncycastle.jcajce.PKCS12Key) p11)).getSalt(), ((org.bouncycastle.jcajce.PKCS12KeyWithParameters) ((org.bouncycastle.jcajce.PKCS12Key) p11)).getIterationCount());
                }
                v12_5 = org.bouncycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((org.bouncycastle.jcajce.PKCS12Key) p11).getEncoded(), 2, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
            }
            if ((this.ivLength != 0) && (!(v12_5 instanceof org.bouncycastle.crypto.params.ParametersWithIV))) {
                if (p13 == null) {
                    p13 = new java.security.SecureRandom();
                }
                if ((p10 != 1) && (p10 != 3)) {
                    throw new java.security.InvalidAlgorithmParameterException("no IV set when one expected");
                } else {
                    org.bouncycastle.crypto.params.ParametersWithIV v11_11 = new byte[this.ivLength];
                    p13.nextBytes(v11_11);
                    org.bouncycastle.crypto.params.ParametersWithIV v13_3 = new org.bouncycastle.crypto.params.ParametersWithIV(v12_5, v11_11);
                    this.ivParam = ((org.bouncycastle.crypto.params.ParametersWithIV) v13_3);
                    v12_5 = v13_3;
                }
            }
            try {
                switch (p10) {
                    case 1:
                    case 3:
                        this.cipher.init(1, v12_5);
                        return;
                    case 2:
                    case 4:
                        this.cipher.init(0, v12_5);
                        return;
                    default:
                        org.bouncycastle.crypto.CipherParameters v12_7 = new StringBuilder();
                        v12_7.append("unknown opmode ");
                        v12_7.append(p10);
                        v12_7.append(" passed");
                        throw new java.security.InvalidParameterException(v12_7.toString());
                }
            } catch (java.security.InvalidAlgorithmParameterException v10_7) {
            }
            throw new java.security.InvalidKeyException(v10_7.getMessage());
        }
    }

Method org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.engineInit() calling method java.security.Key.getAlgorithm()


    protected void engineInit(int p18, java.security.Key p19, java.security.spec.AlgorithmParameterSpec p20, java.security.SecureRandom p21)
    {
        org.bouncycastle.crypto.CipherParameters v5_2 = 0;
        this.pbeSpec = 0;
        this.pbeAlgorithm = 0;
        this.engineParams = 0;
        this.aeadParams = 0;
        if (!(p19 instanceof javax.crypto.SecretKey)) {
            byte[] v3_1 = new StringBuilder();
            v3_1.append("Key for algorithm ");
            v3_1.append(p19.getAlgorithm());
            v3_1.append(" not suitable for symmetric enryption.");
            throw new java.security.InvalidKeyException(v3_1.toString());
        } else {
            if ((p20 == null) && (this.baseEngine.getAlgorithmName().startsWith("RC5-64"))) {
                throw new java.security.InvalidAlgorithmParameterException("RC5 requires an RC5ParametersSpec to be passed in.");
            } else {
                if ((this.scheme != 2) && (!(p19 instanceof org.bouncycastle.jcajce.PKCS12Key))) {
                    if (!(p19 instanceof org.bouncycastle.jcajce.PBKDF1Key)) {
                        if (!(p19 instanceof org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey)) {
                            if (!(p19 instanceof javax.crypto.interfaces.PBEKey)) {
                                if (!(p19 instanceof org.bouncycastle.jcajce.spec.RepeatedSecretKeySpec)) {
                                    if ((this.scheme == 0) || ((this.scheme == 4) || ((this.scheme == 1) || (this.scheme == 5)))) {
                                        throw new java.security.InvalidKeyException("Algorithm requires a PBE key");
                                    } else {
                                        v5_2 = new org.bouncycastle.crypto.params.KeyParameter(p19.getEncoded());
                                    }
                                }
                            } else {
                                this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p20);
                                if (((((javax.crypto.interfaces.PBEKey) p19) instanceof org.bouncycastle.jcajce.PKCS12KeyWithParameters)) && (this.pbeSpec == null)) {
                                    this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((javax.crypto.interfaces.PBEKey) p19).getSalt(), ((javax.crypto.interfaces.PBEKey) p19).getIterationCount());
                                }
                                v5_2 = org.bouncycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((javax.crypto.interfaces.PBEKey) p19).getEncoded(), this.scheme, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
                                if ((v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                                    this.ivParam = ((org.bouncycastle.crypto.params.ParametersWithIV) v5_2);
                                }
                            }
                        } else {
                            reflect.Method v6_2;
                            if (((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getOID() == null) {
                                v6_2 = ((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getAlgorithm();
                            } else {
                                v6_2 = ((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getOID().getId();
                            }
                            this.pbeAlgorithm = v6_2;
                            if (((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getParam() == null) {
                                if (!(p20 instanceof javax.crypto.spec.PBEParameterSpec)) {
                                    throw new java.security.InvalidAlgorithmParameterException("PBE requires PBE parameters to be set.");
                                } else {
                                    this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p20);
                                    v5_2 = org.bouncycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p19), p20, this.cipher.getUnderlyingCipher().getAlgorithmName());
                                }
                            } else {
                                v5_2 = this.adjustParameters(p20, ((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getParam());
                            }
                            if ((v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                            }
                        }
                    } else {
                        if ((p20 instanceof javax.crypto.spec.PBEParameterSpec)) {
                            this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p20);
                        }
                        if (((((org.bouncycastle.jcajce.PBKDF1Key) p19) instanceof org.bouncycastle.jcajce.PBKDF1KeyWithParameters)) && (this.pbeSpec == null)) {
                            this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((org.bouncycastle.jcajce.PBKDF1KeyWithParameters) ((org.bouncycastle.jcajce.PBKDF1Key) p19)).getSalt(), ((org.bouncycastle.jcajce.PBKDF1KeyWithParameters) ((org.bouncycastle.jcajce.PBKDF1Key) p19)).getIterationCount());
                        }
                        v5_2 = org.bouncycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((org.bouncycastle.jcajce.PBKDF1Key) p19).getEncoded(), 0, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
                        if ((v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                        }
                    }
                } else {
                    try {
                        if ((p20 instanceof javax.crypto.spec.PBEParameterSpec)) {
                            this.pbeSpec = ((javax.crypto.spec.PBEParameterSpec) p20);
                        }
                    } catch (Exception) {
                        throw new java.security.InvalidKeyException("PKCS12 requires a SecretKey/PBEKey");
                    }
                    reflect.Method v6_23 = (((javax.crypto.SecretKey) p19) instanceof javax.crypto.interfaces.PBEKey);
                    if ((v6_23 != null) && (this.pbeSpec == null)) {
                        if (((javax.crypto.interfaces.PBEKey) ((javax.crypto.SecretKey) p19)).getSalt() == null) {
                            throw new java.security.InvalidAlgorithmParameterException("PBEKey requires parameters to specify salt");
                        } else {
                            this.pbeSpec = new javax.crypto.spec.PBEParameterSpec(((javax.crypto.interfaces.PBEKey) ((javax.crypto.SecretKey) p19)).getSalt(), ((javax.crypto.interfaces.PBEKey) ((javax.crypto.SecretKey) p19)).getIterationCount());
                        }
                    }
                    if ((this.pbeSpec == null) && (v6_23 == null)) {
                        throw new java.security.InvalidKeyException("Algorithm requires a PBE key");
                    } else {
                        if (!(p19 instanceof org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey)) {
                            v5_2 = org.bouncycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((javax.crypto.SecretKey) p19).getEncoded(), 2, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
                        } else {
                            reflect.Method v6_27 = ((org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey) p19).getParam();
                            if (!(v6_27 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                                if (v6_27 != null) {
                                    throw new java.security.InvalidKeyException("Algorithm requires a PBE key suitable for PKCS12");
                                } else {
                                    v6_27 = org.bouncycastle.jcajce.provider.symmetric.util.PBE$Util.makePBEParameters(((javax.crypto.SecretKey) p19).getEncoded(), 2, this.digest, this.keySizeInBits, (this.ivLength * 8), this.pbeSpec, this.cipher.getAlgorithmName());
                                }
                            }
                            v5_2 = v6_27;
                        }
                        if ((v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                        }
                    }
                }
                if (!(p20 instanceof javax.crypto.spec.IvParameterSpec)) {
                    String v2_49;
                    if (!(p20 instanceof org.bouncycastle.jcajce.spec.GOST28147ParameterSpec)) {
                        if (!(p20 instanceof javax.crypto.spec.RC2ParameterSpec)) {
                            if (!(p20 instanceof javax.crypto.spec.RC5ParameterSpec)) {
                                if ((org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.gcmSpecClass == null) || (!org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.gcmSpecClass.isInstance(p20))) {
                                    if ((p20 != null) && (!(p20 instanceof javax.crypto.spec.PBEParameterSpec))) {
                                        throw new java.security.InvalidAlgorithmParameterException("unknown parameter type.");
                                    } else {
                                        if ((this.ivLength == 0) || (((v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) || ((v5_2 instanceof org.bouncycastle.crypto.params.AEADParameters)))) {
                                            String v2_88 = v5_2;
                                        } else {
                                            String v2_81;
                                            if (p21 != null) {
                                                v2_81 = p21;
                                            } else {
                                                v2_81 = new java.security.SecureRandom();
                                            }
                                            if ((p18 != 1) && (p18 != 3)) {
                                                if (this.cipher.getUnderlyingCipher().getAlgorithmName().indexOf("PGPCFB") < 0) {
                                                    throw new java.security.InvalidAlgorithmParameterException("no IV set when one expected");
                                                }
                                            } else {
                                                byte[] v3_37 = new byte[this.ivLength];
                                                v2_81.nextBytes(v3_37);
                                                v2_88 = new org.bouncycastle.crypto.params.ParametersWithIV(v5_2, v3_37);
                                                this.ivParam = ((org.bouncycastle.crypto.params.ParametersWithIV) v2_88);
                                            }
                                        }
                                        if ((p21 != null) && (this.padded)) {
                                            v2_88 = new org.bouncycastle.crypto.params.ParametersWithRandom(v2_88, p21);
                                        }
                                        try {
                                            switch (p18) {
                                                case 1:
                                                case 3:
                                                    this.cipher.init(1, v2_88);
                                                    return;
                                                case 2:
                                                case 4:
                                                    this.cipher.init(0, v2_88);
                                                    return;
                                                default:
                                                    byte[] v3_44 = new StringBuilder();
                                                    v3_44.append("unknown opmode ");
                                                    v3_44.append(p18);
                                                    v3_44.append(" passed");
                                                    throw new java.security.InvalidParameterException(v3_44.toString());
                                            }
                                        } catch (java.security.InvalidAlgorithmParameterException v0_37) {
                                        }
                                        throw new org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$1(this, v0_37.getMessage(), v0_37);
                                    }
                                } else {
                                    if ((!this.isAEADModeName(this.modeName)) && (!(this.cipher instanceof org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$AEADGenericBlockCipher))) {
                                        throw new java.security.InvalidAlgorithmParameterException("GCMParameterSpec can only be used with AEAD modes.");
                                    } else {
                                        try {
                                            org.bouncycastle.crypto.params.AEADParameters v9_6 = new Class[0];
                                            String v2_20 = org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.gcmSpecClass.getDeclaredMethod("getTLen", v9_6);
                                            Object[] v10_4 = new Class[0];
                                            reflect.Method v6_39 = org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.gcmSpecClass.getDeclaredMethod("getIV", v10_4);
                                        } catch (Exception) {
                                            throw new java.security.InvalidAlgorithmParameterException("Cannot process GCMParameterSpec.");
                                        }
                                        if ((v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                                            v5_2 = ((org.bouncycastle.crypto.params.ParametersWithIV) v5_2).getParameters();
                                        }
                                        Object[] v10_5 = new Object[0];
                                        Object[] v10_6 = new Object[0];
                                        org.bouncycastle.crypto.params.AEADParameters v9_10 = new org.bouncycastle.crypto.params.AEADParameters(((org.bouncycastle.crypto.params.KeyParameter) v5_2), ((Integer) v2_20.invoke(p20, v10_5)).intValue(), ((byte[]) ((byte[]) v6_39.invoke(p20, v10_6))));
                                        this.aeadParams = v9_10;
                                        v5_2 = v9_10;
                                    }
                                }
                            } else {
                                v5_2 = new org.bouncycastle.crypto.params.RC5Parameters(p19.getEncoded(), ((javax.crypto.spec.RC5ParameterSpec) p20).getRounds());
                                if (!this.baseEngine.getAlgorithmName().startsWith("RC5")) {
                                    throw new java.security.InvalidAlgorithmParameterException("RC5 parameters passed to a cipher that is not RC5.");
                                } else {
                                    if (!this.baseEngine.getAlgorithmName().equals("RC5-32")) {
                                        if ((this.baseEngine.getAlgorithmName().equals("RC5-64")) && (((javax.crypto.spec.RC5ParameterSpec) p20).getWordSize() != 64)) {
                                            String v2_39 = new StringBuilder();
                                            v2_39.append("RC5 already set up for a word size of 64 not ");
                                            v2_39.append(((javax.crypto.spec.RC5ParameterSpec) p20).getWordSize());
                                            v2_39.append(".");
                                            throw new java.security.InvalidAlgorithmParameterException(v2_39.toString());
                                        }
                                    } else {
                                        if (((javax.crypto.spec.RC5ParameterSpec) p20).getWordSize() != 32) {
                                            String v2_43 = new StringBuilder();
                                            v2_43.append("RC5 already set up for a word size of 32 not ");
                                            v2_43.append(((javax.crypto.spec.RC5ParameterSpec) p20).getWordSize());
                                            v2_43.append(".");
                                            throw new java.security.InvalidAlgorithmParameterException(v2_43.toString());
                                        }
                                    }
                                    if ((((javax.crypto.spec.RC5ParameterSpec) p20).getIV() == null) || (this.ivLength == 0)) {
                                    } else {
                                        if (!(v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                                            v2_49 = new org.bouncycastle.crypto.params.ParametersWithIV(v5_2, ((javax.crypto.spec.RC5ParameterSpec) p20).getIV());
                                        } else {
                                            v2_49 = new org.bouncycastle.crypto.params.ParametersWithIV(((org.bouncycastle.crypto.params.ParametersWithIV) v5_2).getParameters(), ((javax.crypto.spec.RC5ParameterSpec) p20).getIV());
                                        }
                                    }
                                }
                            }
                        } else {
                            v5_2 = new org.bouncycastle.crypto.params.RC2Parameters(p19.getEncoded(), ((javax.crypto.spec.RC2ParameterSpec) p20).getEffectiveKeyBits());
                            if ((((javax.crypto.spec.RC2ParameterSpec) p20).getIV() == null) || (this.ivLength == 0)) {
                            } else {
                                if (!(v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                                    v2_49 = new org.bouncycastle.crypto.params.ParametersWithIV(v5_2, ((javax.crypto.spec.RC2ParameterSpec) p20).getIV());
                                } else {
                                    v2_49 = new org.bouncycastle.crypto.params.ParametersWithIV(((org.bouncycastle.crypto.params.ParametersWithIV) v5_2).getParameters(), ((javax.crypto.spec.RC2ParameterSpec) p20).getIV());
                                }
                            }
                        }
                    } else {
                        v5_2 = new org.bouncycastle.crypto.params.ParametersWithSBox(new org.bouncycastle.crypto.params.KeyParameter(p19.getEncoded()), ((org.bouncycastle.jcajce.spec.GOST28147ParameterSpec) p20).getSbox());
                        if ((((org.bouncycastle.jcajce.spec.GOST28147ParameterSpec) p20).getIV() == null) || (this.ivLength == 0)) {
                        } else {
                            if (!(v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                                v2_49 = new org.bouncycastle.crypto.params.ParametersWithIV(v5_2, ((org.bouncycastle.jcajce.spec.GOST28147ParameterSpec) p20).getIV());
                            } else {
                                v2_49 = new org.bouncycastle.crypto.params.ParametersWithIV(((org.bouncycastle.crypto.params.ParametersWithIV) v5_2).getParameters(), ((org.bouncycastle.jcajce.spec.GOST28147ParameterSpec) p20).getIV());
                            }
                        }
                    }
                    this.ivParam = ((org.bouncycastle.crypto.params.ParametersWithIV) v2_49);
                    v5_2 = v2_49;
                } else {
                    if (this.ivLength == 0) {
                        if ((this.modeName != null) && (this.modeName.equals("ECB"))) {
                            throw new java.security.InvalidAlgorithmParameterException("ECB mode does not use an IV");
                        }
                    } else {
                        if ((((javax.crypto.spec.IvParameterSpec) p20).getIV().length != this.ivLength) && ((!(this.cipher instanceof org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$AEADGenericBlockCipher)) && (this.fixedIv))) {
                            String v2_72 = new StringBuilder();
                            v2_72.append("IV must be ");
                            v2_72.append(this.ivLength);
                            v2_72.append(" bytes long.");
                            throw new java.security.InvalidAlgorithmParameterException(v2_72.toString());
                        } else {
                            byte[] v3_32;
                            if (!(v5_2 instanceof org.bouncycastle.crypto.params.ParametersWithIV)) {
                                v3_32 = new org.bouncycastle.crypto.params.ParametersWithIV(v5_2, ((javax.crypto.spec.IvParameterSpec) p20).getIV());
                            } else {
                                v3_32 = new org.bouncycastle.crypto.params.ParametersWithIV(((org.bouncycastle.crypto.params.ParametersWithIV) v5_2).getParameters(), ((javax.crypto.spec.IvParameterSpec) p20).getIV());
                            }
                            v5_2 = v3_32;
                            this.ivParam = ((org.bouncycastle.crypto.params.ParametersWithIV) v5_2);
                        }
                    }
                }
            }
        }
    }

Method org.spongycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi.encodeKey() calling method java.security.Key.getAlgorithm()


    private void encodeKey(java.security.Key p3, java.io.DataOutputStream p4)
    {
        String v1_3;
        byte[] v0 = p3.getEncoded();
        if (!(p3 instanceof java.security.PrivateKey)) {
            if (!(p3 instanceof java.security.PublicKey)) {
                v1_3 = 2;
            } else {
                v1_3 = 1;
            }
        } else {
            v1_3 = 0;
        }
        p4.write(v1_3);
        p4.writeUTF(p3.getFormat());
        p4.writeUTF(p3.getAlgorithm());
        p4.writeInt(v0.length);
        p4.write(v0);
        return;
    }

Method org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi.encodeKey() calling method java.security.Key.getAlgorithm()


    private void encodeKey(java.security.Key p3, java.io.DataOutputStream p4)
    {
        String v1_3;
        byte[] v0 = p3.getEncoded();
        if (!(p3 instanceof java.security.PrivateKey)) {
            if (!(p3 instanceof java.security.PublicKey)) {
                v1_3 = 2;
            } else {
                v1_3 = 1;
            }
        } else {
            v1_3 = 0;
        }
        p4.write(v1_3);
        p4.writeUTF(p3.getFormat());
        p4.writeUTF(p3.getAlgorithm());
        p4.writeInt(v0.length);
        p4.write(v0);
        return;
    }

Method org.bouncycastle.jcajce.util.ProviderJcaJceHelper.createKeyGenerator() calling method javax.crypto.KeyGenerator.getInstance()


    public javax.crypto.KeyGenerator createKeyGenerator(String p2)
    {
        return javax.crypto.KeyGenerator.getInstance(p2, this.provider);
    }

Method org.bouncycastle.jcajce.util.NamedJcaJceHelper.createKeyGenerator() calling method javax.crypto.KeyGenerator.getInstance()


    public javax.crypto.KeyGenerator createKeyGenerator(String p2)
    {
        return javax.crypto.KeyGenerator.getInstance(p2, this.providerName);
    }

Method org.bouncycastle.jcajce.util.DefaultJcaJceHelper.createKeyGenerator() calling method javax.crypto.KeyGenerator.getInstance()


    public javax.crypto.KeyGenerator createKeyGenerator(String p1)
    {
        return javax.crypto.KeyGenerator.getInstance(p1);
    }

Method com.paysys.nbpdigital.d.a.f() calling method javax.crypto.KeyGenerator.getInstance()


    private boolean f()
    {
        try {
            this.d = java.security.KeyStore.getInstance("AndroidKeyStore");
            this.e = javax.crypto.KeyGenerator.getInstance("AES", "AndroidKeyStore");
            this.d.load(0);
        } catch (int v0_6) {
            javax.crypto.KeyGenerator v1_3 = new StringBuilder();
            v1_3.append("Failed init of keyStore & keyGenerator: ");
            v1_3.append(v0_6.getMessage());
            this.c(v1_3.toString());
            return 0;
        }
        if (this.h() == null) {
            this.c("null array found");
            this.e.init(this.e());
            this.e.generateKey();
        }
        return 1;
    }

Method org.bouncycastle.cms.jcajce.JceCMSMacCalculatorBuilder$CMSMacCalculator.<init>() calling method javax.crypto.KeyGenerator.generateKey()


    JceCMSMacCalculatorBuilder$CMSMacCalculator(org.bouncycastle.cms.jcajce.JceCMSMacCalculatorBuilder p2, org.bouncycastle.asn1.ASN1ObjectIdentifier p3, int p4, java.security.SecureRandom p5)
    {
        this.this$0 = p2;
        javax.crypto.KeyGenerator v0_1 = org.bouncycastle.cms.jcajce.JceCMSMacCalculatorBuilder.access$000(p2).createKeyGenerator(p3);
        if (p5 == null) {
            p5 = new java.security.SecureRandom();
        }
        this.random = p5;
        if (p4 >= null) {
            v0_1.init(p4, p5);
        } else {
            v0_1.init(p5);
        }
        this.encKey = v0_1.generateKey();
        this.algorithmIdentifier = org.bouncycastle.cms.jcajce.JceCMSMacCalculatorBuilder.access$000(p2).getAlgorithmIdentifier(p3, this.generateParameterSpec(p3, this.encKey));
        this.mac = org.bouncycastle.cms.jcajce.JceCMSMacCalculatorBuilder.access$000(p2).createContentMac(this.encKey, this.algorithmIdentifier);
        return;
    }

Method org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder$CMSOutputEncryptor.<init>() calling method javax.crypto.KeyGenerator.generateKey()


    JceCMSContentEncryptorBuilder$CMSOutputEncryptor(org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder p4, org.bouncycastle.asn1.ASN1ObjectIdentifier p5, int p6, java.security.SecureRandom p7)
    {
        this.this$0 = p4;
        javax.crypto.Cipher v0_3 = org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder.access$000(p4).createKeyGenerator(p5);
        if (p7 == null) {
            p7 = new java.security.SecureRandom();
        }
        if (p6 >= null) {
            v0_3.init(p6, p7);
        } else {
            v0_3.init(p7);
        }
        this.cipher = org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder.access$000(p4).createCipher(p5);
        this.encKey = v0_3.generateKey();
        java.security.AlgorithmParameters v6_5 = org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder.access$000(p4).generateParameters(p5, this.encKey, p7);
        try {
            this.cipher.init(1, this.encKey, v6_5, p7);
        } catch (org.bouncycastle.asn1.x509.AlgorithmIdentifier v4_1) {
            java.security.AlgorithmParameters v6_7 = new StringBuilder();
            v6_7.append("unable to initialize cipher: ");
            v6_7.append(v4_1.getMessage());
            throw new org.bouncycastle.cms.CMSException(v6_7.toString(), v4_1);
        }
        if (v6_5 == null) {
            v6_5 = this.cipher.getParameters();
        }
        this.algorithmIdentifier = org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder.access$000(p4).getAlgorithmIdentifier(p5, v6_5);
        return;
    }

Method org.bouncycastle.cert.crmf.jcajce.JceCRMFEncryptorBuilder$CRMFOutputEncryptor.<init>() calling method javax.crypto.KeyGenerator.generateKey()


    JceCRMFEncryptorBuilder$CRMFOutputEncryptor(org.bouncycastle.cert.crmf.jcajce.JceCRMFEncryptorBuilder p4, org.bouncycastle.asn1.ASN1ObjectIdentifier p5, int p6, java.security.SecureRandom p7)
    {
        this.this$0 = p4;
        javax.crypto.Cipher v0_3 = org.bouncycastle.cert.crmf.jcajce.JceCRMFEncryptorBuilder.access$000(p4).createKeyGenerator(p5);
        if (p7 == null) {
            p7 = new java.security.SecureRandom();
        }
        if (p6 < null) {
            p6 = org.bouncycastle.cert.crmf.jcajce.JceCRMFEncryptorBuilder.access$100().getKeySize(p5);
        }
        if (p6 >= null) {
            v0_3.init(p6, p7);
        } else {
            v0_3.init(p7);
        }
        this.cipher = org.bouncycastle.cert.crmf.jcajce.JceCRMFEncryptorBuilder.access$000(p4).createCipher(p5);
        this.encKey = v0_3.generateKey();
        java.security.AlgorithmParameters v6_6 = org.bouncycastle.cert.crmf.jcajce.JceCRMFEncryptorBuilder.access$000(p4).generateParameters(p5, this.encKey, p7);
        try {
            this.cipher.init(1, this.encKey, v6_6, p7);
        } catch (org.bouncycastle.asn1.x509.AlgorithmIdentifier v4_1) {
            java.security.AlgorithmParameters v6_8 = new StringBuilder();
            v6_8.append("unable to initialize cipher: ");
            v6_8.append(v4_1.getMessage());
            throw new org.bouncycastle.cert.crmf.CRMFException(v6_8.toString(), v4_1);
        }
        if (v6_6 == null) {
            v6_6 = this.cipher.getParameters();
        }
        this.algorithmIdentifier = org.bouncycastle.cert.crmf.jcajce.JceCRMFEncryptorBuilder.access$000(p4).getAlgorithmIdentifier(p5, v6_6);
        return;
    }

Method com.paysys.nbpdigital.d.a.f() calling method javax.crypto.KeyGenerator.generateKey()


    private boolean f()
    {
        try {
            this.d = java.security.KeyStore.getInstance("AndroidKeyStore");
            this.e = javax.crypto.KeyGenerator.getInstance("AES", "AndroidKeyStore");
            this.d.load(0);
        } catch (int v0_6) {
            javax.crypto.KeyGenerator v1_3 = new StringBuilder();
            v1_3.append("Failed init of keyStore & keyGenerator: ");
            v1_3.append(v0_6.getMessage());
            this.c(v1_3.toString());
            return 0;
        }
        if (this.h() == null) {
            this.c("null array found");
            this.e.init(this.e());
            this.e.generateKey();
        }
        return 1;
    }

Method org.spongycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.createCipher() calling method javax.crypto.Cipher.getInstance()


    private javax.crypto.Cipher createCipher(int p11, char[] p12, org.spongycastle.a.u.a p13)
    {
        javax.crypto.SecretKey v12_1;
        byte[] v13_2 = org.spongycastle.a.o.l.a(p13.b());
        javax.crypto.Cipher v0_8 = org.spongycastle.a.o.m.a(v13_2.a().b());
        org.spongycastle.jcajce.spec.GOST28147ParameterSpec v1_1 = org.spongycastle.a.u.a.a(v13_2.b());
        org.spongycastle.a.o v2_1 = this.helper.e(v13_2.a().a().b());
        if (!v0_8.c()) {
            org.spongycastle.jcajce.spec.PBKDF2KeySpec v9 = new org.spongycastle.jcajce.spec.PBKDF2KeySpec;
            v9(p12, v0_8.a(), v0_8.b().intValue(), org.spongycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.keySizeProvider.getKeySize(v1_1), v0_8.d());
            v12_1 = v2_1.generateSecret(v9);
        } else {
            v12_1 = v2_1.generateSecret(new javax.crypto.spec.PBEKeySpec(p12, v0_8.a(), v0_8.b().intValue(), org.spongycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.keySizeProvider.getKeySize(v1_1)));
        }
        org.spongycastle.jcajce.spec.GOST28147ParameterSpec v1_6;
        javax.crypto.Cipher v0_6 = javax.crypto.Cipher.getInstance(v13_2.b().a().b());
        org.spongycastle.a.u.a.a(v13_2.b());
        byte[] v13_4 = v13_2.b().b();
        if (!(v13_4 instanceof org.spongycastle.a.p)) {
            byte[] v13_5 = org.spongycastle.a.e.c.a(v13_4);
            v1_6 = new org.spongycastle.jcajce.spec.GOST28147ParameterSpec(v13_5.a(), v13_5.b());
        } else {
            v1_6 = new javax.crypto.spec.IvParameterSpec(org.spongycastle.a.p.a(v13_4).c());
        }
        v0_6.init(p11, v12_1, v1_6);
        return v0_6;
    }

Method org.spongycastle.jcajce.a.c.a() calling method javax.crypto.Cipher.getInstance()


    public javax.crypto.Cipher a(String p2)
    {
        return javax.crypto.Cipher.getInstance(p2, this.a);
    }

Method org.bouncycastle.jcajce.util.ProviderJcaJceHelper.createCipher() calling method javax.crypto.Cipher.getInstance()


    public javax.crypto.Cipher createCipher(String p2)
    {
        return javax.crypto.Cipher.getInstance(p2, this.provider);
    }

Method org.bouncycastle.jcajce.util.NamedJcaJceHelper.createCipher() calling method javax.crypto.Cipher.getInstance()


    public javax.crypto.Cipher createCipher(String p2)
    {
        return javax.crypto.Cipher.getInstance(p2, this.providerName);
    }

Method org.bouncycastle.jcajce.util.DefaultJcaJceHelper.createCipher() calling method javax.crypto.Cipher.getInstance()


    public javax.crypto.Cipher createCipher(String p1)
    {
        return javax.crypto.Cipher.getInstance(p1);
    }