JAVA 暴露的一些常用加密算法

來自Provider

security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=sun.security.ec.SunEC
security.provider.4=com.sun.net.ssl.internal.ssl.Provider
security.provider.5=com.sun.crypto.provider.SunJCE

SecureRandom

sun.security.provider.SunEntries

        map.put("SecureRandom.SHA1PRNG",
             "sun.security.provider.SecureRandom");
        if (nativeAvailable && !useNativePRNG) {
            map.put("SecureRandom.NativePRNG",
                "sun.security.provider.NativePRNG");
        }

        if (NativePRNG.Blocking.isAvailable()) {
            map.put("SecureRandom.NativePRNGBlocking",
                "sun.security.provider.NativePRNG$Blocking");
        }

        if (NativePRNG.NonBlocking.isAvailable()) {
            map.put("SecureRandom.NativePRNGNonBlocking",
                "sun.security.provider.NativePRNG$NonBlocking");
        }

Signature

sun.security.provider.SunEntries

 /*
         * Signature engines
         */
        map.put("Signature.SHA1withDSA",
                "sun.security.provider.DSA$SHA1withDSA");
        map.put("Signature.NONEwithDSA", "sun.security.provider.DSA$RawDSA");
        map.put("Alg.Alias.Signature.RawDSA", "NONEwithDSA");
        map.put("Signature.SHA224withDSA",
                "sun.security.provider.DSA$SHA224withDSA");
        map.put("Signature.SHA256withDSA",
                "sun.security.provider.DSA$SHA256withDSA");

        String dsaKeyClasses = "java.security.interfaces.DSAPublicKey" +
                "|java.security.interfaces.DSAPrivateKey";
        map.put("Signature.SHA1withDSA SupportedKeyClasses", dsaKeyClasses);
        map.put("Signature.NONEwithDSA SupportedKeyClasses", dsaKeyClasses);
        map.put("Signature.SHA224withDSA SupportedKeyClasses", dsaKeyClasses);
        map.put("Signature.SHA256withDSA SupportedKeyClasses", dsaKeyClasses);

        map.put("Alg.Alias.Signature.DSA", "SHA1withDSA");
        map.put("Alg.Alias.Signature.DSS", "SHA1withDSA");
        map.put("Alg.Alias.Signature.SHA/DSA", "SHA1withDSA");
        map.put("Alg.Alias.Signature.SHA-1/DSA", "SHA1withDSA");
        map.put("Alg.Alias.Signature.SHA1/DSA", "SHA1withDSA");
        map.put("Alg.Alias.Signature.SHAwithDSA", "SHA1withDSA");
        map.put("Alg.Alias.Signature.DSAWithSHA1", "SHA1withDSA");
        map.put("Alg.Alias.Signature.OID.1.2.840.10040.4.3",
                "SHA1withDSA");
        map.put("Alg.Alias.Signature.1.2.840.10040.4.3", "SHA1withDSA");
        map.put("Alg.Alias.Signature.1.3.14.3.2.13", "SHA1withDSA");
        map.put("Alg.Alias.Signature.1.3.14.3.2.27", "SHA1withDSA");
        map.put("Alg.Alias.Signature.OID.2.16.840.1.101.3.4.3.1",
                "SHA224withDSA");
        map.put("Alg.Alias.Signature.2.16.840.1.101.3.4.3.1", "SHA224withDSA");
        map.put("Alg.Alias.Signature.OID.2.16.840.1.101.3.4.3.2",
                "SHA256withDSA");
        map.put("Alg.Alias.Signature.2.16.840.1.101.3.4.3.2", "SHA256withDSA");

        /*
         * KeySize
         */
        map.put("Signature.NONEwithDSA KeySize", "1024");
        map.put("Signature.SHA1withDSA KeySize", "1024");
        map.put("Signature.SHA224withDSA KeySize", "2048");
        map.put("Signature.SHA256withDSA KeySize", "2048");

sun.security.rsa.SunRsaSignEntries

map.put("Signature.MD2withRSA",
                "sun.security.rsa.RSASignature$MD2withRSA");
        map.put("Signature.MD5withRSA",
                "sun.security.rsa.RSASignature$MD5withRSA");
        map.put("Signature.SHA1withRSA",
                "sun.security.rsa.RSASignature$SHA1withRSA");
        map.put("Signature.SHA224withRSA",
                "sun.security.rsa.RSASignature$SHA224withRSA");
        map.put("Signature.SHA256withRSA",
                "sun.security.rsa.RSASignature$SHA256withRSA");
        map.put("Signature.SHA384withRSA",
                "sun.security.rsa.RSASignature$SHA384withRSA");
        map.put("Signature.SHA512withRSA",
                "sun.security.rsa.RSASignature$SHA512withRSA");
String rsaKeyClasses = "java.security.interfaces.RSAPublicKey" +
                "|java.security.interfaces.RSAPrivateKey";
        map.put("Signature.MD2withRSA SupportedKeyClasses", rsaKeyClasses);
        map.put("Signature.MD5withRSA SupportedKeyClasses", rsaKeyClasses);
        map.put("Signature.SHA1withRSA SupportedKeyClasses", rsaKeyClasses);
        map.put("Signature.SHA224withRSA SupportedKeyClasses", rsaKeyClasses);
        map.put("Signature.SHA256withRSA SupportedKeyClasses", rsaKeyClasses);
        map.put("Signature.SHA384withRSA SupportedKeyClasses", rsaKeyClasses);
        map.put("Signature.SHA512withRSA SupportedKeyClasses", rsaKeyClasses);
 map.put("Alg.Alias.Signature.1.2.840.113549.1.1.2",     "MD2withRSA");
        map.put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.2", "MD2withRSA");

        map.put("Alg.Alias.Signature.1.2.840.113549.1.1.4",     "MD5withRSA");
        map.put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.4", "MD5withRSA");

        map.put("Alg.Alias.Signature.1.2.840.113549.1.1.5",     "SHA1withRSA");
        map.put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.5", "SHA1withRSA");
        map.put("Alg.Alias.Signature.1.3.14.3.2.29",            "SHA1withRSA");

        map.put("Alg.Alias.Signature.1.2.840.113549.1.1.14",     "SHA224withRSA");
        map.put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.14", "SHA224withRSA");

        map.put("Alg.Alias.Signature.1.2.840.113549.1.1.11",     "SHA256withRSA");
        map.put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.11", "SHA256withRSA");

        map.put("Alg.Alias.Signature.1.2.840.113549.1.1.12",     "SHA384withRSA");
        map.put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.12", "SHA384withRSA");

        map.put("Alg.Alias.Signature.1.2.840.113549.1.1.13",     "SHA512withRSA");
        map.put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.13", "SHA512withRSA");

