Статус: Участник
Группы: Участники
Зарегистрирован: 16.03.2021(UTC) Сообщений: 18 Сказал(а) «Спасибо»: 9 раз
|
Автор: Евгений Афанасьев Автор: long76 Автор: Евгений Афанасьев Можете полный стек ошибки приложить? crypto.log (70kb) загружен 2 раз(а). 1. JCP у вас JCP 2.0.41789? 2. SSLContext создается в вашем коде? Можете показать код? 1. да 2. да Код:System.setProperty("com.sun.security.enableCRLDP", "true");
KeyStore ks;
try {
ks = KeyStore.getInstance("HDImageStore", "JCP");
} catch (KeyStoreException e) {
LOG.log(Level.SEVERE, "Ошибка чтения KeyStore с именем 'HDImageStore'", e);
throw new RuntimeException(e);
} catch (NoSuchProviderException e) {
LOG.log(Level.SEVERE, "Не установлен криптопровайдер JCP", e);
throw new RuntimeException(e);
}
try {
ks.load(null, null);
} catch (NoSuchAlgorithmException | CertificateException e) {
LOG.log(Level.SEVERE, "Ошибка загрузки KeyStore с именем 'HDImageStore'", e);
throw new RuntimeException(e);
}
KeyManagerFactory kmf;
try {
kmf = KeyManagerFactory.getInstance("GostX509", "JTLS");
} catch (NoSuchAlgorithmException e) {
LOG.log(Level.SEVERE, "Ошибка создания фабрики KeyManagerFactory 'GostX509'", e);
throw new RuntimeException(e);
} catch (NoSuchProviderException e) {
LOG.log(Level.SEVERE, "Не установлен криптопровайдер JTLS", e);
throw new RuntimeException(e);
}
try {
kmf.init(ks, "password".toCharArray());
} catch (KeyStoreException | NoSuchAlgorithmException | UnrecoverableKeyException e) {
LOG.log(Level.SEVERE, "Ошибка инициализации фабрики KeyManagerFactory 'GostX509'", e);
throw new RuntimeException(e);
}
KeyStore trustedKeyStore;
try {
trustedKeyStore = KeyStore.getInstance("JKS", "SUN");
trustedKeyStore.load(new FileInputStream(cacertsPath), cacertsPassword.toCharArray());
} catch (Exception e) {
LOG.log(Level.SEVERE, String.format("Ошибка загрузки cacerts. Путь %s, пароль %s", cacertsPath, cacertsPassword), e);
throw new RuntimeException(e);
}
TrustManagerFactory tmf;
try {
tmf = TrustManagerFactory.getInstance("GostX509", "JTLS");
tmf.init(trustedKeyStore);
} catch (Exception e) {
LOG.log(Level.SEVERE, "Ошибка инициализации TrustManager", e);
throw new RuntimeException(e);
}
SSLContext sslContext;
try {
sslContext = SSLContext.getInstance("GostTLSv1.2", "JTLS");
} catch (NoSuchAlgorithmException | NoSuchProviderException e) {
LOG.log(Level.SEVERE, "Окружение не поддерживает алгоритм шифрования GostTLSv1.2", e);
throw new RuntimeException(e);
}
SecureRandom secureRandom;
try {
secureRandom = SecureRandom.getInstance("CPRandom", "JCP");
} catch (NoSuchAlgorithmException | NoSuchProviderException e) {
LOG.log(Level.SEVERE, "Ошибка инициализации SecureRandom 'CPRandom'", e);
throw new RuntimeException(e);
}
sslContext.init(kmf.getKeyManagers(), tmf.getTrustManagers(), secureRandom);
|