Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Nitratius  
#1 Оставлено : 6 июня 2025 г. 16:02:02(UTC)
Nitratius

Статус: Участник

Группы: Участники
Зарегистрирован: 28.02.2025(UTC)
Сообщений: 10
Российская Федерация

Добрый день!
Я получаю контейнер из vault в Java таким образом

Код:
public JCPPrivateKeyEntry getEntry() throws UnrecoverableEntryException, NoSuchAlgorithmException, KeyStoreException {
    ContainerCryptoPro container;

    container = containerRepository.findById(сontainerUuid).orElseThrow(
                () -> new EntityNotFoundException("Not found CryptoPro container: " + spbContainerUuid));

    //Временный логер для тестирования
    log.info("Load container {}, {}, {}", container.getAlias(), container.getContainerName(), container.getUuid());
    
    return (JCPPrivateKeyEntry) (Object) keyStore.getEntry(
            container.getAlias(),
            new KeyStore.PasswordProtection(container.getPassword().toCharArray()));
}


Сертификат успешно получаю, вижу благодаря временному логеру. Потом перекладываю в другой KeyStore. При проверке возникает Warn "%% No alias is match". Он не находит сертификат в KeyStore?

Код:
Security.addProvider(new JCP());
Security.addProvider(new CryptoProvider()); // JCryptoP
Security.addProvider(new Provider()); // JTLS

JCPPrivateKeyEntry entry = certificateService.getEntry();
KeyStore keyStore = KeyStore.getInstance("HDImageStore");
keyStore.load(null, null);
keyStore.setKeyEntry("alias", entry.getPrivateKey(), new char[0], entry.getCertificateChain());

//создаем фабрику ключей
KeyManagerFactory clientKeyFactory = KeyManagerFactory.getInstance("GostX509", "JTLS");
clientKeyFactory.init(keyStore, null);

// определяем SSL-контекст для работы с GOST TLS
SSLContext sslContext = SSLContext.getInstance("TLSv1.2", "JTLS");
sslContext.init(clientKeyFactory.getKeyManagers(), new TrustManager[]{trustManager}, null);

Отредактировано пользователем 6 июня 2025 г. 16:05:36(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 6 июня 2025 г. 20:25:18(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,026
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 726 раз в 684 постах
Добрый день.
Нет, это значит, сертификат не подходит по каким-то критериям.
Offline Nitratius  
#3 Оставлено : 7 июня 2025 г. 17:24:14(UTC)
Nitratius

Статус: Участник

Группы: Участники
Зарегистрирован: 28.02.2025(UTC)
Сообщений: 10
Российская Федерация

В итоге сертификат не используется? Эти проверки можно как-то отключить? Или проблема обязательно в сертификате? Закрытый контейнер у меня это 6 файлов с расширением .key. Сертификат действителен.
Offline Nitratius  
#4 Оставлено : 7 июня 2025 г. 21:34:28(UTC)
Nitratius

Статус: Участник

Группы: Участники
Зарегистрирован: 28.02.2025(UTC)
Сообщений: 10
Российская Федерация

Как оказалось KeyStore как-то оказались все контейнеры из vault. В новый KeyStore положил нужные мне PrivateKey и Certificate, но будто переложил весь KeyStore. keyStore.deleteEntry("Тут лишний alias") не помогает. Не понятно как использовать нужный мне сертификат.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.