sun.security.ec.SunECEntries

  map.put("Signature.NONEwithECDSA",
            "sun.security.ec.ECDSASignature$Raw");
        map.put("Signature.SHA1withECDSA",
            "sun.security.ec.ECDSASignature$SHA1");
        map.put("Alg.Alias.Signature.OID.1.2.840.10045.4.1", "SHA1withECDSA");
        map.put("Alg.Alias.Signature.1.2.840.10045.4.1", "SHA1withECDSA");

        map.put("Signature.SHA224withECDSA",
            "sun.security.ec.ECDSASignature$SHA224");
        map.put("Alg.Alias.Signature.OID.1.2.840.10045.4.3.1", "SHA224withECDSA");
        map.put("Alg.Alias.Signature.1.2.840.10045.4.3.1", "SHA224withECDSA");

        map.put("Signature.SHA256withECDSA",
            "sun.security.ec.ECDSASignature$SHA256");
        map.put("Alg.Alias.Signature.OID.1.2.840.10045.4.3.2", "SHA256withECDSA");
        map.put("Alg.Alias.Signature.1.2.840.10045.4.3.2", "SHA256withECDSA");

        map.put("Signature.SHA384withECDSA",
            "sun.security.ec.ECDSASignature$SHA384");
        map.put("Alg.Alias.Signature.OID.1.2.840.10045.4.3.3", "SHA384withECDSA");
        map.put("Alg.Alias.Signature.1.2.840.10045.4.3.3", "SHA384withECDSA");

        map.put("Signature.SHA512withECDSA",
            "sun.security.ec.ECDSASignature$SHA512");
        map.put("Alg.Alias.Signature.OID.1.2.840.10045.4.3.4", "SHA512withECDSA");
        map.put("Alg.Alias.Signature.1.2.840.10045.4.3.4", "SHA512withECDSA");

        String ecKeyClasses = "java.security.interfaces.ECPublicKey" +
                "|java.security.interfaces.ECPrivateKey";
        map.put("Signature.NONEwithECDSA SupportedKeyClasses", ecKeyClasses);
        map.put("Signature.SHA1withECDSA SupportedKeyClasses", ecKeyClasses);
        map.put("Signature.SHA224withECDSA SupportedKeyClasses", ecKeyClasses);
        map.put("Signature.SHA256withECDSA SupportedKeyClasses", ecKeyClasses);
        map.put("Signature.SHA384withECDSA SupportedKeyClasses", ecKeyClasses);
        map.put("Signature.SHA512withECDSA SupportedKeyClasses", ecKeyClasses);

        map.put("Signature.SHA1withECDSA KeySize", "256");

        map.put("Signature.NONEwithECDSA ImplementedIn", "Software");
        map.put("Signature.SHA1withECDSA ImplementedIn", "Software");
        map.put("Signature.SHA224withECDSA ImplementedIn", "Software");
        map.put("Signature.SHA256withECDSA ImplementedIn", "Software");
        map.put("Signature.SHA384withECDSA ImplementedIn", "Software");
        map.put("Signature.SHA512withECDSA ImplementedIn", "Software");

sun.security.ssl.SunJSSE

 put("Signature.MD2withRSA",
                "sun.security.rsa.RSASignature$MD2withRSA");
            put("Alg.Alias.Signature.1.2.840.113549.1.1.2", "MD2withRSA");
            put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.2",
                "MD2withRSA");

            put("Signature.MD5withRSA",
                "sun.security.rsa.RSASignature$MD5withRSA");
            put("Alg.Alias.Signature.1.2.840.113549.1.1.4", "MD5withRSA");
            put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.4",
                "MD5withRSA");

            put("Signature.SHA1withRSA",
                "sun.security.rsa.RSASignature$SHA1withRSA");
            put("Alg.Alias.Signature.1.2.840.113549.1.1.5", "SHA1withRSA");
            put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.5",
                "SHA1withRSA");
            put("Alg.Alias.Signature.1.3.14.3.2.29", "SHA1withRSA");
            put("Alg.Alias.Signature.OID.1.3.14.3.2.29", "SHA1withRSA");

        }
        put("Signature.MD5andSHA1withRSA",
            "sun.security.ssl.RSASignature");

KeyPairGenerator

sun.security.provider.SunEntries

        /*
         *  Key Pair Generator engines
         */
        map.put("KeyPairGenerator.DSA",
            "sun.security.provider.DSAKeyPairGenerator");
        map.put("Alg.Alias.KeyPairGenerator.OID.1.2.840.10040.4.1", "DSA");
        map.put("Alg.Alias.KeyPairGenerator.1.2.840.10040.4.1", "DSA");
        map.put("Alg.Alias.KeyPairGenerator.1.3.14.3.2.12", "DSA")
        map.put("KeyPairGenerator.DSA KeySize", "2048");

sun.security.rsa.SunRsaSignEntries

        map.put("KeyPairGenerator.RSA",
                "sun.security.rsa.RSAKeyPairGenerator");
        map.put("Alg.Alias.KeyPairGenerator.1.2.840.113549.1.1",     "RSA");
        map.put("Alg.Alias.KeyPairGenerator.OID.1.2.840.113549.1.1", "RSA");

sun.security.ec.SunECEntries

 map.put("KeyPairGenerator.EC", "sun.security.ec.ECKeyPairGenerator");
        map.put("Alg.Alias.KeyPairGenerator.EllipticCurve", "EC");

        map.put("KeyPairGenerator.EC KeySize", "256");

        map.put("KeyPairGenerator.EC ImplementedIn", "Software");

sun.security.ssl.SunJSSE

  put("KeyPairGenerator.RSA",
                "sun.security.rsa.RSAKeyPairGenerator");
            put("Alg.Alias.KeyPairGenerator.1.2.840.113549.1.1", "RSA");
            put("Alg.Alias.KeyPairGenerator.OID.1.2.840.113549.1.1", "RSA");

com.sun.crypto.provider.SunJCE

                    put("KeyPairGenerator.DiffieHellman",
                        "com.sun.crypto.provider.DHKeyPairGenerator");
                    put("Alg.Alias.KeyPairGenerator.DH", "DiffieHellman");
                    put("Alg.Alias.KeyPairGenerator.OID."+OID_PKCS3,
                        "DiffieHellman");
                    put("Alg.Alias.KeyPairGenerator."+OID_PKCS3,
                        "DiffieHellman");

MessageDigest

