src/java.base/share/classes/com/sun/crypto/provider/SunJCE.java
author valeriep
Thu, 13 Dec 2018 01:15:21 +0000
changeset 52995 9af672cab7cb
parent 51407 910f7b56592f
child 52996 2457d862a646
permissions -rw-r--r--
7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck Summary: Changed Provider class to use ConcurrentHashMap and default providers to use putService() Reviewed-by: weijun, mullan
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
/*
50204
3195a713e24d 8146293: Add support for RSASSA-PSS Signature algorithm
valeriep
parents: 48225
diff changeset
     2
 * Copyright (c) 1997, 2018, 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
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
    private static final long serialVersionUID = 6812507587804302833L;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
    private static final String info = "SunJCE Provider " +
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
    "(implements RSA, DES, Triple DES, AES, Blowfish, ARCFOUR, RC2, PBE, "
50323
25d711fca885 8153029: ChaCha20 Cipher Implementation
jnimeh
parents: 50204
diff changeset
    86
    + "Diffie-Hellman, HMAC, ChaCha20)";
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
    /* Are we debugging? -- for developers */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
    static final boolean debug = false;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
16909
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
    91
    // 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
    92
    // 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
    93
    private static volatile SunJCE instance;
16909
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
    94
15010
ec6b49ce42b1 8004044: Lazily instantiate SunJCE.RANDOM
valeriep
parents: 15008
diff changeset
    95
    // lazy initialize SecureRandom to avoid potential recursion if Sun
ec6b49ce42b1 8004044: Lazily instantiate SunJCE.RANDOM
valeriep
parents: 15008
diff changeset
    96
    // provider has not been installed yet
ec6b49ce42b1 8004044: Lazily instantiate SunJCE.RANDOM
valeriep
parents: 15008
diff changeset
    97
    private static class SecureRandomHolder {
ec6b49ce42b1 8004044: Lazily instantiate SunJCE.RANDOM
valeriep
parents: 15008
diff changeset
    98
        static final SecureRandom RANDOM = new SecureRandom();
ec6b49ce42b1 8004044: Lazily instantiate SunJCE.RANDOM
valeriep
parents: 15008
diff changeset
    99
    }
