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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Андрей Владимирович Вуколов  
#1 Оставлено : 15 ноября 2023 г. 18:17:44(UTC)
Андрей Владимирович Вуколов

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

Группы: Участники
Зарегистрирован: 15.11.2023(UTC)
Сообщений: 6
Откуда: Saint-Petersburg

Сказал(а) «Спасибо»: 1 раз
Добрый день! входные данные:
Java 17
Java jcp 5.0.40363-A
Кейстор создавался путем экспорта закрытого ключа сертификата пользователя из КриптоПро CSP в PKCS12 (.PFX)

В коде приложения, пробую получить приватный ключ из pfx файла:

System.setProperty("file.encoding", "UTF-8");
Security.addProvider(new JCSP());
KeyStore ks = KeyStore.getInstance(new File("C:/skl.pfx"), "1234567890".toCharArray());
PrivateKey privateKey = (PrivateKey) ks.getKey("07740097-cc86-422a-b1e8-3371a7e8608c","".toCharArray());

и получаю ошибку java.security.UnrecoverableKeyException: Get Key failed: Cannot find any provider supporting 1.2.840.113549.1.12.1.80

Читал, что Евгений Аванасьев, писал : Java провайдер не поддерживает работу с pfx. Необходимо с помощью крипто-про csp привести его к поддерживаемому типу, например, с помощью утилиты p12tocp
пробовал открыть тот же pfx через p12util.x64.exe -p12tocp -rdrfolder c:\ -contname skl -ex -passcp 1234567890 -passp12 1234567890 -infile c:\skl.pfx

выходит ошибка Ошибка при открытии ключевого контейнера PKCS#12

как можно преобразовать данный контейнер чтобы с ним работать?
или может упустил какую-то настройку?


Спасибо
Offline Евгений Афанасьев  
#2 Оставлено : 15 ноября 2023 г. 22:03:55(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Здравствуйте.
Тут
Цитата:

KeyStore.getInstance(new File("C:/skl.pfx"), "1234567890".toCharArray());

что-то странное. Наверно, вы имели в виду
Код:

keyStore = KeyStore.getInstance("PFXSTORE", "JCSP");
keyStore.load(new File("C:/skl.pfx"), "1234567890".toCharArray());

По идее, если ключ экспортирован вместе с сертификатом в PFX с помощью CSP 5.0 R2, то все должно работать.
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
Андрей Владимирович Вуколов оставлено 16.11.2023(UTC)
Offline Андрей Владимирович Вуколов  
#3 Оставлено : 16 ноября 2023 г. 14:41:59(UTC)
Андрей Владимирович Вуколов

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

Группы: Участники
Зарегистрирован: 15.11.2023(UTC)
Сообщений: 6
Откуда: Saint-Petersburg

Сказал(а) «Спасибо»: 1 раз
Спасибо!
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.