sun.security.provider.SunEntries

 /*
         * Digest engines
         */
        map.put("MessageDigest.MD2", "sun.security.provider.MD2");
        map.put("MessageDigest.MD5", "sun.security.provider.MD5");
        map.put("MessageDigest.SHA", "sun.security.provider.SHA");

        map.put("Alg.Alias.MessageDigest.SHA-1", "SHA");
        map.put("Alg.Alias.MessageDigest.SHA1", "SHA");
        map.put("Alg.Alias.MessageDigest.1.3.14.3.2.26", "SHA");
        map.put("Alg.Alias.MessageDigest.OID.1.3.14.3.2.26", "SHA");

        map.put("MessageDigest.SHA-224", "sun.security.provider.SHA2$SHA224");
        map.put("Alg.Alias.MessageDigest.2.16.840.1.101.3.4.2.4", "SHA-224");
        map.put("Alg.Alias.MessageDigest.OID.2.16.840.1.101.3.4.2.4",
                "SHA-224");

        map.put("MessageDigest.SHA-256", "sun.security.provider.SHA2$SHA256");
        map.put("Alg.Alias.MessageDigest.2.16.840.1.101.3.4.2.1", "SHA-256");
        map.put("Alg.Alias.MessageDigest.OID.2.16.840.1.101.3.4.2.1",
                "SHA-256");
        map.put("MessageDigest.SHA-384", "sun.security.provider.SHA5$SHA384");
        map.put("Alg.Alias.MessageDigest.2.16.840.1.101.3.4.2.2", "SHA-384");
        map.put("Alg.Alias.MessageDigest.OID.2.16.840.1.101.3.4.2.2",
                "SHA-384");
        map.put("MessageDigest.SHA-512", "sun.security.provider.SHA5$SHA512");
        map.put("Alg.Alias.MessageDigest.2.16.840.1.101.3.4.2.3", "SHA-512");
        map.put("Alg.Alias.MessageDigest.OID.2.16.840.1.101.3.4.2.3",
                "SHA-512");

AlgorithmParameterGenerator

sun.security.provider.SunEntries

        /*
         * Algorithm Parameter Generator engines
         */
        map.put("AlgorithmParameterGenerator.DSA",
            "sun.security.provider.DSAParameterGenerator");
        map.put("AlgorithmParameterGenerator.DSA KeySize", "2048");

com.sun.crypto.provider.SunJCE

 /*
                     * Algorithm parameter generation engines
                     */
                    put("AlgorithmParameterGenerator.DiffieHellman",
                        "com.sun.crypto.provider.DHParameterGenerator");
                    put("Alg.Alias.AlgorithmParameterGenerator.DH",
                        "DiffieHellman");
                    put("Alg.Alias.AlgorithmParameterGenerator.OID."+OID_PKCS3,
                        "DiffieHellman");
                    put("Alg.Alias.AlgorithmParameterGenerator."+OID_PKCS3,
                        "DiffieHellman");

AlgorithmParameters

sun.security.provider.SunEntries

        /*
         * Algorithm Parameter engines
         */
        map.put("AlgorithmParameters.DSA",
            "sun.security.provider.DSAParameters");
        map.put("Alg.Alias.AlgorithmParameters.OID.1.2.840.10040.4.1", "DSA");
        map.put("Alg.Alias.AlgorithmParameters.1.2.840.10040.4.1", "DSA");
        map.put("Alg.Alias.AlgorithmParameters.1.3.14.3.2.12", "DSA");

sun.security.ec.SunECEntries

  map.put("AlgorithmParameters.EC", "sun.security.ec.ECParameters");
        map.put("Alg.Alias.AlgorithmParameters.EllipticCurve", "EC");
        map.put("Alg.Alias.AlgorithmParameters.1.2.840.10045.2.1", "EC");

        map.put("AlgorithmParameters.EC KeySize", "256");

        map.put("AlgorithmParameters.EC ImplementedIn", "Software");

com.sun.crypto.provider.SunJCE


                    /*
                     * Algorithm Parameter engines
                     */
                    put("AlgorithmParameters.DiffieHellman",
                        "com.sun.crypto.provider.DHParameters");
                    put("Alg.Alias.AlgorithmParameters.DH", "DiffieHellman");
                    put("Alg.Alias.AlgorithmParameters.OID."+OID_PKCS3,
                        "DiffieHellman");
                    put("Alg.Alias.AlgorithmParameters."+OID_PKCS3,
                        "DiffieHellman");

                    put("AlgorithmParameters.DES",
                        "com.sun.crypto.provider.DESParameters");

                    put("AlgorithmParameters.DESede",
                        "com.sun.crypto.provider.DESedeParameters");
                    put("Alg.Alias.AlgorithmParameters.TripleDES", "DESede");

                    put("AlgorithmParameters.PBE",
                        "com.sun.crypto.provider.PBEParameters");

                    put("AlgorithmParameters.PBEWithMD5AndDES",
                        "com.sun.crypto.provider.PBEParameters");
                    put("Alg.Alias.AlgorithmParameters.OID."+OID_PKCS5_MD5_DES,
                        "PBEWithMD5AndDES");
                    put("Alg.Alias.AlgorithmParameters."+OID_PKCS5_MD5_DES,
                        "PBEWithMD5AndDES");

                    put("AlgorithmParameters.PBEWithMD5AndTripleDES",
                        "com.sun.crypto.provider.PBEParameters");

                    put("AlgorithmParameters.PBEWithSHA1AndDESede",
                        "com.sun.crypto.provider.PBEParameters");
                    put("Alg.Alias.AlgorithmParameters.OID."+OID_PKCS12_DESede,
                        "PBEWithSHA1AndDESede");
                    put("Alg.Alias.AlgorithmParameters."+OID_PKCS12_DESede,
                        "PBEWithSHA1AndDESede");

                    put("AlgorithmParameters.PBEWithSHA1AndRC2_40",
                        "com.sun.crypto.provider.PBEParameters");
                    put("Alg.Alias.AlgorithmParameters.OID."+OID_PKCS12_RC2_40,
                        "PBEWithSHA1AndRC2_40");
                    put("Alg.Alias.AlgorithmParameters." + OID_PKCS12_RC2_40,
                        "PBEWithSHA1AndRC2_40");

                    put("AlgorithmParameters.PBEWithSHA1AndRC2_128",
                        "com.sun.crypto.provider.PBEParameters");
                    put("Alg.Alias.AlgorithmParameters.OID."+OID_PKCS12_RC2_128,
                        "PBEWithSHA1AndRC2_128");
                    put("Alg.Alias.AlgorithmParameters." + OID_PKCS12_RC2_128,
                        "PBEWithSHA1AndRC2_128");

                    put("AlgorithmParameters.PBEWithSHA1AndRC4_40",
                        "com.sun.crypto.provider.PBEParameters");
                    put("Alg.Alias.AlgorithmParameters.OID."+OID_PKCS12_RC4_40,
                        "PBEWithSHA1AndRC4_40");
                    put("Alg.Alias.AlgorithmParameters." + OID_PKCS12_RC4_40,
                        "PBEWithSHA1AndRC4_40");

                    put("AlgorithmParameters.PBEWithSHA1AndRC4_128",
                        "com.sun.crypto.provider.PBEParameters");
                    put("Alg.Alias.AlgorithmParameters.OID."+OID_PKCS12_RC4_128,
                        "PBEWithSHA1AndRC4_128");
                    put("Alg.Alias.AlgorithmParameters." + OID_PKCS12_RC4_128,
                        "PBEWithSHA1AndRC4_128");

                    put("AlgorithmParameters.PBES2",
                        "com.sun.crypto.provider.PBES2Parameters$General");
                    put("Alg.Alias.AlgorithmParameters.OID."+OID_PKCS5_PBES2,
                        "PBES2");
                    put("Alg.Alias.AlgorithmParameters." + OID_PKCS5_PBES2,
                        "PBES2");

                    put("AlgorithmParameters.PBEWithHmacSHA1AndAES_128",
                        "com.sun.crypto.provider.PBES2Parameters$HmacSHA1AndAES_128");

                    put("AlgorithmParameters.PBEWithHmacSHA224AndAES_128",
                        "com.sun.crypto.provider.PBES2Parameters$HmacSHA224AndAES_128");

                    put("AlgorithmParameters.PBEWithHmacSHA256AndAES_128",
                        "com.sun.crypto.provider.PBES2Parameters$HmacSHA256AndAES_128");

                    put("AlgorithmParameters.PBEWithHmacSHA384AndAES_128",
                        "com.sun.crypto.provider.PBES2Parameters$HmacSHA384AndAES_128");

                    put("AlgorithmParameters.PBEWithHmacSHA512AndAES_128",
                        "com.sun.crypto.provider.PBES2Parameters$HmacSHA512AndAES_128");

                    put("AlgorithmParameters.PBEWithHmacSHA1AndAES_256",
                        "com.sun.crypto.provider.PBES2Parameters$HmacSHA1AndAES_256");

                    put("AlgorithmParameters.PBEWithHmacSHA224AndAES_256",
                        "com.sun.crypto.provider.PBES2Parameters$HmacSHA224AndAES_256");

                    put("AlgorithmParameters.PBEWithHmacSHA256AndAES_256",
                        "com.sun.crypto.provider.PBES2Parameters$HmacSHA256AndAES_256");

                    put("AlgorithmParameters.PBEWithHmacSHA384AndAES_256",
                        "com.sun.crypto.provider.PBES2Parameters$HmacSHA384AndAES_256");

                    put("AlgorithmParameters.PBEWithHmacSHA512AndAES_256",
                        "com.sun.crypto.provider.PBES2Parameters$HmacSHA512AndAES_256");

                    put("AlgorithmParameters.Blowfish",
                        "com.sun.crypto.provider.BlowfishParameters");

                    put("AlgorithmParameters.AES",
                        "com.sun.crypto.provider.AESParameters");
                    put("Alg.Alias.AlgorithmParameters.Rijndael", "AES");
                    put("AlgorithmParameters.GCM",
                        "com.sun.crypto.provider.GCMParameters");


                    put("AlgorithmParameters.RC2",
                        "com.sun.crypto.provider.RC2Parameters");

                    put("AlgorithmParameters.OAEP",
                        "com.sun.crypto.provider.OAEPParameters");

