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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline imgen  
#1 Оставлено : 27 мая 2021 г. 21:57:29(UTC)
imgen

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

Группы: Участники
Зарегистрирован: 13.05.2021(UTC)
Сообщений: 17

Добрый день!

Стоит задача добавлять в новый KeyStore программно сертификат ***.cer и набор ключей header.key masks2.key masks.key name.key primary2.key primary.key
Пробую таким кодом:

Код:


public static KeyStore addCert(String certPath /* путь до сертификата */, String keystoreName,
                                   String keystorePass,
                                   String keystorePath/* путь до папки с ключами */, String alias) throws Exception {
        final CertificateFactory cf = CertificateFactory.getInstance("X509");
        HDImageStore.setDir(keystorePath);
        final Certificate rootCert = cf.generateCertificate(
                new BufferedInputStream(new FileInputStream(certPath)));

        KeyStore ks = KeyStore.getInstance("HDImageStore");

        char[] KeyStorePass = null;
        if (!"null".equalsIgnoreCase(keystorePass)) {
            KeyStorePass = keystorePass.toCharArray();
        }

        ks.load(null,KeyStorePass);

        ks.setCertificateEntry(alias, rootCert);

        Logger.getLogger("LOGGER").info(
                "Recording of a Certificate named \"" + alias + "\" to " +
                        keystoreName + " is completed.");
        return ks;
    }



Приватные ключи не добавляются. Что я делаю не так?
Offline Евгений Афанасьев  
#2 Оставлено : 28 мая 2021 г. 11:37:56(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
Здравствуйте.
Автор: imgen Перейти к цитате
добавлять в новый KeyStore программно сертификат ***.cer

Это вы выполняете с помощью setCertificateEntry, указывая алиас контейнера alias (именно алиас, а не имя папки), куда нужно установить сертификат rootCert (сертификат должен соответствовать ключу в контейнере).
Автор: imgen Перейти к цитате
и набор ключей header.keymasks2.keymasks.keyname.keyprimary2.keyprimary.key

А набор уже должен быть в папке keystorePath в виде xxxxxxxx.000.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.