Статус: Участник
Группы: Участники
Зарегистрирован: 03.08.2015(UTC) Сообщений: 12
|
Добрый день.
С помощью метода java.security.cert.X509Certificate.getPublicKey() пытаюсь вытащить публичный ключ из сертификата нового ГОСТа 2012 256 "Тестовый головной УЦ ООО "КРИПТО-ПРО" ГОСТ 2012 (УЦ 2.0)". Получаю ошибку: algorithm identifier 1.2.643.7.1.1.1.1 in key not recognised
Подскажите, пожалуйста, каким образом можно получить публичный ключ стандартными методами java.security из нового ГОСТ 2012 256 сертификата?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Здравствуйте. JCP установлен? Приведите пример, как получаете ключ. Отредактировано пользователем 8 февраля 2019 г. 11:18:19(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 03.08.2015(UTC) Сообщений: 12
|
Автор: Евгений Афанасьев Здравствуйте. JCP установлен? Приведите пример, как получаете ключ. JCP версии 2.0 Через org.bouncycastle.cms.CMSSignedData.getSignerInfos().getSigners() получаю список подписантов. Преобразую в org.bouncycastle.cms.SignerInformation si DERSequence seq = (DERSequence)si.getUnsignedAttributes().get(PKCSObjectIdentifiers.id_aa_ets_certValues).getAttrValues().getObjectAt(0); Вытаскиваю нужный сертификат в цикле: X509CertificateStructure cs = X509CertificateStructure.getInstance(seq.getObjectAt(i)); X509Certificate c = new X509CertificateObject(cs); И далее хочу получить публичный ключ: c.getPublicKey() Получаю ошибку.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
X509Certificate - скорее всего, принадлежит BC, который может не знать про ГОСТ 2012, потому дает ошибку. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 03.08.2015(UTC) Сообщений: 12
|
Автор: Евгений Афанасьев X509Certificate - скорее всего, принадлежит BC, который может не знать про ГОСТ 2012, потому дает ошибку. Каким классом я тогда могу вытащить публичный ключ из сертификата подписанта?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Попробуйте его пересоздать с помощью X509Certificate newCert = CertificateFactory.getInstance("X.509").generateCertificate(new ByteArrayInputStream(c.getEncoded())); |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 03.08.2015(UTC) Сообщений: 12
|
Автор: Евгений Афанасьев Попробуйте его пересоздать с помощью X509Certificate newCert = CertificateFactory.getInstance("X.509").generateCertificate(new ByteArrayInputStream(c.getEncoded())); Появилась новая ошибка: 1.2.643.7.1.1.3.2 Signature not available
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 03.08.2015(UTC) Сообщений: 12
|
Автор: Евгений Афанасьев Где появилась? newCert.getPublicKey()
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
newCert - объект какого типа? И какого класса объект открытого ключа в нем (можно увидеть при отладке, раскрыв объект newCert)? Какая внутри реализация (не внешний X509Certificate или PublicKey). Где-то делается Signature s = Signature.getInstance("1.2.643.7.1.1.3.2", "BC"). JCP из последних с сайта (первая пара версий 2.0 не поддерживала ГОСТ 2012)? Отредактировано пользователем 8 февраля 2019 г. 14:29:10(UTC)
| Причина: Не указана |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close