KeyFactory

sun.security.provider.SunEntries

        /*
         * Key factories
         */
        map.put("KeyFactory.DSA", "sun.security.provider.DSAKeyFactory");
        map.put("Alg.Alias.KeyFactory.OID.1.2.840.10040.4.1", "DSA");
        map.put("Alg.Alias.KeyFactory.1.2.840.10040.4.1", "DSA");
        map.put("Alg.Alias.KeyFactory.1.3.14.3.2.12", "DSA");

sun.security.rsa.SunRsaSignEntries

        map.put("KeyFactory.RSA",
                "sun.security.rsa.RSAKeyFactory");
        map.put("Alg.Alias.KeyFactory.1.2.840.113549.1.1",     "RSA");
        map.put("Alg.Alias.KeyFactory.OID.1.2.840.113549.1.1", "RSA");

sun.security.ec.SunECEntries

 map.put("KeyFactory.EC", "sun.security.ec.ECKeyFactory");
        map.put("Alg.Alias.KeyFactory.EllipticCurve", "EC");

        map.put("KeyFactory.EC ImplementedIn", "Software");

sun.security.ssl.SunJSSE

 put("KeyFactory.RSA",
                "sun.security.rsa.RSAKeyFactory");
            put("Alg.Alias.KeyFactory.1.2.840.113549.1.1", "RSA");
            put("Alg.Alias.KeyFactory.OID.1.2.840.113549.1.1", "RSA");

com.sun.crypto.provider.SunJCE

                    /*
                     * Key factories
                     */
                    put("KeyFactory.DiffieHellman",
                        "com.sun.crypto.provider.DHKeyFactory");
                    put("Alg.Alias.KeyFactory.DH", "DiffieHellman");
                    put("Alg.Alias.KeyFactory.OID."+OID_PKCS3,
                        "DiffieHellman");
                    put("Alg.Alias.KeyFactory."+OID_PKCS3, "DiffieHellman");

SecretKeyFactory

