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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline MaximZ  
#1 Оставлено : 16 июня 2016 г. 12:17:29(UTC)
MaximZ

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

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 2 раз в 2 постах
Добрый день.
Отправляю SOAP запрос на выпуск сертификата в тестовый УЦ крипто ПРО 1.5 https://cryptopro.ru:5555/ra/ra.asp
Код:

String reqCertId = serviceRequest.submitFirstCertRequest(userId, pkcs, new BooleanHolder(), new StringHolder(""));
System.out.println("First Req Cert Id :" + reqCertId);

Перед этим проставляю свойства
Код:

System.setProperty("com.sun.security.enableCRLDP", "true");
System.setProperty("com.ibm.security.enableCRLDP", "true");
System.setProperty("javax.net.ssl.supportGVO","true");
System.setProperty("javax.net.ssl.requireClientAuth", "true");
System.setProperty("javax.net.ssl.trustStoreType", JCP.CERT_STORE_NAME);
System.setProperty("javax.net.ssl.trustStore", "M:\\cryptopro\\client.store");
System.setProperty("javax.net.ssl.trustStorePassword", "Qwer1234");
System.setProperty("javax.net.ssl.keyStoreType", JCP.HD_STORE_NAME);
System.setProperty("javax.net.ssl.keyStorePassword", "1");

В HDImageStore лежит сертификат оператора УЦ, полученный через ТП Крипто ПРО.
Получаю ошибку
Код:
Эта операция не может быть выполнена на этом сертификате. : ALL
Код -2147220991

Нужен сертификат администратора?
Offline Kirill Sobolev  
#2 Оставлено : 16 июня 2016 г. 14:33:34(UTC)
Кирилл Соболев

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

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,732
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Здравствуйте.
На тестовом УЦ запрещен выпуск сертификатов без расширения "Улучшенный ключ".
В запрос нужно добавить это расширение с каким-нибудь допустимым значением, например "Защищенная электронная почта".
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Кирилл Соболев за этот пост.
MaximZ оставлено 16.06.2016(UTC)
Offline MaximZ  
#3 Оставлено : 16 июня 2016 г. 15:56:34(UTC)
MaximZ

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

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 2 раз в 2 постах
Спасибо, продвинулся дальше, теперь запрос появился в УЦ со статусом "Обработка", я так понимаю, что далее мне нужно вызвать метод CertRequestSoapPort.AcceptFirstRequest.
Этот метод принимает на вход requestID и request в формате PKCS7.
C requestID всё понятно, а где теперь взять request PKCS7?
Offline Kirill Sobolev  
#4 Оставлено : 16 июня 2016 г. 16:06:24(UTC)
Кирилл Соболев

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

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,732
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Нужно подписать pkcs из предыдущего вызова.
В подписи обязательно должен присутствовать сертификат.
Техническую поддержку оказываем тут
Наша база знаний
Offline MaximZ  
#5 Оставлено : 16 июня 2016 г. 16:14:33(UTC)
MaximZ

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

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 2 раз в 2 постах
Я получаю pkcs10 на клиенте, через Browser plugin, используя интерфейс CertEnroll.
Могу ли я подписать pkcs10 не на клиенте, используя сертификат оператора УЦ? Ведь по идее это запрос на первый сертификат, следовательно у клиента еще подписывать нечем.
Если да, то правильно ли я понимаю, что JCP такую возможность предоставляет?
Offline Kirill Sobolev  
#6 Оставлено : 16 июня 2016 г. 16:46:43(UTC)
Кирилл Соболев

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

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,732
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Да, конечно. pkcs10 подписывается тем же сертификатом, на котором происходит вызов AcceptRequest.
Техническую поддержку оказываем тут
Наша база знаний
Offline MaximZ  
#7 Оставлено : 17 июня 2016 г. 13:28:08(UTC)
MaximZ

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

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 2 раз в 2 постах
Пытаюсь подписать pkcs10 сертификатом оператора УЦ, код беру из примеров CMS_samples CMS.java
Создаю detached подпись. (Метод CMSSign идентичен методу из CMS.java, только алиас и пароль на хранилище свои подставляю)
pkcs10 это строка в Base64
Код:

final byte[] signedPKCS = CMSSign( Base64.decodeBase64(pkcs10), privateKey, x509Certificate, true);


Далее кодирую её в Base64 и передаю в метод
Код:

serviceRequest.acceptFirstRequest(requestId, Base64.encodeBase64String(signedPKCS));


Получаю ответ от УЦ:
Код:

Неправильная подпись.
Код: -2146893818


Пробовал проверить подпись на этом сервисе https://dss.cryptopro.ru/Verify/Verify/
Похожий ответ, хотя пишет, что подпись действительна?
Код:


Подпись 1
Результат проверки

Подпись действительна
Дополнительная информация

Не удалось проверкить подпись формата CMS. Ошибка: [Неправильная подпись]. Код: [0x80090006].
Информация о сертификате
Субъект

CN=Zolotov Maxim, C=RU
Издатель

CN="Тестовый УЦ ООО ""КРИПТО-ПРО""", O="ООО ""КРИПТО-ПРО""", C=RU, E=info@cryptopro.ru, L=Москва, S=77 г. Москва, STREET="ул. Сущёвский вал, д. 18", ИНН=007717107991, ОГРН=1037700085444
Серийный номер

42D0253200030002E0CE
Срок действия

08.06.2016 08:12:00 - 08.09.2017 08:22:00
Отпечаток сертификата

90915524616A86DC34309F7FF37908ACAA482A77



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