src/java.base/share/classes/com/sun/crypto/provider/SunJCE.java
author darcy
Thu, 29 Aug 2019 10:52:21 -0700
changeset 57950 4612a3cfb927
parent 52996 2457d862a646
permissions -rw-r--r--
8229999: Apply java.io.Serial annotations to security types in java.base Reviewed-by: rriggs, mullan
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
/*
57950
4612a3cfb927 8229999: Apply java.io.Serial annotations to security types in java.base
darcy
parents: 52996
diff changeset
     2
 * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 3353
diff changeset
     7
 * published by the Free Software Foundation.  Oracle designates this
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
 * particular file as subject to the "Classpath" exception as provided
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 3353
diff changeset
     9
 * by Oracle in the LICENSE file that accompanied this code.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
 * This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
 * version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
 * accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
 * You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
 * 2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
 *
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 3353
diff changeset
    21
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 3353
diff changeset
    22
 * or visit www.oracle.com if you need additional information or have any
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 3353
diff changeset
    23
 * questions.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
package com.sun.crypto.provider;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
import java.security.AccessController;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
import java.security.Provider;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
import java.security.SecureRandom;
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
    31
import java.security.PrivilegedAction;
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
    32
import java.util.HashMap;
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
    33
import java.util.List;
40416
5d91b2fd668c 8130181: Deprecate java.security.Provider(String, double, String), add Provider(Strin
valeriep
parents: 37796
diff changeset
    34
import static sun.security.util.SecurityConstants.PROVIDER_VER;
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
    35
import static sun.security.provider.SunEntries.createAliases;
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
    36
import static sun.security.provider.SunEntries.createAliasesWithOid;
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
/**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
 * The "SunJCE" Cryptographic Service Provider.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
 * @author Jan Luehe
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
 * @author Sharon Liu
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
/**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
 * Defines the "SunJCE" provider.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
 * Supported algorithms and their names:
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
 * - RSA encryption (PKCS#1 v1.5 and raw)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
 * - DES
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
 * - DES-EDE
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
 * - AES
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
 * - Blowfish
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
 * - RC2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
 * - ARCFOUR (RC4 compatible)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
 *
50323
25d711fca885 8153029: ChaCha20 Cipher Implementation
jnimeh
parents: 50204
diff changeset
    64
 * - ChaCha20 (Stream cipher only and in AEAD mode with Poly1305)
25d711fca885 8153029: ChaCha20 Cipher Implementation
jnimeh
parents: 50204
diff changeset
    65
 *
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
 * - Cipher modes ECB, CBC, CFB, OFB, PCBC, CTR, and CTS for all block ciphers
15008
6a494f8ba5b5 6996769: support AEAD cipher
valeriep
parents: 14405
diff changeset
    67
 *   and mode GCM for AES cipher
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
 * - Cipher padding ISO10126Padding for non-PKCS#5 block ciphers and
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
 *   NoPadding and PKCS5Padding for all block ciphers
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
 * - Password-based Encryption (PBE)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
 * - Diffie-Hellman Key Agreement
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
 *
12685
8a448b5b9006 4963723: Implement SHA-224
valeriep
parents: 10336
diff changeset
    76
 * - HMAC-MD5, HMAC-SHA1, HMAC-SHA-224, HMAC-SHA-256, HMAC-SHA-384, HMAC-SHA-512
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
90ce3da70b43 Initial load
duke
parents:
diff changeset
    80
public final class SunJCE extends Provider {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
57950
4612a3cfb927 8229999: Apply java.io.Serial annotations to security types in java.base
darcy
parents: 52996
diff changeset
    82
    @java.io.Serial
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
    private static final long serialVersionUID = 6812507587804302833L;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
    private static final String info = "SunJCE Provider " +
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
    "(implements RSA, DES, Triple DES, AES, Blowfish, ARCFOUR, RC2, PBE, "
50323
25d711fca885 8153029: ChaCha20 Cipher Implementation
jnimeh
parents: 50204
diff changeset
    87
    + "Diffie-Hellman, HMAC, ChaCha20)";
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
    /* Are we debugging? -- for developers */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
    static final boolean debug = false;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    91
16909
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
    92
    // Instance of this provider, so we don't have to call the provider list
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
    93
    // to find ourselves or run the risk of not being in the list.
34774
03b4e6dc367b 8145680: Remove unnecessary explicit initialization of volatile variables in java.base
redestad
parents: 33991
diff changeset
    94
    private static volatile SunJCE instance;
16909
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
    95
15010
ec6b49ce42b1 8004044: Lazily instantiate SunJCE.RANDOM
valeriep
parents: 15008
diff changeset
    96
    // lazy initialize SecureRandom to avoid potential recursion if Sun
ec6b49ce42b1 8004044: Lazily instantiate SunJCE.RANDOM
valeriep
parents: 15008
diff changeset
    97
    // provider has not been installed yet