com.sun.crypto.provider.SunJCE

 /*
                     * Secret-key factories
                     */
                    put("SecretKeyFactory.DES",
                        "com.sun.crypto.provider.DESKeyFactory");

                    put("SecretKeyFactory.DESede",
                        "com.sun.crypto.provider.DESedeKeyFactory");
                    put("Alg.Alias.SecretKeyFactory.TripleDES", "DESede");

                    put("SecretKeyFactory.PBEWithMD5AndDES",
                        "com.sun.crypto.provider.PBEKeyFactory$PBEWithMD5AndDES"
                        );
                    put("Alg.Alias.SecretKeyFactory.OID."+OID_PKCS5_MD5_DES,
                        "PBEWithMD5AndDES");
                    put("Alg.Alias.SecretKeyFactory."+OID_PKCS5_MD5_DES,
                        "PBEWithMD5AndDES");

                    put("Alg.Alias.SecretKeyFactory.PBE",
                        "PBEWithMD5AndDES");

                    /*
                     * Internal in-house crypto algorithm used for
                     * the JCEKS keystore type.  Since this was developed
                     * internally, there isn't an OID corresponding to this
                     * algorithm.
                     */
                    put("SecretKeyFactory.PBEWithMD5AndTripleDES",
                        "com.sun.crypto.provider.PBEKeyFactory$" +
                        "PBEWithMD5AndTripleDES"
                        );

                    put("SecretKeyFactory.PBEWithSHA1AndDESede",
                        "com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndDESede"
                        );
                    put("Alg.Alias.SecretKeyFactory.OID."+OID_PKCS12_DESede,
                        "PBEWithSHA1AndDESede");
                    put("Alg.Alias.SecretKeyFactory." + OID_PKCS12_DESede,
                        "PBEWithSHA1AndDESede");

                    put("SecretKeyFactory.PBEWithSHA1AndRC2_40",
                        "com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndRC2_40"
                        );
                    put("Alg.Alias.SecretKeyFactory.OID." + OID_PKCS12_RC2_40,
                        "PBEWithSHA1AndRC2_40");
                    put("Alg.Alias.SecretKeyFactory." + OID_PKCS12_RC2_40,
                        "PBEWithSHA1AndRC2_40");

                    put("SecretKeyFactory.PBEWithSHA1AndRC2_128",
                        "com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndRC2_128"
                        );
                    put("Alg.Alias.SecretKeyFactory.OID." + OID_PKCS12_RC2_128,
                        "PBEWithSHA1AndRC2_128");
                    put("Alg.Alias.SecretKeyFactory." + OID_PKCS12_RC2_128,
                        "PBEWithSHA1AndRC2_128");

                    put("SecretKeyFactory.PBEWithSHA1AndRC4_40",
                        "com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndRC4_40"
                        );

                    put("Alg.Alias.SecretKeyFactory.OID." + OID_PKCS12_RC4_40,
                        "PBEWithSHA1AndRC4_40");
                    put("Alg.Alias.SecretKeyFactory." + OID_PKCS12_RC4_40,
                        "PBEWithSHA1AndRC4_40");

                    put("SecretKeyFactory.PBEWithSHA1AndRC4_128",
                        "com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndRC4_128"
                        );

                    put("Alg.Alias.SecretKeyFactory.OID." + OID_PKCS12_RC4_128,
                        "PBEWithSHA1AndRC4_128");
                    put("Alg.Alias.SecretKeyFactory." + OID_PKCS12_RC4_128,
                        "PBEWithSHA1AndRC4_128");

                    put("SecretKeyFactory.PBEWithHmacSHA1AndAES_128",
                        "com.sun.crypto.provider.PBEKeyFactory$" +
                        "PBEWithHmacSHA1AndAES_128");

                    put("SecretKeyFactory.PBEWithHmacSHA224AndAES_128",
                        "com.sun.crypto.provider.PBEKeyFactory$" +
                        "PBEWithHmacSHA224AndAES_128");

                    put("SecretKeyFactory.PBEWithHmacSHA256AndAES_128",
                        "com.sun.crypto.provider.PBEKeyFactory$" +
                        "PBEWithHmacSHA256AndAES_128");

                    put("SecretKeyFactory.PBEWithHmacSHA384AndAES_128",
                        "com.sun.crypto.provider.PBEKeyFactory$" +
                        "PBEWithHmacSHA384AndAES_128");

                    put("SecretKeyFactory.PBEWithHmacSHA512AndAES_128",
                        "com.sun.crypto.provider.PBEKeyFactory$" +
                        "PBEWithHmacSHA512AndAES_128");

                    put("SecretKeyFactory.PBEWithHmacSHA1AndAES_256",
                        "com.sun.crypto.provider.PBEKeyFactory$" +
                        "PBEWithHmacSHA1AndAES_256");

                    put("SecretKeyFactory.PBEWithHmacSHA224AndAES_256",
                        "com.sun.crypto.provider.PBEKeyFactory$" +
                        "PBEWithHmacSHA224AndAES_256");

                    put("SecretKeyFactory.PBEWithHmacSHA256AndAES_256",
                        "com.sun.crypto.provider.PBEKeyFactory$" +
                        "PBEWithHmacSHA256AndAES_256");

                    put("SecretKeyFactory.PBEWithHmacSHA384AndAES_256",
                        "com.sun.crypto.provider.PBEKeyFactory$" +
                        "PBEWithHmacSHA384AndAES_256");

                    put("SecretKeyFactory.PBEWithHmacSHA512AndAES_256",
                        "com.sun.crypto.provider.PBEKeyFactory$" +
                        "PBEWithHmacSHA512AndAES_256");

                    // PBKDF2

                    put("SecretKeyFactory.PBKDF2WithHmacSHA1",
                        "com.sun.crypto.provider.PBKDF2Core$HmacSHA1");
                    put("Alg.Alias.SecretKeyFactory.OID." + OID_PKCS5_PBKDF2,
                        "PBKDF2WithHmacSHA1");
                    put("Alg.Alias.SecretKeyFactory." + OID_PKCS5_PBKDF2,
                        "PBKDF2WithHmacSHA1");

                    put("SecretKeyFactory.PBKDF2WithHmacSHA224",
                        "com.sun.crypto.provider.PBKDF2Core$HmacSHA224");
                    put("SecretKeyFactory.PBKDF2WithHmacSHA256",
                        "com.sun.crypto.provider.PBKDF2Core$HmacSHA256");
                    put("SecretKeyFactory.PBKDF2WithHmacSHA384",
                        "com.sun.crypto.provider.PBKDF2Core$HmacSHA384");
                    put("SecretKeyFactory.PBKDF2WithHmacSHA512",
                        "com.sun.crypto.provider.PBKDF2Core$HmacSHA512");

CertificateFactory

sun.security.provider.SunEntries

        /*
         * Certificates
         */
        map.put("CertificateFactory.X.509",
            "sun.security.provider.X509Factory");
        map.put("Alg.Alias.CertificateFactory.X509", "X.509");

KeyStore

sun.security.provider.SunEntries

        /*
         * KeyStore
         */
        map.put("KeyStore.JKS", "sun.security.provider.JavaKeyStore$JKS");
        map.put("KeyStore.CaseExactJKS",
                        "sun.security.provider.JavaKeyStore$CaseExactJKS");
        map.put("KeyStore.DKS", "sun.security.provider.DomainKeyStore$DKS");

sun.security.ssl.SunJSSE

        /*
         * KeyStore
         */
        put("KeyStore.PKCS12",
            "sun.security.pkcs12.PKCS12KeyStore");

com.sun.crypto.provider.SunJCE

                    /*
                     * KeyStore
                     */
                    put("KeyStore.JCEKS", "com.sun.crypto.provider.JceKeyStore");

CertPathBuilder

sun.security.provider.SunEntries

        /*
         * CertPathBuilder
         */
        map.put("CertPathBuilder.PKIX",
            "sun.security.provider.certpath.SunCertPathBuilder");
        map.put("CertPathBuilder.PKIX ValidationAlgorithm",
            "RFC3280");

CertPathValidator

sun.security.provider.SunEntries

        /*
         * CertPathValidator
         */
        map.put("CertPathValidator.PKIX",
            "sun.security.provider.certpath.PKIXCertPathValidator");
        map.put("CertPathValidator.PKIX ValidationAlgorithm",
            "RFC3280");

CertStore

sun.security.provider.SunEntries

        /*
         * CertStores
         */
        map.put("CertStore.LDAP",
            "sun.security.provider.certpath.ldap.LDAPCertStore");
        map.put("CertStore.LDAP LDAPSchema", "RFC2587");
        map.put("CertStore.Collection",
            "sun.security.provider.certpath.CollectionCertStore");
        map.put("CertStore.com.sun.security.IndexedCollection",
            "sun.security.provider.certpath.IndexedCollectionCertStore");

