logo
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Anton Efremenkov  
#1 Оставлено : 20 марта 2019 г. 17:46:22(UTC)
Anton Efremenkov

Статус: Новичок

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

Добрый день!
Делаю функционал, при котором пользователь может указать папку, скопировать контейнер, а после выбрать из хранилища добавленный сертификат и подписать им документ.
Необходимые корневые сертификаты (на которые ссылается на наш сертификат) устанавливаются прямо в систему, тоже пользователем.

Вопрос в том, как правильно построить всю цепочку сертификатов, зная только алиас сертификата в HDIMAGE?
Сейчас делается так (Kotlin):

Код:

// получаем закрытый ключ по алиасу
val privateKey = keystore.getKey(alias, null) as PrivateKey

// находим сертификат по алиасу (getCertificateChain возвращает тоже 1 результат)
val certificate = keystore.getCertificate(alias) as X509Certificate
// добавляем в цепочку
val chain = ArrayList<X509Certificate>()
chain.add(certificate)

// создаем подпись
val signature = CAdESSignature(true, true)
val certStore = CollectionStore(getChainHolder(chain))
signature.certificateStore = certStore

// добавляем подписанта
signature.addSigner(JCSP.PROVIDER_NAME, digestAlgOid, keyAlgOid, privateKey, chain, CAdESType.CAdES_BES, null, false)

// дальше сохранение подписи ...
Offline Евгений Афанасьев  
#2 Оставлено : 28 марта 2019 г. 15:10:32(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 13 раз
Поблагодарили: 385 раз в 380 постах
Здравствуйте.
Вы хотите самостоятельно построить цепочку или используете CAdES? В примере у вас второе, а вопрос про цепочку.
Если построить, то нужно использовать пример про построение, он не связан с CAdES. Если второе, то CAdES сам построит цепочку, если найдет нужные сертификаты: сертификат подписи и промежуточные над передать в addSigner, а корневой должен быть, например, в доверенных устройства (Настройки->Безопасность->Сертификаты).
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.