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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline fenw  
#1 Оставлено : 7 апреля 2021 г. 8:20:56(UTC)
fenw

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

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

Сказал(а) «Спасибо»: 5 раз
Добрый день!
Запускаю на последней версии sdk пример для подписи, он работает, но просит ввода пароля.
Можно как-то включить silent режим?

Код:

            val keyStore = KeyStore.getInstance(JCSP.HD_STORE_NAME, JCSP.PROVIDER_NAME)
            keyStore.load(null, null)
            val cert = keyStore.getCertificate(alias) as X509Certificate
            val privateKey = keyStore.getKey(alias, "1".toCharArray()) as PrivateKey
            if (cert != null && privateKey != null) {


                val DATA = "test".toByteArray()

                var signature = Signature.getInstance(
                        JCP.GOST_SIGN_2012_256_NAME, JCSP.PROVIDER_NAME)

                signature.initSign(privateKey)

                signature.update(DATA)
                val sign = signature.sign()

                signature = Signature.getInstance(
                        JCP.GOST_SIGN_2012_256_NAME, JCSP.PROVIDER_NAME)


                signature.initVerify(cert.getPublicKey())

                signature.update(DATA)
                val verified = signature.verify(sign)
            }
Offline neigel  
#2 Оставлено : 7 апреля 2021 г. 15:13:17(UTC)
neigel

Статус: Активный участник

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

Сказал(а) «Спасибо»: 5 раз
Поблагодарили: 2 раз в 2 постах
Автор: fenw Перейти к цитате
Добрый день!
Запускаю на последней версии sdk пример для подписи, он работает, но просит ввода пароля.
Можно как-то включить silent режим?

Код:

            val keyStore = KeyStore.getInstance(JCSP.HD_STORE_NAME, JCSP.PROVIDER_NAME)
            keyStore.load(null, null)
            val cert = keyStore.getCertificate(alias) as X509Certificate
            val privateKey = keyStore.getKey(alias, "1".toCharArray()) as PrivateKey
            if (cert != null && privateKey != null) {


                val DATA = "test".toByteArray()

                var signature = Signature.getInstance(
                        JCP.GOST_SIGN_2012_256_NAME, JCSP.PROVIDER_NAME)

                signature.initSign(privateKey)

                signature.update(DATA)
                val sign = signature.sign()

                signature = Signature.getInstance(
                        JCP.GOST_SIGN_2012_256_NAME, JCSP.PROVIDER_NAME)


                signature.initVerify(cert.getPublicKey())

                signature.update(DATA)
                val verified = signature.verify(sign)
            }


А как он будет тогда подписывать, если для доступа к ключу нужен пароль?
Offline fenw  
#3 Оставлено : 7 апреля 2021 г. 15:17:30(UTC)
fenw

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

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

Сказал(а) «Спасибо»: 5 раз
Я передаю пароль
Код:

keyStore.getKey(alias, "1".toCharArray())

Есть же флаг SILENT, его можно как-то использовать?
Offline Евгений Афанасьев  
#4 Оставлено : 7 апреля 2021 г. 18:11:12(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
Здравствуйте. Используйте getEntry вместо getKey, в примере SignData есть код для получения ключа и сертификата с помощью keystore.getEntry сразу с передачей пароля.
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
fenw оставлено 08.04.2021(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.