KeyManagerFactory

sun.security.ssl.SunJSSE

  put("KeyManagerFactory.SunX509",
            "sun.security.ssl.KeyManagerFactoryImpl$SunX509");
        put("KeyManagerFactory.NewSunX509",
            "sun.security.ssl.KeyManagerFactoryImpl$X509");
        put("Alg.Alias.KeyManagerFactory.PKIX", "NewSunX509");

TrustManagerFactory

sun.security.ssl.SunJSSE

 put("TrustManagerFactory.SunX509",
            "sun.security.ssl.TrustManagerFactoryImpl$SimpleFactory");
        put("TrustManagerFactory.PKIX",
            "sun.security.ssl.TrustManagerFactoryImpl$PKIXFactory");
        put("Alg.Alias.TrustManagerFactory.SunPKIX", "PKIX");
        put("Alg.Alias.TrustManagerFactory.X509", "PKIX");
        put("Alg.Alias.TrustManagerFactory.X.509", "PKIX");

SSLContext

sun.security.ssl.SunJSSE

  put("SSLContext.TLSv1",
            "sun.security.ssl.SSLContextImpl$TLS10Context");
        put("Alg.Alias.SSLContext.TLS", "TLSv1");
        if (isfips == false) {
            put("Alg.Alias.SSLContext.SSL", "TLSv1");
            put("Alg.Alias.SSLContext.SSLv3", "TLSv1");
        }

        put("SSLContext.TLSv1.1",
            "sun.security.ssl.SSLContextImpl$TLS11Context");
        put("SSLContext.TLSv1.2",
            "sun.security.ssl.SSLContextImpl$TLS12Context");
        put("SSLContext.Default",
            "sun.security.ssl.SSLContextImpl$DefaultSSLContext");

Cipher