ec6b49ce42b1 8004044: Lazily instantiate SunJCE.RANDOM
valeriep
parents: 15008
diff changeset
    98
    private static class SecureRandomHolder {
ec6b49ce42b1 8004044: Lazily instantiate SunJCE.RANDOM
valeriep
parents: 15008
diff changeset
    99
        static final SecureRandom RANDOM = new SecureRandom();
ec6b49ce42b1 8004044: Lazily instantiate SunJCE.RANDOM
valeriep
parents: 15008
diff changeset
   100
    }
ec6b49ce42b1 8004044: Lazily instantiate SunJCE.RANDOM
valeriep
parents: 15008
diff changeset
   101
    static SecureRandom getRandom() { return SecureRandomHolder.RANDOM; }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   102
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   103
    private void ps(String type, String algo, String cn,
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   104
            List<String> aliases, HashMap<String, String> attrs) {
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   105
        putService(new Provider.Service(this, type, algo, cn, aliases, attrs));
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   106
    }
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   107
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
    public SunJCE() {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
        /* We are the "SunJCE" provider */
40416
5d91b2fd668c 8130181: Deprecate java.security.Provider(String, double, String), add Provider(Strin
valeriep
parents: 37796
diff changeset
   110
        super("SunJCE", PROVIDER_VER, info);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   112
        // if there is no security manager installed, put directly into
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   113
        // the provider
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   114
        if (System.getSecurityManager() == null) {
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   115
            putEntries();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   116
        } else {
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   117
            AccessController.doPrivileged(new PrivilegedAction<Void>() {
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   118
                @Override
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   119
                public Void run() {
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   120
                    putEntries();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   121
                    return null;
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   122
                }
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   123
            });
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   124
        }
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   125
        if (instance == null) {
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   126
            instance = this;
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   127
        }
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   128
    }
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   129
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   130
    void putEntries() {
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   131
        // common aliases and oids
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   132
        List<String> aesAliases = createAliases("Rijndael");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   133
        List<String> desEdeAliases = createAliases("TripleDES");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   134
        List<String> arcFourAliases = createAliases("RC4");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   135
        List<String> sunTlsMSAliases = createAliases(
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   136
            "SunTls12MasterSecret", "SunTlsExtendedMasterSecret"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   137
        );
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   138
        List<String> sunTlsKMAliases = createAliases("SunTls12KeyMaterial");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   139
        List<String> sunTlsRsaPMSAliases = createAliases("SunTls12RsaPremasterSecret");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   140
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   141
        String aes128Oid = "2.16.840.1.101.3.4.1.";
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   142
        String aes192Oid = "2.16.840.1.101.3.4.1.2";
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   143
        String aes256Oid = "2.16.840.1.101.3.4.1.4";
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   144
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   145
        List<String> pkcs12RC4_128Aliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   146
            createAliasesWithOid("1.2.840.113549.1.12.1.1");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   147
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   148
        List<String> pkcs12RC4_40Aliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   149
            createAliasesWithOid("1.2.840.113549.1.12.1.2");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   150
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   151
        List<String> pkcs12DESedeAliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   152
            createAliasesWithOid("1.2.840.113549.1.12.1.3");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   153
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   154
        List<String> pkcs12RC2_128Aliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   155
            createAliasesWithOid("1.2.840.113549.1.12.1.5");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   156
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   157
        List<String> pkcs12RC2_40Aliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   158
            createAliasesWithOid("1.2.840.113549.1.12.1.6");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   159
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   160
        List<String> pkcs5MD5_DESAliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   161
            createAliasesWithOid("1.2.840.113549.1.5.3", "PBE");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   162
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   163
        List<String> pkcs5PBKDF2Aliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   164
            createAliasesWithOid("1.2.840.113549.1.5.12");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   165
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   166
        List<String> pkcs5PBES2Aliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   167
            createAliasesWithOid("1.2.840.113549.1.5.13");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   168
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   169
        List<String> diffieHellmanAliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   170
            createAliasesWithOid("1.2.840.113549.1.3.1", "DH");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   171
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   172
        List<String> chachaPolyAliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   173
            createAliasesWithOid("1.2.840.113549.1.9.16.3.18");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   174
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   175
        String macOidBase = "1.2.840.113549.2.";
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   176
        List<String> macSHA1Aliases = createAliasesWithOid(macOidBase + "7");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   177
        List<String> macSHA224Aliases = createAliasesWithOid(macOidBase + "8");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   178
        List<String> macSHA256Aliases = createAliasesWithOid(macOidBase + "9");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   179
        List<String> macSHA384Aliases = createAliasesWithOid(macOidBase + "10");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   180
        List<String> macSHA512Aliases = createAliasesWithOid(macOidBase + "11");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   181
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   182
        // reuse attribute map and reset before each reuse
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   183
        HashMap<String, String> attrs = new HashMap<>(3);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   184
        attrs.put("SupportedModes", "ECB");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   185
        attrs.put("SupportedPaddings", "NOPADDING|PKCS1PADDING|OAEPPADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   186
                + "|OAEPWITHMD5ANDMGF1PADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   187
                + "|OAEPWITHSHA1ANDMGF1PADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   188
                + "|OAEPWITHSHA-1ANDMGF1PADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   189
                + "|OAEPWITHSHA-224ANDMGF1PADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   190
                + "|OAEPWITHSHA-256ANDMGF1PADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   191
                + "|OAEPWITHSHA-384ANDMGF1PADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   192
                + "|OAEPWITHSHA-512ANDMGF1PADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   193
                + "|OAEPWITHSHA-512/224ANDMGF1PADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   194
                + "|OAEPWITHSHA-512/256ANDMGF1PADDING");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   195
        attrs.put("SupportedKeyClasses",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   196
                "java.security.interfaces.RSAPublicKey" +
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   197
                "|java.security.interfaces.RSAPrivateKey");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   198
        ps("Cipher", "RSA",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   199
                "com.sun.crypto.provider.RSACipher", null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   200
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   201
        // common block cipher modes, pads
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   202
        final String BLOCK_MODES = "ECB|CBC|PCBC|CTR|CTS|CFB|OFB" +
90ce3da70b43 Initial load
duke
parents:
diff changeset
   203
            "|CFB8|CFB16|CFB24|CFB32|CFB40|CFB48|CFB56|CFB64" +
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
            "|OFB8|OFB16|OFB24|OFB32|OFB40|OFB48|OFB56|OFB64";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   205
        final String BLOCK_MODES128 = BLOCK_MODES +
15008
6a494f8ba5b5 6996769: support AEAD cipher
valeriep
parents: 14405
diff changeset
   206
            "|GCM|CFB72|CFB80|CFB88|CFB96|CFB104|CFB112|CFB120|CFB128" +
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   207
            "|OFB72|OFB80|OFB88|OFB96|OFB104|OFB112|OFB120|OFB128";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   208
        final String BLOCK_PADS = "NOPADDING|PKCS5PADDING|ISO10126PADDING";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   209
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   210
        attrs.clear();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   211
        attrs.put("SupportedModes", BLOCK_MODES);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   212
        attrs.put("SupportedPaddings", BLOCK_PADS);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   213
        attrs.put("SupportedKeyFormats", "RAW");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   214
        ps("Cipher", "DES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   215
                "com.sun.crypto.provider.DESCipher", null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   216
        ps("Cipher", "DESede", "com.sun.crypto.provider.DESedeCipher",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   217
                desEdeAliases, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   218
        ps("Cipher", "Blowfish",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   219
                "com.sun.crypto.provider.BlowfishCipher", null, attrs);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   220
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   221
        ps("Cipher", "RC2",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   222
                "com.sun.crypto.provider.RC2Cipher", null, attrs);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   223
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   224
        attrs.clear();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   225
        attrs.put("SupportedModes", BLOCK_MODES128);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   226
        attrs.put("SupportedPaddings", BLOCK_PADS);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   227
        attrs.put("SupportedKeyFormats", "RAW");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   228
        ps("Cipher", "AES", "com.sun.crypto.provider.AESCipher$General",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   229
                aesAliases, attrs);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   230
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   231
        attrs.clear();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   232
        attrs.put("SupportedKeyFormats", "RAW");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   233
        ps("Cipher", "AES_128/ECB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   234
                "com.sun.crypto.provider.AESCipher$AES128_ECB_NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   235
                createAliasesWithOid(aes128Oid+"1"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   236
        ps("Cipher", "AES_128/CBC/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   237
                "com.sun.crypto.provider.AESCipher$AES128_CBC_NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   238
                createAliasesWithOid(aes128Oid+"2"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   239
        ps("Cipher", "AES_128/OFB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   240
                "com.sun.crypto.provider.AESCipher$AES128_OFB_NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   241
                createAliasesWithOid(aes128Oid+"3"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   242
        ps("Cipher", "AES_128/CFB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   243
                "com.sun.crypto.provider.AESCipher$AES128_CFB_NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   244
                createAliasesWithOid(aes128Oid+"4"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   245
        ps("Cipher", "AES_128/GCM/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   246
                "com.sun.crypto.provider.AESCipher$AES128_GCM_NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   247
                createAliasesWithOid(aes128Oid+"6"), attrs);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   248
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   249
        ps("Cipher", "AES_192/ECB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   250
                "com.sun.crypto.provider.AESCipher$AES192_ECB_NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   251
                createAliasesWithOid(aes192Oid+"1"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   252
        ps("Cipher", "AES_192/CBC/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   253
                "com.sun.crypto.provider.AESCipher$AES192_CBC_NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   254
                createAliasesWithOid(aes192Oid+"2"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   255
        ps("Cipher", "AES_192/OFB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   256
                "com.sun.crypto.provider.AESCipher$AES192_OFB_NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   257
                createAliasesWithOid(aes192Oid+"3"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   258
        ps("Cipher", "AES_192/CFB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   259
                "com.sun.crypto.provider.AESCipher$AES192_CFB_NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   260
                createAliasesWithOid(aes192Oid+"4"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   261
        ps("Cipher", "AES_192/GCM/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   262
                "com.sun.crypto.provider.AESCipher$AES192_GCM_NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   263
                createAliasesWithOid(aes192Oid+"6"), attrs);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   264
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   265
        ps("Cipher", "AES_256/ECB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   266
                "com.sun.crypto.provider.AESCipher$AES256_ECB_NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   267
                createAliasesWithOid(aes256Oid+"1"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   268
        ps("Cipher", "AES_256/CBC/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   269
                "com.sun.crypto.provider.AESCipher$AES256_CBC_NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   270
                createAliasesWithOid(aes256Oid+"2"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   271
        ps("Cipher", "AES_256/OFB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   272
                "com.sun.crypto.provider.AESCipher$AES256_OFB_NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   273
                createAliasesWithOid(aes256Oid+"3"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   274
        ps("Cipher", "AES_256/CFB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   275
                "com.sun.crypto.provider.AESCipher$AES256_CFB_NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   276
                createAliasesWithOid(aes256Oid+"4"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   277
        ps("Cipher", "AES_256/GCM/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   278
                "com.sun.crypto.provider.AESCipher$AES256_GCM_NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   279
                createAliasesWithOid(aes256Oid+"6"), attrs);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   280
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   281
        attrs.clear();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   282
        attrs.put("SupportedModes", "CBC");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   283
        attrs.put("SupportedPaddings", "NOPADDING");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   284
        attrs.put("SupportedKeyFormats", "RAW");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   285
        ps("Cipher", "DESedeWrap",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   286
                "com.sun.crypto.provider.DESedeWrapCipher", null, attrs);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   287
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   288
        attrs.clear();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   289
        attrs.put("SupportedModes", "ECB");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   290
        attrs.put("SupportedPaddings", "NOPADDING");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   291
        attrs.put("SupportedKeyFormats", "RAW");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   292
        ps("Cipher", "ARCFOUR", "com.sun.crypto.provider.ARCFOURCipher",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   293
                arcFourAliases, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   294
        ps("Cipher", "AESWrap", "com.sun.crypto.provider.AESWrapCipher$General",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   295
                null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   296
        ps("Cipher", "AESWrap_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   297
                "com.sun.crypto.provider.AESWrapCipher$AES128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   298
                createAliasesWithOid(aes128Oid+"5"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   299
        ps("Cipher", "AESWrap_192",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   300
                "com.sun.crypto.provider.AESWrapCipher$AES192",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   301
                createAliasesWithOid(aes192Oid+"5"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   302
        ps("Cipher", "AESWrap_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   303
                "com.sun.crypto.provider.AESWrapCipher$AES256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   304
                createAliasesWithOid(aes256Oid+"5"), attrs);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   305
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   306
        attrs.clear();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   307
        attrs.put("SupportedKeyFormats", "RAW");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   308
        ps("Cipher",  "ChaCha20",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   309
                "com.sun.crypto.provider.ChaCha20Cipher$ChaCha20Only",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   310
                null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   311
        ps("Cipher",  "ChaCha20-Poly1305",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   312
                "com.sun.crypto.provider.ChaCha20Cipher$ChaCha20Poly1305",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   313
                chachaPolyAliases, attrs);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   314
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   315
        // PBES1
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   316
        ps("Cipher", "PBEWithMD5AndDES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   317
                "com.sun.crypto.provider.PBEWithMD5AndDESCipher",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   318
                pkcs5MD5_DESAliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   319
        ps("Cipher", "PBEWithMD5AndTripleDES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   320
                "com.sun.crypto.provider.PBEWithMD5AndTripleDESCipher",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   321
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   322
        ps("Cipher", "PBEWithSHA1AndDESede",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   323
                "com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndDESede",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   324
                pkcs12DESedeAliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   325
        ps("Cipher", "PBEWithSHA1AndRC2_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   326
                "com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC2_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   327
                pkcs12RC2_40Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   328
        ps("Cipher", "PBEWithSHA1AndRC2_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   329
                "com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC2_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   330
                pkcs12RC2_128Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   331
        ps("Cipher", "PBEWithSHA1AndRC4_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   332
                "com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC4_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   333
                pkcs12RC4_40Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   334
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   335
        ps("Cipher", "PBEWithSHA1AndRC4_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   336
                "com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC4_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   337
                pkcs12RC4_128Aliases, null);
13672
604588823b5a 7044060: Need to support NSA Suite B Cryptography algorithms
valeriep
parents: 12685
diff changeset
   338
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   339
        // PBES2
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   340
        ps("Cipher", "PBEWithHmacSHA1AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   341
                "com.sun.crypto.provider.PBES2Core$HmacSHA1AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   342
                null, null);
13672
604588823b5a 7044060: Need to support NSA Suite B Cryptography algorithms
valeriep
parents: 12685
diff changeset
   343
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   344
        ps("Cipher", "PBEWithHmacSHA224AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   345
                "com.sun.crypto.provider.PBES2Core$HmacSHA224AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   346
                null, null);
13672
604588823b5a 7044060: Need to support NSA Suite B Cryptography algorithms
valeriep
parents: 12685
diff changeset
   347
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   348
        ps("Cipher", "PBEWithHmacSHA256AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   349
                "com.sun.crypto.provider.PBES2Core$HmacSHA256AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   350
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   351
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   352
        ps("Cipher", "PBEWithHmacSHA384AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   353
                "com.sun.crypto.provider.PBES2Core$HmacSHA384AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   354
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   355
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   356
        ps("Cipher", "PBEWithHmacSHA512AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   357
                "com.sun.crypto.provider.PBES2Core$HmacSHA512AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   358
                null, null);
13672
604588823b5a 7044060: Need to support NSA Suite B Cryptography algorithms
valeriep
parents: 12685
diff changeset
   359
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   360
        ps("Cipher", "PBEWithHmacSHA1AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   361
                "com.sun.crypto.provider.PBES2Core$HmacSHA1AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   362
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   363
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   364
        ps("Cipher", "PBEWithHmacSHA224AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   365
                "com.sun.crypto.provider.PBES2Core$HmacSHA224AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   366
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   367
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   368
        ps("Cipher", "PBEWithHmacSHA256AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   369
                "com.sun.crypto.provider.PBES2Core$HmacSHA256AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   370
                null, null);
50323
25d711fca885 8153029: ChaCha20 Cipher Implementation
jnimeh
parents: 50204
diff changeset
   371
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   372
        ps("Cipher", "PBEWithHmacSHA384AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   373
                "com.sun.crypto.provider.PBES2Core$HmacSHA384AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   374
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   375
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   376
        ps("Cipher", "PBEWithHmacSHA512AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   377
                "com.sun.crypto.provider.PBES2Core$HmacSHA512AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   378
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   379
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   380
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   381
         * Key(pair) Generator engines
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   382
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   383
        ps("KeyGenerator", "DES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   384
                "com.sun.crypto.provider.DESKeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   385
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   386
        ps("KeyGenerator", "DESede",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   387
                "com.sun.crypto.provider.DESedeKeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   388
                desEdeAliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   389
        ps("KeyGenerator", "Blowfish",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   390
                "com.sun.crypto.provider.BlowfishKeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   391
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   392
        ps("KeyGenerator", "AES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   393
                "com.sun.crypto.provider.AESKeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   394
                aesAliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   395
        ps("KeyGenerator", "RC2",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   396
                "com.sun.crypto.provider.KeyGeneratorCore$RC2KeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   397
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   398
        ps("KeyGenerator", "ARCFOUR",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   399
                "com.sun.crypto.provider.KeyGeneratorCore$ARCFOURKeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   400
                arcFourAliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   401
        ps("KeyGenerator", "ChaCha20",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   402
                "com.sun.crypto.provider.KeyGeneratorCore$ChaCha20KeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   403
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   404
        ps("KeyGenerator", "HmacMD5",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   405
                "com.sun.crypto.provider.HmacMD5KeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   406
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   407
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   408
        ps("KeyGenerator", "HmacSHA1",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   409
                "com.sun.crypto.provider.HmacSHA1KeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   410
                macSHA1Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   411
        ps("KeyGenerator", "HmacSHA224",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   412
                "com.sun.crypto.provider.KeyGeneratorCore$HmacSHA2KG$SHA224",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   413
                macSHA224Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   414
        ps("KeyGenerator", "HmacSHA256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   415
                "com.sun.crypto.provider.KeyGeneratorCore$HmacSHA2KG$SHA256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   416
                macSHA256Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   417
        ps("KeyGenerator", "HmacSHA384",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   418
                "com.sun.crypto.provider.KeyGeneratorCore$HmacSHA2KG$SHA384",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   419
                macSHA384Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   420
        ps("KeyGenerator", "HmacSHA512",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   421
                "com.sun.crypto.provider.KeyGeneratorCore$HmacSHA2KG$SHA512",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   422
                macSHA512Aliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   423
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   424
        ps("KeyPairGenerator", "DiffieHellman",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   425
                "com.sun.crypto.provider.DHKeyPairGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   426
                diffieHellmanAliases, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   427
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   428
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   429
         * Algorithm parameter generation engines
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   430
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   431
        ps("AlgorithmParameterGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   432
                "DiffieHellman", "com.sun.crypto.provider.DHParameterGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   433
                diffieHellmanAliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   434
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   435
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   436
         * Key Agreement engines
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   437
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   438
        attrs.clear();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   439
        attrs.put("SupportedKeyClasses", "javax.crypto.interfaces.DHPublicKey" +
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   440
                        "|javax.crypto.interfaces.DHPrivateKey");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   441
        ps("KeyAgreement", "DiffieHellman",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   442
                "com.sun.crypto.provider.DHKeyAgreement",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   443
                diffieHellmanAliases, attrs);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   444
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   445
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   446
         * Algorithm Parameter engines
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   447
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   448
        ps("AlgorithmParameters", "DiffieHellman",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   449
                "com.sun.crypto.provider.DHParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   450
                diffieHellmanAliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   451
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   452
        ps("AlgorithmParameters", "DES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   453
                "com.sun.crypto.provider.DESParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   454
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   455
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   456
        ps("AlgorithmParameters", "DESede",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   457
                "com.sun.crypto.provider.DESedeParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   458
                desEdeAliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   459
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   460
        ps("AlgorithmParameters", "PBEWithMD5AndDES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   461
                "com.sun.crypto.provider.PBEParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   462
                pkcs5MD5_DESAliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   463
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   464
        ps("AlgorithmParameters", "PBEWithMD5AndTripleDES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   465
                "com.sun.crypto.provider.PBEParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   466
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   467
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   468
        ps("AlgorithmParameters", "PBEWithSHA1AndDESede",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   469
                "com.sun.crypto.provider.PBEParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   470
                pkcs12DESedeAliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   471
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   472
        ps("AlgorithmParameters", "PBEWithSHA1AndRC2_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   473
                "com.sun.crypto.provider.PBEParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   474
                pkcs12RC2_40Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   475
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   476
        ps("AlgorithmParameters", "PBEWithSHA1AndRC2_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   477
                "com.sun.crypto.provider.PBEParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   478
                pkcs12RC2_128Aliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   479
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   480
        ps("AlgorithmParameters", "PBEWithSHA1AndRC4_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   481
                "com.sun.crypto.provider.PBEParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   482
                pkcs12RC4_40Aliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   483
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   484
        ps("AlgorithmParameters", "PBEWithSHA1AndRC4_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   485
                "com.sun.crypto.provider.PBEParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   486
                pkcs12RC4_128Aliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   487
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   488
        ps("AlgorithmParameters", "PBES2",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   489
                "com.sun.crypto.provider.PBES2Parameters$General",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   490
                pkcs5PBES2Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   491
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   492
        ps("AlgorithmParameters", "PBEWithHmacSHA1AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   493
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA1AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   494
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   495
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   496
        ps("AlgorithmParameters", "PBEWithHmacSHA224AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   497
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA224AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   498
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   499
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   500
        ps("AlgorithmParameters", "PBEWithHmacSHA256AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   501
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA256AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   502
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   503
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   504
        ps("AlgorithmParameters", "PBEWithHmacSHA384AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   505
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA384AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   506
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   507
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   508
        ps("AlgorithmParameters", "PBEWithHmacSHA512AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   509
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA512AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   510
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   511
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   512
        ps("AlgorithmParameters", "PBEWithHmacSHA1AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   513
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA1AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   514
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   515
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   516
        ps("AlgorithmParameters", "PBEWithHmacSHA224AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   517
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA224AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   518
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   519
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   520
        ps("AlgorithmParameters", "PBEWithHmacSHA256AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   521
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA256AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   522
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   523
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   524
        ps("AlgorithmParameters", "PBEWithHmacSHA384AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   525
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA384AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   526
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   527
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   528
        ps("AlgorithmParameters", "PBEWithHmacSHA512AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   529
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA512AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   530
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   531
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   532
        ps("AlgorithmParameters", "Blowfish",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   533
                "com.sun.crypto.provider.BlowfishParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   534
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   535
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   536
        ps("AlgorithmParameters", "AES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   537
                "com.sun.crypto.provider.AESParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   538
                aesAliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   539
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   540
        ps("AlgorithmParameters", "GCM",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   541
                "com.sun.crypto.provider.GCMParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   542
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   543
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   544
        ps("AlgorithmParameters", "RC2",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   545
                "com.sun.crypto.provider.RC2Parameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   546
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   547
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   548
        ps("AlgorithmParameters", "OAEP",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   549
                "com.sun.crypto.provider.OAEPParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   550
                null, null);
50323
25d711fca885 8153029: ChaCha20 Cipher Implementation
jnimeh
parents: 50204
diff changeset
   551
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   552
        ps("AlgorithmParameters", "ChaCha20-Poly1305",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   553
                "com.sun.crypto.provider.ChaCha20Poly1305Parameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   554
                chachaPolyAliases, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   555
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   556
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   557
         * Key factories
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   558
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   559
        ps("KeyFactory", "DiffieHellman",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   560
                "com.sun.crypto.provider.DHKeyFactory",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   561
                diffieHellmanAliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   562
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   563
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   564
         * Secret-key factories
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   565
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   566
        ps("SecretKeyFactory", "DES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   567
                "com.sun.crypto.provider.DESKeyFactory",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   568
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   569
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   570
        ps("SecretKeyFactory", "DESede",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   571
                "com.sun.crypto.provider.DESedeKeyFactory",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   572
                desEdeAliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   573
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   574
        ps("SecretKeyFactory", "PBEWithMD5AndDES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   575
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithMD5AndDES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   576
                pkcs5MD5_DESAliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   577
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   578
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   579
         * Internal in-house crypto algorithm used for
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   580
         * the JCEKS keystore type.  Since this was developed
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   581
         * internally, there isn't an OID corresponding to this
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   582
         * algorithm.
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   583
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   584
        ps("SecretKeyFactory", "PBEWithMD5AndTripleDES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   585
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithMD5AndTripleDES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   586
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   587
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   588
        ps("SecretKeyFactory", "PBEWithSHA1AndDESede",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   589
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndDESede",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   590
                pkcs12DESedeAliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   591
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   592
        ps("SecretKeyFactory", "PBEWithSHA1AndRC2_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   593
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndRC2_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   594
                pkcs12RC2_40Aliases, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   595
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   596
        ps("SecretKeyFactory", "PBEWithSHA1AndRC2_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   597
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndRC2_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   598
                pkcs12RC2_128Aliases, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   599
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   600
        ps("SecretKeyFactory", "PBEWithSHA1AndRC4_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   601
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndRC4_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   602
                pkcs12RC4_40Aliases,null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   603
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   604
        ps("SecretKeyFactory", "PBEWithSHA1AndRC4_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   605
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndRC4_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   606
                pkcs12RC4_128Aliases, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   607
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   608
        ps("SecretKeyFactory", "PBEWithHmacSHA1AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   609
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA1AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   610
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   611
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   612
        ps("SecretKeyFactory", "PBEWithHmacSHA224AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   613
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA224AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   614
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   615
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   616
        ps("SecretKeyFactory", "PBEWithHmacSHA256AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   617
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA256AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   618
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   619
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   620
        ps("SecretKeyFactory", "PBEWithHmacSHA384AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   621
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA384AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   622
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   623
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   624
        ps("SecretKeyFactory", "PBEWithHmacSHA512AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   625
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA512AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   626
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   627
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   628
        ps("SecretKeyFactory", "PBEWithHmacSHA1AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   629
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA1AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   630
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   631
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   632
        ps("SecretKeyFactory", "PBEWithHmacSHA224AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   633
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA224AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   634
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   635
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   636
        ps("SecretKeyFactory", "PBEWithHmacSHA256AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   637
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA256AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   638
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   639
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   640
        ps("SecretKeyFactory", "PBEWithHmacSHA384AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   641
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA384AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   642
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   643
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   644
        ps("SecretKeyFactory", "PBEWithHmacSHA512AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   645
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA512AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   646
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   647
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   648
        // PBKDF2
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   649
        ps("SecretKeyFactory", "PBKDF2WithHmacSHA1",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   650
                "com.sun.crypto.provider.PBKDF2Core$HmacSHA1",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   651
                pkcs5PBKDF2Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   652
        ps("SecretKeyFactory", "PBKDF2WithHmacSHA224",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   653
                "com.sun.crypto.provider.PBKDF2Core$HmacSHA224",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   654
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   655
        ps("SecretKeyFactory", "PBKDF2WithHmacSHA256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   656
                "com.sun.crypto.provider.PBKDF2Core$HmacSHA256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   657
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   658
        ps("SecretKeyFactory", "PBKDF2WithHmacSHA384",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   659
                "com.sun.crypto.provider.PBKDF2Core$HmacSHA384",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   660
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   661
        ps("SecretKeyFactory", "PBKDF2WithHmacSHA512",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   662
                "com.sun.crypto.provider.PBKDF2Core$HmacSHA512",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   663
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   664
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   665
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   666
         * MAC
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   667
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   668
        attrs.clear();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   669
        attrs.put("SupportedKeyFormats", "RAW");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   670
        ps("Mac", "HmacMD5", "com.sun.crypto.provider.HmacMD5", null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   671
        ps("Mac", "HmacSHA1", "com.sun.crypto.provider.HmacSHA1",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   672
                macSHA1Aliases, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   673
        ps("Mac", "HmacSHA224", "com.sun.crypto.provider.HmacCore$HmacSHA224",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   674
                macSHA224Aliases, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   675
        ps("Mac", "HmacSHA256", "com.sun.crypto.provider.HmacCore$HmacSHA256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   676
                macSHA256Aliases, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   677
        ps("Mac", "HmacSHA384", "com.sun.crypto.provider.HmacCore$HmacSHA384",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   678
                macSHA384Aliases, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   679
        ps("Mac", "HmacSHA512", "com.sun.crypto.provider.HmacCore$HmacSHA512",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   680
                macSHA512Aliases, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   681
        // TODO: aliases with OIDs
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   682
        ps("Mac", "HmacSHA512/224",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   683
                "com.sun.crypto.provider.HmacCore$HmacSHA512_224",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   684
                null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   685
        ps("Mac", "HmacSHA512/256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   686
                "com.sun.crypto.provider.HmacCore$HmacSHA512_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   687
                null, attrs);
52996
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   688
        ps("Mac", "HmacPBESHA1",
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   689
                "com.sun.crypto.provider.HmacPKCS12PBECore$HmacPKCS12PBE_SHA1",
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   690
                null, attrs);
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   691
        ps("Mac", "HmacPBESHA224",
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   692
                "com.sun.crypto.provider.HmacPKCS12PBECore$HmacPKCS12PBE_SHA224",
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   693
                null, attrs);
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   694
        ps("Mac", "HmacPBESHA256",
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   695
                "com.sun.crypto.provider.HmacPKCS12PBECore$HmacPKCS12PBE_SHA256",
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   696
                null, attrs);
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   697
        ps("Mac", "HmacPBESHA384",
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   698
                "com.sun.crypto.provider.HmacPKCS12PBECore$HmacPKCS12PBE_SHA384",
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   699
                null, attrs);
52996
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   700
        ps("Mac", "HmacPBESHA512",
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   701
                "com.sun.crypto.provider.HmacPKCS12PBECore$HmacPKCS12PBE_SHA512",
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   702
                null, attrs);
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   703
        ps("Mac", "HmacPBESHA512/224",
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   704
                "com.sun.crypto.provider.HmacPKCS12PBECore$HmacPKCS12PBE_SHA512_224",
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   705
                null, attrs);
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   706
        ps("Mac", "HmacPBESHA512/256",
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   707
                "com.sun.crypto.provider.HmacPKCS12PBECore$HmacPKCS12PBE_SHA512_256",
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   708
                null, attrs);
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   709
2457d862a646 8076190: Customizing the generation of a PKCS12 keystore
weijun
parents: 52995
diff changeset
   710
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   711
        // PBMAC1
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   712
        ps("Mac", "PBEWithHmacSHA1",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   713
                "com.sun.crypto.provider.PBMAC1Core$HmacSHA1", null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   714
        ps("Mac", "PBEWithHmacSHA224",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   715
                "com.sun.crypto.provider.PBMAC1Core$HmacSHA224", null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   716
        ps("Mac", "PBEWithHmacSHA256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   717
                "com.sun.crypto.provider.PBMAC1Core$HmacSHA256", null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   718
        ps("Mac", "PBEWithHmacSHA384",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   719
                "com.sun.crypto.provider.PBMAC1Core$HmacSHA384", null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   720
        ps("Mac", "PBEWithHmacSHA512",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   721
                "com.sun.crypto.provider.PBMAC1Core$HmacSHA512", null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   722
        ps("Mac", "SslMacMD5",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   723
                "com.sun.crypto.provider.SslMacCore$SslMacMD5", null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   724
        ps("Mac", "SslMacSHA1",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   725
                "com.sun.crypto.provider.SslMacCore$SslMacSHA1", null, attrs);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   726
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   727
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   728
         * KeyStore
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   729
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   730
        ps("KeyStore", "JCEKS",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   731
                "com.sun.crypto.provider.JceKeyStore",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   732
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   733
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   734
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   735
         * SSL/TLS mechanisms
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   736
         *
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   737
         * These are strictly internal implementations and may
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   738
         * be changed at any time.  These names were chosen
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   739
         * because PKCS11/SunPKCS11 does not yet have TLS1.2
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   740
         * mechanisms, and it will cause calls to come here.
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   741
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   742
        ps("KeyGenerator", "SunTlsPrf",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   743
                "com.sun.crypto.provider.TlsPrfGenerator$V10",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   744
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   745
        ps("KeyGenerator", "SunTls12Prf",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   746
                "com.sun.crypto.provider.TlsPrfGenerator$V12",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   747
                null, null);
7043
5e2d1edeb2c7 6916074: Add support for TLS 1.2
xuelei
parents: 5506
diff changeset
   748
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   749
        ps("KeyGenerator", "SunTlsMasterSecret",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   750
                "com.sun.crypto.provider.TlsMasterSecretGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   751
                createAliases("SunTls12MasterSecret",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   752
                    "SunTlsExtendedMasterSecret"), null);
7043
5e2d1edeb2c7 6916074: Add support for TLS 1.2
xuelei
parents: 5506
diff changeset
   753
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   754
        ps("KeyGenerator", "SunTlsKeyMaterial",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   755
                "com.sun.crypto.provider.TlsKeyMaterialGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   756
                createAliases("SunTls12KeyMaterial"), null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   757
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   758
        ps("KeyGenerator", "SunTlsRsaPremasterSecret",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   759
                "com.sun.crypto.provider.TlsRsaPremasterSecretGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   760
                createAliases("SunTls12RsaPremasterSecret"), null);
16909
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
   761
    }
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
   762
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
   763
    // Return the instance of this class or create one if needed.
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
   764
    static SunJCE getInstance() {
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
   765
        if (instance == null) {
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
   766
            return new SunJCE();
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
   767
        }
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
   768
        return instance;
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   769
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   770
}