1 /* |
1 /* |
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. Oracle designates this |
7 * published by the Free Software Foundation. Oracle designates this |
55 * - RC2 |
55 * - RC2 |
56 * |
56 * |
57 * - ARCFOUR (RC4 compatible) |
57 * - ARCFOUR (RC4 compatible) |
58 * |
58 * |
59 * - Cipher modes ECB, CBC, CFB, OFB, PCBC, CTR, and CTS for all block ciphers |
59 * - Cipher modes ECB, CBC, CFB, OFB, PCBC, CTR, and CTS for all block ciphers |
|
60 * and mode GCM for AES cipher |
60 * |
61 * |
61 * - Cipher padding ISO10126Padding for non-PKCS#5 block ciphers and |
62 * - Cipher padding ISO10126Padding for non-PKCS#5 block ciphers and |
62 * NoPadding and PKCS5Padding for all block ciphers |
63 * NoPadding and PKCS5Padding for all block ciphers |
63 * |
64 * |
64 * - Password-based Encryption (PBE) |
65 * - Password-based Encryption (PBE) |
98 |
99 |
99 final String BLOCK_MODES = "ECB|CBC|PCBC|CTR|CTS|CFB|OFB" + |
100 final String BLOCK_MODES = "ECB|CBC|PCBC|CTR|CTS|CFB|OFB" + |
100 "|CFB8|CFB16|CFB24|CFB32|CFB40|CFB48|CFB56|CFB64" + |
101 "|CFB8|CFB16|CFB24|CFB32|CFB40|CFB48|CFB56|CFB64" + |
101 "|OFB8|OFB16|OFB24|OFB32|OFB40|OFB48|OFB56|OFB64"; |
102 "|OFB8|OFB16|OFB24|OFB32|OFB40|OFB48|OFB56|OFB64"; |
102 final String BLOCK_MODES128 = BLOCK_MODES + |
103 final String BLOCK_MODES128 = BLOCK_MODES + |
103 "|CFB72|CFB80|CFB88|CFB96|CFB104|CFB112|CFB120|CFB128" + |
104 "|GCM|CFB72|CFB80|CFB88|CFB96|CFB104|CFB112|CFB120|CFB128" + |
104 "|OFB72|OFB80|OFB88|OFB96|OFB104|OFB112|OFB120|OFB128"; |
105 "|OFB72|OFB80|OFB88|OFB96|OFB104|OFB112|OFB120|OFB128"; |
105 final String BLOCK_PADS = "NOPADDING|PKCS5PADDING|ISO10126PADDING"; |
106 final String BLOCK_PADS = "NOPADDING|PKCS5PADDING|ISO10126PADDING"; |
106 |
107 |
107 AccessController.doPrivileged( |
108 AccessController.doPrivileged( |
108 new java.security.PrivilegedAction<Object>() { |
109 new java.security.PrivilegedAction<Object>() { |
256 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.3", "AES_128/OFB/NoPadding"); |
257 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.3", "AES_128/OFB/NoPadding"); |
257 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.3", "AES_128/OFB/NoPadding"); |
258 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.3", "AES_128/OFB/NoPadding"); |
258 put("Cipher.AES_128/CFB/NoPadding", "com.sun.crypto.provider.AESCipher$AES128_CFB_NoPadding"); |
259 put("Cipher.AES_128/CFB/NoPadding", "com.sun.crypto.provider.AESCipher$AES128_CFB_NoPadding"); |
259 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.4", "AES_128/CFB/NoPadding"); |
260 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.4", "AES_128/CFB/NoPadding"); |
260 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.4", "AES_128/CFB/NoPadding"); |
261 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.4", "AES_128/CFB/NoPadding"); |
|
262 put("Cipher.AES_128/GCM/NoPadding", "com.sun.crypto.provider.AESCipher$AES128_GCM_NoPadding"); |
|
263 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.6", "AES_128/GCM/NoPadding"); |
|
264 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.6", "AES_128/GCM/NoPadding"); |
261 |
265 |
262 put("Cipher.AES_192/ECB/NoPadding", "com.sun.crypto.provider.AESCipher$AES192_ECB_NoPadding"); |
266 put("Cipher.AES_192/ECB/NoPadding", "com.sun.crypto.provider.AESCipher$AES192_ECB_NoPadding"); |
263 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.21", "AES_192/ECB/NoPadding"); |
267 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.21", "AES_192/ECB/NoPadding"); |
264 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.21", "AES_192/ECB/NoPadding"); |
268 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.21", "AES_192/ECB/NoPadding"); |
265 put("Cipher.AES_192/CBC/NoPadding", "com.sun.crypto.provider.AESCipher$AES192_CBC_NoPadding"); |
269 put("Cipher.AES_192/CBC/NoPadding", "com.sun.crypto.provider.AESCipher$AES192_CBC_NoPadding"); |
269 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.23", "AES_192/OFB/NoPadding"); |
273 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.23", "AES_192/OFB/NoPadding"); |
270 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.23", "AES_192/OFB/NoPadding"); |
274 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.23", "AES_192/OFB/NoPadding"); |
271 put("Cipher.AES_192/CFB/NoPadding", "com.sun.crypto.provider.AESCipher$AES192_CFB_NoPadding"); |
275 put("Cipher.AES_192/CFB/NoPadding", "com.sun.crypto.provider.AESCipher$AES192_CFB_NoPadding"); |
272 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.24", "AES_192/CFB/NoPadding"); |
276 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.24", "AES_192/CFB/NoPadding"); |
273 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.24", "AES_192/CFB/NoPadding"); |
277 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.24", "AES_192/CFB/NoPadding"); |
274 |
278 put("Cipher.AES_192/GCM/NoPadding", "com.sun.crypto.provider.AESCipher$AES192_GCM_NoPadding"); |
|
279 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.26", "AES_192/GCM/NoPadding"); |
|
280 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.26", "AES_192/GCM/NoPadding"); |
275 |
281 |
276 put("Cipher.AES_256/ECB/NoPadding", "com.sun.crypto.provider.AESCipher$AES256_ECB_NoPadding"); |
282 put("Cipher.AES_256/ECB/NoPadding", "com.sun.crypto.provider.AESCipher$AES256_ECB_NoPadding"); |
277 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.41", "AES_256/ECB/NoPadding"); |
283 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.41", "AES_256/ECB/NoPadding"); |
278 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.41", "AES_256/ECB/NoPadding"); |
284 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.41", "AES_256/ECB/NoPadding"); |
279 put("Cipher.AES_256/CBC/NoPadding", "com.sun.crypto.provider.AESCipher$AES256_CBC_NoPadding"); |
285 put("Cipher.AES_256/CBC/NoPadding", "com.sun.crypto.provider.AESCipher$AES256_CBC_NoPadding"); |
283 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.43", "AES_256/OFB/NoPadding"); |
289 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.43", "AES_256/OFB/NoPadding"); |
284 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.43", "AES_256/OFB/NoPadding"); |
290 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.43", "AES_256/OFB/NoPadding"); |
285 put("Cipher.AES_256/CFB/NoPadding", "com.sun.crypto.provider.AESCipher$AES256_CFB_NoPadding"); |
291 put("Cipher.AES_256/CFB/NoPadding", "com.sun.crypto.provider.AESCipher$AES256_CFB_NoPadding"); |
286 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.44", "AES_256/CFB/NoPadding"); |
292 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.44", "AES_256/CFB/NoPadding"); |
287 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.44", "AES_256/CFB/NoPadding"); |
293 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.44", "AES_256/CFB/NoPadding"); |
|
294 put("Cipher.AES_256/GCM/NoPadding", "com.sun.crypto.provider.AESCipher$AES256_GCM_NoPadding"); |
|
295 put("Alg.Alias.Cipher.2.16.840.1.101.3.4.1.46", "AES_256/GCM/NoPadding"); |
|
296 put("Alg.Alias.Cipher.OID.2.16.840.1.101.3.4.1.46", "AES_256/GCM/NoPadding"); |
288 |
297 |
289 put("Cipher.AESWrap", "com.sun.crypto.provider.AESWrapCipher$General"); |
298 put("Cipher.AESWrap", "com.sun.crypto.provider.AESWrapCipher$General"); |
290 put("Cipher.AESWrap SupportedModes", "ECB"); |
299 put("Cipher.AESWrap SupportedModes", "ECB"); |
291 put("Cipher.AESWrap SupportedPaddings", "NOPADDING"); |
300 put("Cipher.AESWrap SupportedPaddings", "NOPADDING"); |
292 put("Cipher.AESWrap SupportedKeyFormats", "RAW"); |
301 put("Cipher.AESWrap SupportedKeyFormats", "RAW"); |
507 "com.sun.crypto.provider.BlowfishParameters"); |
516 "com.sun.crypto.provider.BlowfishParameters"); |
508 |
517 |
509 put("AlgorithmParameters.AES", |
518 put("AlgorithmParameters.AES", |
510 "com.sun.crypto.provider.AESParameters"); |
519 "com.sun.crypto.provider.AESParameters"); |
511 put("Alg.Alias.AlgorithmParameters.Rijndael", "AES"); |
520 put("Alg.Alias.AlgorithmParameters.Rijndael", "AES"); |
|
521 put("AlgorithmParameters.GCM", |
|
522 "com.sun.crypto.provider.GCMParameters"); |
512 |
523 |
513 |
524 |
514 put("AlgorithmParameters.RC2", |
525 put("AlgorithmParameters.RC2", |
515 "com.sun.crypto.provider.RC2Parameters"); |
526 "com.sun.crypto.provider.RC2Parameters"); |
516 |
527 |