com.sun.crypto.provider.SunJCE

  final String BLOCK_MODES = "ECB|CBC|PCBC|CTR|CTS|CFB|OFB" +
            "|CFB8|CFB16|CFB24|CFB32|CFB40|CFB48|CFB56|CFB64" +
            "|OFB8|OFB16|OFB24|OFB32|OFB40|OFB48|OFB56|OFB64";
        final String BLOCK_MODES128 = BLOCK_MODES +
            "|GCM|CFB72|CFB80|CFB88|CFB96|CFB104|CFB112|CFB120|CFB128" +
            "|OFB72|OFB80|OFB88|OFB96|OFB104|OFB112|OFB120|OFB128";
        final String BLOCK_PADS = "NOPADDING|PKCS5PADDING|ISO10126PADDING";
 put("Cipher.RSA", "com.sun.crypto.provider.RSACipher");
                    put("Cipher.RSA SupportedModes", "ECB");
                    put("Cipher.RSA SupportedPaddings",
                            "NOPADDING|PKCS1PADDING|OAEPPADDING"
                            + "|OAEPWITHMD5ANDMGF1PADDING"
                            + "|OAEPWITHSHA1ANDMGF1PADDING"
                            + "|OAEPWITHSHA-1ANDMGF1PADDING"
                            + "|OAEPWITHSHA-224ANDMGF1PADDING"
                            + "|OAEPWITHSHA-256ANDMGF1PADDING"
                            + "|OAEPWITHSHA-384ANDMGF1PADDING"
                            + "|OAEPWITHSHA-512ANDMGF1PADDING");
                    put("Cipher.RSA SupportedKeyClasses",
                            "java.security.interfaces.RSAPublicKey" +
                            "|java.security.interfaces.RSAPrivateKey");

                    put("Cipher.DES", "com.sun.crypto.provider.DESCipher");
                    put("Cipher.DES SupportedModes", BLOCK_MODES);
                    put("Cipher.DES SupportedPaddings", BLOCK_PADS);
                    put("Cipher.DES SupportedKeyFormats", "RAW");

                    put("Cipher.DESede", "com.sun.crypto.provider.DESedeCipher");
                    put("Alg.Alias.Cipher.TripleDES", "DESede");
                    put("Cipher.DESede SupportedModes", BLOCK_MODES);
                    put("Cipher.DESede SupportedPaddings", BLOCK_PADS);
                    put("Cipher.DESede SupportedKeyFormats", "RAW");

                    put("Cipher.DESedeWrap",
                        "com.sun.crypto.provider.DESedeWrapCipher");
                    put("Cipher.DESedeWrap SupportedModes", "CBC");
                    put("Cipher.DESedeWrap SupportedPaddings", "NOPADDING");
                    put("Cipher.DESedeWrap SupportedKeyFormats", "RAW");

                    // PBES1

                    put("Cipher.PBEWithMD5AndDES",
                        "com.sun.crypto.provider.PBEWithMD5AndDESCipher");
                    put("Alg.Alias.Cipher.OID."+OID_PKCS5_MD5_DES,
                        "PBEWithMD5AndDES");
                    put("Alg.Alias.Cipher."+OID_PKCS5_MD5_DES,
                        "PBEWithMD5AndDES");

                    put("Cipher.PBEWithMD5AndTripleDES",
                        "com.sun.crypto.provider.PBEWithMD5AndTripleDESCipher");

                    put("Cipher.PBEWithSHA1AndDESede",
                        "com.sun.crypto.provider.PKCS12PBECipherCore$" +
                        "PBEWithSHA1AndDESede");
                    put("Alg.Alias.Cipher.OID." + OID_PKCS12_DESede,
                        "PBEWithSHA1AndDESede");
                    put("Alg.Alias.Cipher." + OID_PKCS12_DESede,
                        "PBEWithSHA1AndDESede");

                    put("Cipher.PBEWithSHA1AndRC2_40",
                        "com.sun.crypto.provider.PKCS12PBECipherCore$" +
                        "PBEWithSHA1AndRC2_40");
                    put("Alg.Alias.Cipher.OID." + OID_PKCS12_RC2_40,
                        "PBEWithSHA1AndRC2_40");
                    put("Alg.Alias.Cipher." + OID_PKCS12_RC2_40,
                        "PBEWithSHA1AndRC2_40");

                    put("Cipher.PBEWithSHA1AndRC2_128",
                        "com.sun.crypto.provider.PKCS12PBECipherCore$" +
                        "PBEWithSHA1AndRC2_128");
                    put("Alg.Alias.Cipher.OID." + OID_PKCS12_RC2_128,
                        "PBEWithSHA1AndRC2_128");
                    put("Alg.Alias.Cipher." + OID_PKCS12_RC2_128,
                        "PBEWithSHA1AndRC2_128");

                    put("Cipher.PBEWithSHA1AndRC4_40",
                        "com.sun.crypto.provider.PKCS12PBECipherCore$" +
                        "PBEWithSHA1AndRC4_40");
                    put("Alg.Alias.Cipher.OID." + OID_PKCS12_RC4_40,
                        "PBEWithSHA1AndRC4_40");
                    put("Alg.Alias.Cipher." + OID_PKCS12_RC4_40,
                        "PBEWithSHA1AndRC4_40");

                    put("Cipher.PBEWithSHA1AndRC4_128",
                        "com.sun.crypto.provider.PKCS12PBECipherCore$" +
                        "PBEWithSHA1AndRC4_128");
                    put("Alg.Alias.Cipher.OID." + OID_PKCS12_RC4_128,
                        "PBEWithSHA1AndRC4_128");
                    put("Alg.Alias.Cipher." + OID_PKCS12_RC4_128,
                        "PBEWithSHA1AndRC4_128");

                    //PBES2

                    put("Cipher.PBEWithHmacSHA1AndAES_128",
                        "com.sun.crypto.provider.PBES2Core$HmacSHA1AndAES_128");

                    put("Cipher.PBEWithHmacSHA224AndAES_128",
                        "com.sun.crypto.provider.PBES2Core$" +
                            "HmacSHA224AndAES_128");

                    put("Cipher.PBEWithHmacSHA256AndAES_128",
                        "com.sun.crypto.provider.PBES2Core$" +
                            "HmacSHA256AndAES_128");

                    put("Cipher.PBEWithHmacSHA384AndAES_128",
                        "com.sun.crypto.provider.PBES2Core$" +
                            "HmacSHA384AndAES_128");

                    put("Cipher.PBEWithHmacSHA512AndAES_128",
                        "com.sun.crypto.provider.PBES2Core$" +
                            "HmacSHA512AndAES_128");

                    put("Cipher.PBEWithHmacSHA1AndAES_256",
                        "com.sun.crypto.provider.PBES2Core$HmacSHA1AndAES_256");

                    put("Cipher.PBEWithHmacSHA224AndAES_256",
                        "com.sun.crypto.provider.PBES2Core$" +
                            "HmacSHA224AndAES_256");

                    put("Cipher.PBEWithHmacSHA256AndAES_256",
                        "com.sun.crypto.provider.PBES2Core$" +
                            "HmacSHA256AndAES_256");

                    put("Cipher.PBEWithHmacSHA384AndAES_256",
                        "com.sun.crypto.provider.PBES2Core$" +
                            "HmacSHA384AndAES_256");

                    put("Cipher.PBEWithHmacSHA512AndAES_256",
                        "com.sun.crypto.provider.PBES2Core$" +
                            "HmacSHA512AndAES_256");

                    put("Cipher.Blowfish",
                        "com.sun.crypto.provider.BlowfishCipher");
                    put("Cipher.Blowfish SupportedModes", BLOCK_MODES);
                    put("Cipher.Blowfish SupportedPaddings", BLOCK_PADS);
                    put("Cipher.Blowfish SupportedKeyFormats", "RAW");

                    put("Cipher.AES", "com.sun.crypto.provider.AESCipher$General");
                    put("Alg.Alias.Cipher.Rijndael", "AES");
                    put("Cipher.AES SupportedModes", BLOCK_MODES128);
                    put("Cipher.AES SupportedPaddings", BLOCK_PADS);
                    put("Cipher.AES SupportedKeyFormats", "RAW");

                    put("Cipher.AES_128/ECB/NoPadding", "com.sun.crypto.provider.AESCipher$AES128_ECB_NoPadding");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.1", "AES_128/ECB/NoPadding");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.1", "AES_128/ECB/NoPadding");
                    put("Cipher.AES_128/CBC/NoPadding", "com.sun.crypto.provider.AESCipher$AES128_CBC_NoPadding");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.2", "AES_128/CBC/NoPadding");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.2", "AES_128/CBC/NoPadding");
                    put("Cipher.AES_128/OFB/NoPadding", "com.sun.crypto.provider.AESCipher$AES128_OFB_NoPadding");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.3", "AES_128/OFB/NoPadding");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.3", "AES_128/OFB/NoPadding");
                    put("Cipher.AES_128/CFB/NoPadding", "com.sun.crypto.provider.AESCipher$AES128_CFB_NoPadding");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.4", "AES_128/CFB/NoPadding");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.4", "AES_128/CFB/NoPadding");
                    put("Cipher.AES_128/GCM/NoPadding", "com.sun.crypto.provider.AESCipher$AES128_GCM_NoPadding");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.6", "AES_128/GCM/NoPadding");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.6", "AES_128/GCM/NoPadding");

                    put("Cipher.AES_192/ECB/NoPadding", "com.sun.crypto.provider.AESCipher$AES192_ECB_NoPadding");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.21", "AES_192/ECB/NoPadding");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.21", "AES_192/ECB/NoPadding");
                    put("Cipher.AES_192/CBC/NoPadding", "com.sun.crypto.provider.AESCipher$AES192_CBC_NoPadding");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.22", "AES_192/CBC/NoPadding");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.22", "AES_192/CBC/NoPadding");
                    put("Cipher.AES_192/OFB/NoPadding", "com.sun.crypto.provider.AESCipher$AES192_OFB_NoPadding");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.23", "AES_192/OFB/NoPadding");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.23", "AES_192/OFB/NoPadding");
                    put("Cipher.AES_192/CFB/NoPadding", "com.sun.crypto.provider.AESCipher$AES192_CFB_NoPadding");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.24", "AES_192/CFB/NoPadding");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.24", "AES_192/CFB/NoPadding");
                    put("Cipher.AES_192/GCM/NoPadding", "com.sun.crypto.provider.AESCipher$AES192_GCM_NoPadding");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.26", "AES_192/GCM/NoPadding");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.26", "AES_192/GCM/NoPadding");

                    put("Cipher.AES_256/ECB/NoPadding", "com.sun.crypto.provider.AESCipher$AES256_ECB_NoPadding");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.41", "AES_256/ECB/NoPadding");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.41", "AES_256/ECB/NoPadding");
                    put("Cipher.AES_256/CBC/NoPadding", "com.sun.crypto.provider.AESCipher$AES256_CBC_NoPadding");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.42", "AES_256/CBC/NoPadding");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.42", "AES_256/CBC/NoPadding");
                    put("Cipher.AES_256/OFB/NoPadding", "com.sun.crypto.provider.AESCipher$AES256_OFB_NoPadding");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.43", "AES_256/OFB/NoPadding");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.43", "AES_256/OFB/NoPadding");
                    put("Cipher.AES_256/CFB/NoPadding", "com.sun.crypto.provider.AESCipher$AES256_CFB_NoPadding");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.44", "AES_256/CFB/NoPadding");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.44", "AES_256/CFB/NoPadding");
                    put("Cipher.AES_256/GCM/NoPadding", "com.sun.crypto.provider.AESCipher$AES256_GCM_NoPadding");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.46", "AES_256/GCM/NoPadding");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.46", "AES_256/GCM/NoPadding");

                    put("Cipher.AESWrap", "com.sun.crypto.provider.AESWrapCipher$General");
                    put("Cipher.AESWrap SupportedModes", "ECB");
                    put("Cipher.AESWrap SupportedPaddings", "NOPADDING");
                    put("Cipher.AESWrap SupportedKeyFormats", "RAW");

                    put("Cipher.AESWrap_128", "com.sun.crypto.provider.AESWrapCipher$AES128");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.5", "AESWrap_128");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.5", "AESWrap_128");
                    put("Cipher.AESWrap_192", "com.sun.crypto.provider.AESWrapCipher$AES192");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.25", "AESWrap_192");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.25", "AESWrap_192");
                    put("Cipher.AESWrap_256", "com.sun.crypto.provider.AESWrapCipher$AES256");
                    put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.45", "AESWrap_256");
                    put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.45", "AESWrap_256");

                    put("Cipher.RC2",
                        "com.sun.crypto.provider.RC2Cipher");
                    put("Cipher.RC2 SupportedModes", BLOCK_MODES);
                    put("Cipher.RC2 SupportedPaddings", BLOCK_PADS);
                    put("Cipher.RC2 SupportedKeyFormats", "RAW");

                    put("Cipher.ARCFOUR",
                        "com.sun.crypto.provider.ARCFOURCipher");
                    put("Alg.Alias.Cipher.RC4", "ARCFOUR");
                    put("Cipher.ARCFOUR SupportedModes", "ECB");
                    put("Cipher.ARCFOUR SupportedPaddings", "NOPADDING");
                    put("Cipher.ARCFOUR SupportedKeyFormats", "RAW");

