Я пытаюсь включить режим FIPS, используя SUNPKCS11 с NSS в Java 11. Я получил это исключение java.security.NoSuchAlgorithmException: PKCS11 KeyStore недоступен.
Когда я пыталсявключить FIPS в Java 8 , он работает нормально, но делает то же самое в Java 11 выдает исключение.
Инициализация SUNPKCS11 изменена с Java 8 на Java 11.
В Java 8:
Provider provider = Security.getProvider("SunPKCS11");
provider.configure(nssConfigFile);
Java 11:
Provider provider = new sun.security.pkcs11.SunPKCS11(nssConfigFile);
Security.addProvider(nssProvider);
После инициализации SUNPKCS11 с помощью файла конфигурации я пытаюсь получить поставщика из хранилища ключейкак показано ниже.
Еще одна вещь, когда я инициализировал SUNPKCS11, он Provider.id.info имеет значение Ненастроенный и непригодный провайдер PKCS11 , Есть ли у этого что-то делатьс?
KeyStore.getInstance("SUNPKCS11");
Тогда у меня не было PKCS11 в хранилище ключей.
Содержимое моего файла конфигурации выглядит следующим образом:
name=nss-client
nssLibraryDirectory=X:\XXX\NSS\lib\
nssSecmodDirectory=X:\XXX\NSS\db\
nssModule=fips
Нужно ли мнеизменить что-либо в содержимом файла конфигурации или это ошибка в Java 11?
Пожалуйста, помогите мне с ценными предложениями.