ec6b49ce42b1 8004044: Lazily instantiate SunJCE.RANDOM
valeriep
parents: 15008
diff changeset
   100
    static SecureRandom getRandom() { return SecureRandomHolder.RANDOM; }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   102
    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
   103
            List<String> aliases, HashMap<String, String> attrs) {
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   104
        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
   105
    }
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   106
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
    public SunJCE() {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
        /* We are the "SunJCE" provider */
40416
5d91b2fd668c 8130181: Deprecate java.security.Provider(String, double, String), add Provider(Strin
valeriep
parents: 37796
diff changeset
   109
        super("SunJCE", PROVIDER_VER, info);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   111
        // 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
   112
        // the provider
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   113
        if (System.getSecurityManager() == null) {
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   114
            putEntries();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   115
        } else {
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   116
            AccessController.doPrivileged(new PrivilegedAction<Void>() {
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   117
                @Override
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   118
                public Void run() {
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   119
                    putEntries();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   120
                    return null;
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   121
                }
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
        if (instance == null) {
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   125
            instance = this;
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   126
        }
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
    void putEntries() {
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   130
        // common aliases and oids
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   131
        List<String> aesAliases = createAliases("Rijndael");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   132
        List<String> desEdeAliases = createAliases("TripleDES");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   133
        List<String> arcFourAliases = createAliases("RC4");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   134
        List<String> sunTlsMSAliases = createAliases(
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   135
            "SunTls12MasterSecret", "SunTlsExtendedMasterSecret"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   136
        );
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   137
        List<String> sunTlsKMAliases = createAliases("SunTls12KeyMaterial");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   138
        List<String> sunTlsRsaPMSAliases = createAliases("SunTls12RsaPremasterSecret");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   139
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   140
        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
   141
        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
   142
        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
   143
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   144
        List<String> pkcs12RC4_128Aliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   145
            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
   146
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   147
        List<String> pkcs12RC4_40Aliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   148
            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
   149
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   150
        List<String> pkcs12DESedeAliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   151
            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
   152
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   153
        List<String> pkcs12RC2_128Aliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   154
            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
   155
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   156
        List<String> pkcs12RC2_40Aliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   157
            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
   158
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   159
        List<String> pkcs5MD5_DESAliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   160
            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
   161
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   162
        List<String> pkcs5PBKDF2Aliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   163
            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
   164
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   165
        List<String> pkcs5PBES2Aliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   166
            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
   167
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   168
        List<String> diffieHellmanAliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   169
            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
   170
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   171
        List<String> chachaPolyAliases =
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   172
            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
   173
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   174
        String macOidBase = "1.2.840.113549.2.";
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   175
        List<String> macSHA1Aliases = createAliasesWithOid(macOidBase + "7");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   176
        List<String> macSHA224Aliases = createAliasesWithOid(macOidBase + "8");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   177
        List<String> macSHA256Aliases = createAliasesWithOid(macOidBase + "9");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   178
        List<String> macSHA384Aliases = createAliasesWithOid(macOidBase + "10");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   179
        List<String> macSHA512Aliases = createAliasesWithOid(macOidBase + "11");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   180
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   181
        // 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
   182
        HashMap<String, String> attrs = new HashMap<>(3);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   183
        attrs.put("SupportedModes", "ECB");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   184
        attrs.put("SupportedPaddings", "NOPADDING|PKCS1PADDING|OAEPPADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   185
                + "|OAEPWITHMD5ANDMGF1PADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   186
                + "|OAEPWITHSHA1ANDMGF1PADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   187
                + "|OAEPWITHSHA-1ANDMGF1PADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   188
                + "|OAEPWITHSHA-224ANDMGF1PADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   189
                + "|OAEPWITHSHA-256ANDMGF1PADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   190
                + "|OAEPWITHSHA-384ANDMGF1PADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   191
                + "|OAEPWITHSHA-512ANDMGF1PADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   192
                + "|OAEPWITHSHA-512/224ANDMGF1PADDING"
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   193
                + "|OAEPWITHSHA-512/256ANDMGF1PADDING");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   194
        attrs.put("SupportedKeyClasses",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   195
                "java.security.interfaces.RSAPublicKey" +
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   196
                "|java.security.interfaces.RSAPrivateKey");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   197
        ps("Cipher", "RSA",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   198
                "com.sun.crypto.provider.RSACipher", null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   199
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   200
        // common block cipher modes, pads
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   201
        final String BLOCK_MODES = "ECB|CBC|PCBC|CTR|CTS|CFB|OFB" +
90ce3da70b43 Initial load
duke
parents:
diff changeset
   202
            "|CFB8|CFB16|CFB24|CFB32|CFB40|CFB48|CFB56|CFB64" +
90ce3da70b43 Initial load
duke
parents:
diff changeset
   203
            "|OFB8|OFB16|OFB24|OFB32|OFB40|OFB48|OFB56|OFB64";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
        final String BLOCK_MODES128 = BLOCK_MODES +
15008
6a494f8ba5b5 6996769: support AEAD cipher
valeriep
parents: 14405
diff changeset
   205
            "|GCM|CFB72|CFB80|CFB88|CFB96|CFB104|CFB112|CFB120|CFB128" +
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   206
            "|OFB72|OFB80|OFB88|OFB96|OFB104|OFB112|OFB120|OFB128";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   207
        final String BLOCK_PADS = "NOPADDING|PKCS5PADDING|ISO10126PADDING";
90ce3da70b43 Initial load
duke
parents:
diff changeset
   208
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   209
        attrs.clear();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   210
        attrs.put("SupportedModes", BLOCK_MODES);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   211
        attrs.put("SupportedPaddings", BLOCK_PADS);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   212
        attrs.put("SupportedKeyFormats", "RAW");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   213
        ps("Cipher", "DES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   214
                "com.sun.crypto.provider.DESCipher", null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   215
        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
   216
                desEdeAliases, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   217
        ps("Cipher", "Blowfish",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   218
                "com.sun.crypto.provider.BlowfishCipher", null, attrs);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   219
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   220
        ps("Cipher", "RC2",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   221
                "com.sun.crypto.provider.RC2Cipher", null, attrs);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   222
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   223
        attrs.clear();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   224
        attrs.put("SupportedModes", BLOCK_MODES128);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   225
        attrs.put("SupportedPaddings", BLOCK_PADS);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   226
        attrs.put("SupportedKeyFormats", "RAW");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   227
        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
   228
                aesAliases, attrs);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   229
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   230
        attrs.clear();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   231
        attrs.put("SupportedKeyFormats", "RAW");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   232
        ps("Cipher", "AES_128/ECB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   233
                "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
   234
                createAliasesWithOid(aes128Oid+"1"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   235
        ps("Cipher", "AES_128/CBC/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   236
                "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
   237
                createAliasesWithOid(aes128Oid+"2"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   238
        ps("Cipher", "AES_128/OFB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   239
                "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
   240
                createAliasesWithOid(aes128Oid+"3"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   241
        ps("Cipher", "AES_128/CFB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   242
                "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
   243
                createAliasesWithOid(aes128Oid+"4"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   244
        ps("Cipher", "AES_128/GCM/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   245
                "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
   246
                createAliasesWithOid(aes128Oid+"6"), attrs);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   247
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   248
        ps("Cipher", "AES_192/ECB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   249
                "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
   250
                createAliasesWithOid(aes192Oid+"1"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   251
        ps("Cipher", "AES_192/CBC/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   252
                "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
   253
                createAliasesWithOid(aes192Oid+"2"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   254
        ps("Cipher", "AES_192/OFB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   255
                "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
   256
                createAliasesWithOid(aes192Oid+"3"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   257
        ps("Cipher", "AES_192/CFB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   258
                "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
   259
                createAliasesWithOid(aes192Oid+"4"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   260
        ps("Cipher", "AES_192/GCM/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   261
                "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
   262
                createAliasesWithOid(aes192Oid+"6"), attrs);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   263
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   264
        ps("Cipher", "AES_256/ECB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   265
                "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
   266
                createAliasesWithOid(aes256Oid+"1"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   267
        ps("Cipher", "AES_256/CBC/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   268
                "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
   269
                createAliasesWithOid(aes256Oid+"2"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   270
        ps("Cipher", "AES_256/OFB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   271
                "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
   272
                createAliasesWithOid(aes256Oid+"3"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   273
        ps("Cipher", "AES_256/CFB/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   274
                "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
   275
                createAliasesWithOid(aes256Oid+"4"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   276
        ps("Cipher", "AES_256/GCM/NoPadding",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   277
                "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
   278
                createAliasesWithOid(aes256Oid+"6"), attrs);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   279
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   280
        attrs.clear();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   281
        attrs.put("SupportedModes", "CBC");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   282
        attrs.put("SupportedPaddings", "NOPADDING");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   283
        attrs.put("SupportedKeyFormats", "RAW");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   284
        ps("Cipher", "DESedeWrap",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   285
                "com.sun.crypto.provider.DESedeWrapCipher", null, attrs);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   286
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   287
        attrs.clear();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   288
        attrs.put("SupportedModes", "ECB");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   289
        attrs.put("SupportedPaddings", "NOPADDING");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   290
        attrs.put("SupportedKeyFormats", "RAW");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   291
        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
   292
                arcFourAliases, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   293
        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
   294
                null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   295
        ps("Cipher", "AESWrap_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   296
                "com.sun.crypto.provider.AESWrapCipher$AES128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   297
                createAliasesWithOid(aes128Oid+"5"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   298
        ps("Cipher", "AESWrap_192",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   299
                "com.sun.crypto.provider.AESWrapCipher$AES192",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   300
                createAliasesWithOid(aes192Oid+"5"), attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   301
        ps("Cipher", "AESWrap_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   302
                "com.sun.crypto.provider.AESWrapCipher$AES256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   303
                createAliasesWithOid(aes256Oid+"5"), attrs);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   304
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   305
        attrs.clear();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   306
        attrs.put("SupportedKeyFormats", "RAW");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   307
        ps("Cipher",  "ChaCha20",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   308
                "com.sun.crypto.provider.ChaCha20Cipher$ChaCha20Only",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   309
                null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   310
        ps("Cipher",  "ChaCha20-Poly1305",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   311
                "com.sun.crypto.provider.ChaCha20Cipher$ChaCha20Poly1305",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   312
                chachaPolyAliases, attrs);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   313
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   314
        // PBES1
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   315
        ps("Cipher", "PBEWithMD5AndDES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   316
                "com.sun.crypto.provider.PBEWithMD5AndDESCipher",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   317
                pkcs5MD5_DESAliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   318
        ps("Cipher", "PBEWithMD5AndTripleDES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   319
                "com.sun.crypto.provider.PBEWithMD5AndTripleDESCipher",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   320
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   321
        ps("Cipher", "PBEWithSHA1AndDESede",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   322
                "com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndDESede",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   323
                pkcs12DESedeAliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   324
        ps("Cipher", "PBEWithSHA1AndRC2_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   325
                "com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC2_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   326
                pkcs12RC2_40Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   327
        ps("Cipher", "PBEWithSHA1AndRC2_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   328
                "com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC2_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   329
                pkcs12RC2_128Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   330
        ps("Cipher", "PBEWithSHA1AndRC4_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   331
                "com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC4_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   332
                pkcs12RC4_40Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   333
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   334
        ps("Cipher", "PBEWithSHA1AndRC4_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   335
                "com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC4_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   336
                pkcs12RC4_128Aliases, null);
13672
604588823b5a 7044060: Need to support NSA Suite B Cryptography algorithms
valeriep
parents: 12685
diff changeset
   337
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   338
        // PBES2
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   339
        ps("Cipher", "PBEWithHmacSHA1AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   340
                "com.sun.crypto.provider.PBES2Core$HmacSHA1AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   341
                null, null);
13672
604588823b5a 7044060: Need to support NSA Suite B Cryptography algorithms
valeriep
parents: 12685
diff changeset
   342
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   343
        ps("Cipher", "PBEWithHmacSHA224AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   344
                "com.sun.crypto.provider.PBES2Core$HmacSHA224AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   345
                null, null);
13672
604588823b5a 7044060: Need to support NSA Suite B Cryptography algorithms
valeriep
parents: 12685
diff changeset
   346
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   347
        ps("Cipher", "PBEWithHmacSHA256AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   348
                "com.sun.crypto.provider.PBES2Core$HmacSHA256AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   349
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   350
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   351
        ps("Cipher", "PBEWithHmacSHA384AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   352
                "com.sun.crypto.provider.PBES2Core$HmacSHA384AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   353
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   354
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   355
        ps("Cipher", "PBEWithHmacSHA512AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   356
                "com.sun.crypto.provider.PBES2Core$HmacSHA512AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   357
                null, null);
13672
604588823b5a 7044060: Need to support NSA Suite B Cryptography algorithms
valeriep
parents: 12685
diff changeset
   358
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   359
        ps("Cipher", "PBEWithHmacSHA1AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   360
                "com.sun.crypto.provider.PBES2Core$HmacSHA1AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   361
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   362
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   363
        ps("Cipher", "PBEWithHmacSHA224AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   364
                "com.sun.crypto.provider.PBES2Core$HmacSHA224AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   365
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   366
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   367
        ps("Cipher", "PBEWithHmacSHA256AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   368
                "com.sun.crypto.provider.PBES2Core$HmacSHA256AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   369
                null, null);
50323
25d711fca885 8153029: ChaCha20 Cipher Implementation
jnimeh
parents: 50204
diff changeset
   370
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   371
        ps("Cipher", "PBEWithHmacSHA384AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   372
                "com.sun.crypto.provider.PBES2Core$HmacSHA384AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   373
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   374
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   375
        ps("Cipher", "PBEWithHmacSHA512AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   376
                "com.sun.crypto.provider.PBES2Core$HmacSHA512AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   377
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   378
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   379
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   380
         * Key(pair) Generator engines
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   381
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   382
        ps("KeyGenerator", "DES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   383
                "com.sun.crypto.provider.DESKeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   384
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   385
        ps("KeyGenerator", "DESede",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   386
                "com.sun.crypto.provider.DESedeKeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   387
                desEdeAliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   388
        ps("KeyGenerator", "Blowfish",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   389
                "com.sun.crypto.provider.BlowfishKeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   390
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   391
        ps("KeyGenerator", "AES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   392
                "com.sun.crypto.provider.AESKeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   393
                aesAliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   394
        ps("KeyGenerator", "RC2",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   395
                "com.sun.crypto.provider.KeyGeneratorCore$RC2KeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   396
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   397
        ps("KeyGenerator", "ARCFOUR",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   398
                "com.sun.crypto.provider.KeyGeneratorCore$ARCFOURKeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   399
                arcFourAliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   400
        ps("KeyGenerator", "ChaCha20",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   401
                "com.sun.crypto.provider.KeyGeneratorCore$ChaCha20KeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   402
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   403
        ps("KeyGenerator", "HmacMD5",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   404
                "com.sun.crypto.provider.HmacMD5KeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   405
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   406
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   407
        ps("KeyGenerator", "HmacSHA1",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   408
                "com.sun.crypto.provider.HmacSHA1KeyGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   409
                macSHA1Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   410
        ps("KeyGenerator", "HmacSHA224",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   411
                "com.sun.crypto.provider.KeyGeneratorCore$HmacSHA2KG$SHA224",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   412
                macSHA224Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   413
        ps("KeyGenerator", "HmacSHA256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   414
                "com.sun.crypto.provider.KeyGeneratorCore$HmacSHA2KG$SHA256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   415
                macSHA256Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   416
        ps("KeyGenerator", "HmacSHA384",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   417
                "com.sun.crypto.provider.KeyGeneratorCore$HmacSHA2KG$SHA384",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   418
                macSHA384Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   419
        ps("KeyGenerator", "HmacSHA512",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   420
                "com.sun.crypto.provider.KeyGeneratorCore$HmacSHA2KG$SHA512",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   421
                macSHA512Aliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   422
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   423
        ps("KeyPairGenerator", "DiffieHellman",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   424
                "com.sun.crypto.provider.DHKeyPairGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   425
                diffieHellmanAliases, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   426
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   427
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   428
         * Algorithm parameter generation engines
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   429
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   430
        ps("AlgorithmParameterGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   431
                "DiffieHellman", "com.sun.crypto.provider.DHParameterGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   432
                diffieHellmanAliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   433
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
         * Key Agreement engines
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   436
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   437
        attrs.clear();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   438
        attrs.put("SupportedKeyClasses", "javax.crypto.interfaces.DHPublicKey" +
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   439
                        "|javax.crypto.interfaces.DHPrivateKey");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   440
        ps("KeyAgreement", "DiffieHellman",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   441
                "com.sun.crypto.provider.DHKeyAgreement",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   442
                diffieHellmanAliases, attrs);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   443
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   444
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   445
         * Algorithm Parameter engines
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   446
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   447
        ps("AlgorithmParameters", "DiffieHellman",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   448
                "com.sun.crypto.provider.DHParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   449
                diffieHellmanAliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   450
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   451
        ps("AlgorithmParameters", "DES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   452
                "com.sun.crypto.provider.DESParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   453
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   454
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   455
        ps("AlgorithmParameters", "DESede",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   456
                "com.sun.crypto.provider.DESedeParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   457
                desEdeAliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   458
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   459
        ps("AlgorithmParameters", "PBEWithMD5AndDES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   460
                "com.sun.crypto.provider.PBEParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   461
                pkcs5MD5_DESAliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   462
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   463
        ps("AlgorithmParameters", "PBEWithMD5AndTripleDES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   464
                "com.sun.crypto.provider.PBEParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   465
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   466
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   467
        ps("AlgorithmParameters", "PBEWithSHA1AndDESede",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   468
                "com.sun.crypto.provider.PBEParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   469
                pkcs12DESedeAliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   470
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   471
        ps("AlgorithmParameters", "PBEWithSHA1AndRC2_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   472
                "com.sun.crypto.provider.PBEParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   473
                pkcs12RC2_40Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   474
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   475
        ps("AlgorithmParameters", "PBEWithSHA1AndRC2_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   476
                "com.sun.crypto.provider.PBEParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   477
                pkcs12RC2_128Aliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   478
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   479
        ps("AlgorithmParameters", "PBEWithSHA1AndRC4_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   480
                "com.sun.crypto.provider.PBEParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   481
                pkcs12RC4_40Aliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   482
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   483
        ps("AlgorithmParameters", "PBEWithSHA1AndRC4_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   484
                "com.sun.crypto.provider.PBEParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   485
                pkcs12RC4_128Aliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   486
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   487
        ps("AlgorithmParameters", "PBES2",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   488
                "com.sun.crypto.provider.PBES2Parameters$General",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   489
                pkcs5PBES2Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   490
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   491
        ps("AlgorithmParameters", "PBEWithHmacSHA1AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   492
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA1AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   493
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   494
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   495
        ps("AlgorithmParameters", "PBEWithHmacSHA224AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   496
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA224AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   497
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   498
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   499
        ps("AlgorithmParameters", "PBEWithHmacSHA256AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   500
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA256AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   501
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   502
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   503
        ps("AlgorithmParameters", "PBEWithHmacSHA384AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   504
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA384AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   505
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   506
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   507
        ps("AlgorithmParameters", "PBEWithHmacSHA512AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   508
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA512AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   509
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   510
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   511
        ps("AlgorithmParameters", "PBEWithHmacSHA1AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   512
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA1AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   513
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   514
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   515
        ps("AlgorithmParameters", "PBEWithHmacSHA224AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   516
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA224AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   517
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   518
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   519
        ps("AlgorithmParameters", "PBEWithHmacSHA256AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   520
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA256AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   521
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   522
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   523
        ps("AlgorithmParameters", "PBEWithHmacSHA384AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   524
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA384AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   525
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   526
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   527
        ps("AlgorithmParameters", "PBEWithHmacSHA512AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   528
                "com.sun.crypto.provider.PBES2Parameters$HmacSHA512AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   529
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   530
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   531
        ps("AlgorithmParameters", "Blowfish",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   532
                "com.sun.crypto.provider.BlowfishParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   533
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   534
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   535
        ps("AlgorithmParameters", "AES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   536
                "com.sun.crypto.provider.AESParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   537
                aesAliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   538
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   539
        ps("AlgorithmParameters", "GCM",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   540
                "com.sun.crypto.provider.GCMParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   541
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   542
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   543
        ps("AlgorithmParameters", "RC2",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   544
                "com.sun.crypto.provider.RC2Parameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   545
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   546
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   547
        ps("AlgorithmParameters", "OAEP",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   548
                "com.sun.crypto.provider.OAEPParameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   549
                null, null);
50323
25d711fca885 8153029: ChaCha20 Cipher Implementation
jnimeh
parents: 50204
diff changeset
   550
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   551
        ps("AlgorithmParameters", "ChaCha20-Poly1305",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   552
                "com.sun.crypto.provider.ChaCha20Poly1305Parameters",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   553
                chachaPolyAliases, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   554
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   555
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   556
         * Key factories
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   557
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   558
        ps("KeyFactory", "DiffieHellman",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   559
                "com.sun.crypto.provider.DHKeyFactory",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   560
                diffieHellmanAliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   561
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   562
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   563
         * Secret-key factories
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   564
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   565
        ps("SecretKeyFactory", "DES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   566
                "com.sun.crypto.provider.DESKeyFactory",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   567
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   568
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   569
        ps("SecretKeyFactory", "DESede",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   570
                "com.sun.crypto.provider.DESedeKeyFactory",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   571
                desEdeAliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   572
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   573
        ps("SecretKeyFactory", "PBEWithMD5AndDES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   574
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithMD5AndDES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   575
                pkcs5MD5_DESAliases, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   576
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   577
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   578
         * Internal in-house crypto algorithm used for
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   579
         * 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
   580
         * 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
   581
         * algorithm.
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   582
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   583
        ps("SecretKeyFactory", "PBEWithMD5AndTripleDES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   584
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithMD5AndTripleDES",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   585
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   586
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   587
        ps("SecretKeyFactory", "PBEWithSHA1AndDESede",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   588
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndDESede",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   589
                pkcs12DESedeAliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   590
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   591
        ps("SecretKeyFactory", "PBEWithSHA1AndRC2_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   592
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndRC2_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   593
                pkcs12RC2_40Aliases, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   594
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   595
        ps("SecretKeyFactory", "PBEWithSHA1AndRC2_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   596
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndRC2_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   597
                pkcs12RC2_128Aliases, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   598
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   599
        ps("SecretKeyFactory", "PBEWithSHA1AndRC4_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   600
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndRC4_40",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   601
                pkcs12RC4_40Aliases,null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   602
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   603
        ps("SecretKeyFactory", "PBEWithSHA1AndRC4_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   604
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndRC4_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   605
                pkcs12RC4_128Aliases, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   606
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   607
        ps("SecretKeyFactory", "PBEWithHmacSHA1AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   608
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA1AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   609
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   610
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   611
        ps("SecretKeyFactory", "PBEWithHmacSHA224AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   612
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA224AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   613
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   614
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   615
        ps("SecretKeyFactory", "PBEWithHmacSHA256AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   616
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA256AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   617
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   618
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   619
        ps("SecretKeyFactory", "PBEWithHmacSHA384AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   620
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA384AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   621
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   622
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   623
        ps("SecretKeyFactory", "PBEWithHmacSHA512AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   624
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA512AndAES_128",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   625
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   626
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   627
        ps("SecretKeyFactory", "PBEWithHmacSHA1AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   628
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA1AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   629
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   630
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   631
        ps("SecretKeyFactory", "PBEWithHmacSHA224AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   632
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA224AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   633
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   634
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   635
        ps("SecretKeyFactory", "PBEWithHmacSHA256AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   636
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA256AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   637
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   638
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   639
        ps("SecretKeyFactory", "PBEWithHmacSHA384AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   640
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA384AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   641
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   642
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   643
        ps("SecretKeyFactory", "PBEWithHmacSHA512AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   644
                "com.sun.crypto.provider.PBEKeyFactory$PBEWithHmacSHA512AndAES_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   645
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   646
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   647
        // PBKDF2
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   648
        ps("SecretKeyFactory", "PBKDF2WithHmacSHA1",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   649
                "com.sun.crypto.provider.PBKDF2Core$HmacSHA1",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   650
                pkcs5PBKDF2Aliases, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   651
        ps("SecretKeyFactory", "PBKDF2WithHmacSHA224",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   652
                "com.sun.crypto.provider.PBKDF2Core$HmacSHA224",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   653
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   654
        ps("SecretKeyFactory", "PBKDF2WithHmacSHA256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   655
                "com.sun.crypto.provider.PBKDF2Core$HmacSHA256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   656
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   657
        ps("SecretKeyFactory", "PBKDF2WithHmacSHA384",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   658
                "com.sun.crypto.provider.PBKDF2Core$HmacSHA384",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   659
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   660
        ps("SecretKeyFactory", "PBKDF2WithHmacSHA512",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   661
                "com.sun.crypto.provider.PBKDF2Core$HmacSHA512",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   662
                null, null);
14405
e7fff80005c1 6383200: PBE: need new algorithm support in password based encryption
vinnie
parents: 13672
diff changeset
   663
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   664
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   665
         * MAC
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   666
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   667
        attrs.clear();
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   668
        attrs.put("SupportedKeyFormats", "RAW");
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   669
        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
   670
        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
   671
                macSHA1Aliases, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   672
        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
   673
                macSHA224Aliases, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   674
        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
   675
                macSHA256Aliases, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   676
        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
   677
                macSHA384Aliases, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   678
        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
   679
                macSHA512Aliases, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   680
        // TODO: aliases with OIDs
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   681
        ps("Mac", "HmacSHA512/224",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   682
                "com.sun.crypto.provider.HmacCore$HmacSHA512_224",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   683
                null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   684
        ps("Mac", "HmacSHA512/256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   685
                "com.sun.crypto.provider.HmacCore$HmacSHA512_256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   686
                null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   687
        ps("Mac", "HmacPBESHA1", "com.sun.crypto.provider.HmacPKCS12PBESHA1",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   688
                null, attrs);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   689
        // PBMAC1
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   690
        ps("Mac", "PBEWithHmacSHA1",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   691
                "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
   692
        ps("Mac", "PBEWithHmacSHA224",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   693
                "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
   694
        ps("Mac", "PBEWithHmacSHA256",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   695
                "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
   696
        ps("Mac", "PBEWithHmacSHA384",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   697
                "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
   698
        ps("Mac", "PBEWithHmacSHA512",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   699
                "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
   700
        ps("Mac", "SslMacMD5",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   701
                "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
   702
        ps("Mac", "SslMacSHA1",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   703
                "com.sun.crypto.provider.SslMacCore$SslMacSHA1", null, attrs);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   704
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   705
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   706
         * KeyStore
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   707
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   708
        ps("KeyStore", "JCEKS",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   709
                "com.sun.crypto.provider.JceKeyStore",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   710
                null, null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   711
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   712
        /*
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   713
         * SSL/TLS mechanisms
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   714
         *
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   715
         * These are strictly internal implementations and may
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   716
         * 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
   717
         * 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
   718
         * 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
   719
         */
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   720
        ps("KeyGenerator", "SunTlsPrf",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   721
                "com.sun.crypto.provider.TlsPrfGenerator$V10",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   722
                null, null);
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   723
        ps("KeyGenerator", "SunTls12Prf",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   724
                "com.sun.crypto.provider.TlsPrfGenerator$V12",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   725
                null, null);
7043
5e2d1edeb2c7 6916074: Add support for TLS 1.2
xuelei
parents: 5506
diff changeset
   726
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   727
        ps("KeyGenerator", "SunTlsMasterSecret",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   728
                "com.sun.crypto.provider.TlsMasterSecretGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   729
                createAliases("SunTls12MasterSecret",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   730
                    "SunTlsExtendedMasterSecret"), null);
7043
5e2d1edeb2c7 6916074: Add support for TLS 1.2
xuelei
parents: 5506
diff changeset
   731
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   732
        ps("KeyGenerator", "SunTlsKeyMaterial",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   733
                "com.sun.crypto.provider.TlsKeyMaterialGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   734
                createAliases("SunTls12KeyMaterial"), null);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   735
52995
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   736
        ps("KeyGenerator", "SunTlsRsaPremasterSecret",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   737
                "com.sun.crypto.provider.TlsRsaPremasterSecretGenerator",
9af672cab7cb 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck
valeriep
parents: 51407
diff changeset
   738
                createAliases("SunTls12RsaPremasterSecret"), null);
16909
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
   739
    }
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
   740
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
   741
    // 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
   742
    static SunJCE getInstance() {
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
   743
        if (instance == null) {
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
   744
            return new SunJCE();
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
   745
        }
78a1749a43e2 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider
vinnie
parents: 15010
diff changeset
   746
        return instance;
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   747
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   748
}