KeyGenerator

com.sun.crypto.provider.SunJCE

 /*
                     * Key(pair) Generator engines
                     */
                    put("KeyGenerator.DES",
                        "com.sun.crypto.provider.DESKeyGenerator");

                    put("KeyGenerator.DESede",
                        "com.sun.crypto.provider.DESedeKeyGenerator");
                    put("Alg.Alias.KeyGenerator.TripleDES", "DESede");

                    put("KeyGenerator.Blowfish",
                        "com.sun.crypto.provider.BlowfishKeyGenerator");

                    put("KeyGenerator.AES",
                        "com.sun.crypto.provider.AESKeyGenerator");
                    put("Alg.Alias.KeyGenerator.Rijndael", "AES");

                    put("KeyGenerator.RC2",
                        "com.sun.crypto.provider.KeyGeneratorCore$" +
                        "RC2KeyGenerator");
                    put("KeyGenerator.ARCFOUR",
                        "com.sun.crypto.provider.KeyGeneratorCore$" +
                        "ARCFOURKeyGenerator");
                    put("Alg.Alias.KeyGenerator.RC4", "ARCFOUR");

                    put("KeyGenerator.HmacMD5",
                        "com.sun.crypto.provider.HmacMD5KeyGenerator");

                    put("KeyGenerator.HmacSHA1",
                        "com.sun.crypto.provider.HmacSHA1KeyGenerator");
                    put("Alg.Alias.KeyGenerator.OID.1.2.840.113549.2.7", "HmacSHA1");
                    put("Alg.Alias.KeyGenerator.1.2.840.113549.2.7", "HmacSHA1");

                    put("KeyGenerator.HmacSHA224",
                        "com.sun.crypto.provider.KeyGeneratorCore$HmacSHA2KG$SHA224");
                    put("Alg.Alias.KeyGenerator.OID.1.2.840.113549.2.8", "HmacSHA224");
                    put("Alg.Alias.KeyGenerator.1.2.840.113549.2.8", "HmacSHA224");

                    put("KeyGenerator.HmacSHA256",
                        "com.sun.crypto.provider.KeyGeneratorCore$HmacSHA2KG$SHA256");
                    put("Alg.Alias.KeyGenerator.OID.1.2.840.113549.2.9", "HmacSHA256");
                    put("Alg.Alias.KeyGenerator.1.2.840.113549.2.9", "HmacSHA256");

                    put("KeyGenerator.HmacSHA384",
                        "com.sun.crypto.provider.KeyGeneratorCore$HmacSHA2KG$SHA384");
                    put("Alg.Alias.KeyGenerator.OID.1.2.840.113549.2.10", "HmacSHA384");
                    put("Alg.Alias.KeyGenerator.1.2.840.113549.2.10", "HmacSHA384");

                    put("KeyGenerator.HmacSHA512",
                        "com.sun.crypto.provider.KeyGeneratorCore$HmacSHA2KG$SHA512");
                    put("Alg.Alias.KeyGenerator.OID.1.2.840.113549.2.11", "HmacSHA512");
                    put("Alg.Alias.KeyGenerator.1.2.840.113549.2.11", "HmacSHA512");

com.sun.crypto.provider.SunJCE

  /*
                     * SSL/TLS mechanisms
                     *
                     * These are strictly internal implementations and may
                     * be changed at any time.  These names were chosen
                     * because PKCS11/SunPKCS11 does not yet have TLS1.2
                     * mechanisms, and it will cause calls to come here.
                     */
                    put("KeyGenerator.SunTlsPrf",
                            "com.sun.crypto.provider.TlsPrfGenerator$V10");
                    put("KeyGenerator.SunTls12Prf",
                            "com.sun.crypto.provider.TlsPrfGenerator$V12");

                    put("KeyGenerator.SunTlsMasterSecret",
                        "com.sun.crypto.provider.TlsMasterSecretGenerator");
                    put("Alg.Alias.KeyGenerator.SunTls12MasterSecret",
                        "SunTlsMasterSecret");

                    put("KeyGenerator.SunTlsKeyMaterial",
                        "com.sun.crypto.provider.TlsKeyMaterialGenerator");
                    put("Alg.Alias.KeyGenerator.SunTls12KeyMaterial",
                        "SunTlsKeyMaterial");

                    put("KeyGenerator.SunTlsRsaPremasterSecret",
                        "com.sun.crypto.provider.TlsRsaPremasterSecretGenerator");
                    put("Alg.Alias.KeyGenerator.SunTls12RsaPremasterSecret",
                        "SunTlsRsaPremasterSecret");

KeyAgreement

com.sun.crypto.provider.SunJCE

  /*
                     * Key Agreement engines
                     */
                    put("KeyAgreement.DiffieHellman",
                        "com.sun.crypto.provider.DHKeyAgreement");
                    put("Alg.Alias.KeyAgreement.DH", "DiffieHellman");
                    put("Alg.Alias.KeyAgreement.OID."+OID_PKCS3, "DiffieHellman");
                    put("Alg.Alias.KeyAgreement."+OID_PKCS3, "DiffieHellman");

                    put("KeyAgreement.DiffieHellman SupportedKeyClasses",
                        "javax.crypto.interfaces.DHPublicKey" +
                        "|javax.crypto.interfaces.DHPrivateKey");
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章