У меня есть файл .cer, предоставленный какой-либо другой стороной. Мне нужно создать учетные данные saml с этим .cer-файлом.доверенные записи сертификатов не защищены паролем java
Для этого я импортировал файл .cer в файл jks, используя следующую команду. (Пароль такой же, как и пароль. Он запросил приглашение принять сертификат.Я дал y, тогда он сказал, что сертификат добавлен в хранилище ключей)
keytool -importcert -file xyz.cer -keystore test.jks -alias "testsp"
Затем я использовал этот файл jks для создания учетных данных, как показано ниже.
private Credential getCredential() {
KeyStore keystore = readKeystoreFromFile("C:\\Users\\WTC\\Downloads\\icicistage\\test.jks", "password");
Map<String, String> passwordMap = new HashMap<String, String>();
passwordMap.put("testsp", "password");
KeyStoreCredentialResolver resolver = new KeyStoreCredentialResolver(keystore, passwordMap);
Criteria criteria = new EntityIDCriteria("testsp");
CriteriaSet criteriaSet = new CriteriaSet(criteria);
Credential credential = null;
try {
credential = resolver.resolveSingle(criteriaSet);
} catch (SecurityException e) {
e.printStackTrace();
}
return credential;
}
private static KeyStore readKeystoreFromFile(String pathToKeyStore, String keyStorePassword) {
try {
KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
InputStream inputStream = new FileInputStream(pathToKeyStore);
keystore.load(inputStream, keyStorePassword.toCharArray());
inputStream.close();
return keystore;
} catch (Exception e) {
throw new RuntimeException("Something went wrong reading keystore", e);
}
}
Следующая строка дает мне следующую ошибку в блоке try.
credential = resolver.resolveSingle (критерииSet);
java.lang.UnsupportedOperationException: доверенный сертификат записи не защищен паролем
Может кто-нибудь, пожалуйста, руководство меня, чтобы решить эту проблему?