|
1 | 1 | /*
|
2 | 2 | * ===========================================================================
|
3 |
| - * (c) Copyright IBM Corp. 2022, 2023 All Rights Reserved |
| 3 | + * (c) Copyright IBM Corp. 2022, 2024 All Rights Reserved |
4 | 4 | * ===========================================================================
|
5 | 5 | *
|
6 | 6 | * This code is free software; you can redistribute it and/or modify it
|
@@ -670,6 +670,19 @@ private void initProviders() {
|
670 | 670 | // Provider with argument (provider name + optional argument).
|
671 | 671 | providers.add(pNum - 1, providerName);
|
672 | 672 |
|
| 673 | + // Remove the provider's optional arguments if present. |
| 674 | + pos = providerName.indexOf(' '); |
| 675 | + if (pos >= 0) { |
| 676 | + providerName = providerName.substring(0, pos); |
| 677 | + } |
| 678 | + providerName = providerName.trim(); |
| 679 | + |
| 680 | + // Remove argument, e.g. -NSS-FIPS, if present. |
| 681 | + pos = providerName.indexOf('-'); |
| 682 | + if (pos >= 0) { |
| 683 | + providerName = providerName.substring(0, pos); |
| 684 | + } |
| 685 | + |
673 | 686 | // Provider name defined in provider construction method.
|
674 | 687 | providerName = getProvidersSimpleName(providerName);
|
675 | 688 | providersSimpleName.add(pNum - 1, providerName);
|
@@ -935,6 +948,13 @@ boolean isRestrictedProviderAllowed(String providerName) {
|
935 | 948 | debug.println("Checking the provider " + providerName + " in restricted security mode.");
|
936 | 949 | }
|
937 | 950 |
|
| 951 | + // Remove argument, e.g. -NSS-FIPS, if present. |
| 952 | + int pos = providerName.indexOf('-'); |
| 953 | + if (pos >= 0) { |
| 954 | + providerName = providerName.substring(0, pos); |
| 955 | + } |
| 956 | + |
| 957 | + // Provider name defined in provider construction method. |
938 | 958 | providerName = getProvidersSimpleName(providerName);
|
939 | 959 |
|
940 | 960 | // Check if the provider is in restricted security provider list.
|
@@ -963,30 +983,27 @@ boolean isRestrictedProviderAllowed(String providerName) {
|
963 | 983 | /**
|
964 | 984 | * Get the provider name defined in provider construction method.
|
965 | 985 | *
|
966 |
| - * @param providerName provider name or provider with packages or arguments |
| 986 | + * @param providerName provider name or provider with packages |
967 | 987 | * @return provider name defined in provider construction method
|
968 | 988 | */
|
969 | 989 | private static String getProvidersSimpleName(String providerName) {
|
970 |
| - // Remove the provider's optional arguments if present. |
971 |
| - int pos = providerName.indexOf(' '); |
972 |
| - providerName = (pos < 0) ? providerName.trim() : providerName.substring(0, pos).trim(); |
973 |
| - |
974 |
| - // Remove argument, e.g. -NSS-FIPS, if present. |
975 |
| - pos = providerName.indexOf('-'); |
976 |
| - providerName = (pos < 0) ? providerName : providerName.substring(0, pos); |
977 |
| - |
978 | 990 | if (providerName.equals("com.sun.net.ssl.internal.ssl.Provider")) {
|
979 | 991 | // In JDK 8, the main class for the SunJSSE provider is
|
980 | 992 | // com.sun.net.ssl.internal.ssl.Provider
|
981 | 993 | return "SunJSSE";
|
982 | 994 | } else if (providerName.equals("sun.security.provider.Sun")) {
|
983 | 995 | // In JDK 8, the main class for the SUN provider is sun.security.provider.Sun
|
984 | 996 | return "SUN";
|
| 997 | + } else if (providerName.equals("com.sun.security.sasl.Provider")) { |
| 998 | + // The main class for the SunSASL provider is com.sun.security.sasl.Provider. |
| 999 | + return "SunSASL"; |
985 | 1000 | } else {
|
986 | 1001 | // Remove the provider's class package names if present.
|
987 |
| - pos = providerName.lastIndexOf('.'); |
988 |
| - providerName = (pos < 0) ? providerName : providerName.substring(pos + 1); |
989 |
| - // Provider without arguments and package names. |
| 1002 | + int pos = providerName.lastIndexOf('.'); |
| 1003 | + if (pos >= 0) { |
| 1004 | + providerName = providerName.substring(pos + 1); |
| 1005 | + } |
| 1006 | + // Provider without package names. |
990 | 1007 | return providerName;
|
991 | 1008 | }
|
992 | 1009 | }
|
|
0 commit comments