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

Уведомление

Icon
Error

3 Страницы123>
Опции
К последнему сообщению К первому непрочитанному
Offline bazooka  
#1 Оставлено : 8 декабря 2016 г. 14:06:53(UTC)
bazooka

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

Группы: Участники
Зарегистрирован: 17.09.2014(UTC)
Сообщений: 123
Мужчина

Сказал «Спасибо»: 5 раз
Поблагодарили: 2 раз в 2 постах
Добрый день!

Для подписей ГОСТ все давно работает отлично, за что спасибо!)
Появилась необходимость сделать подпись RSA, для подписантов других стран.
Примера в документации прямого не нашел, попробовали сделать вот так (если вырезать весь "лишний" код):
Код:

var oSignedData = cadesplugin.CreateObject("CAdESCOM.CadesSignedData");

var oHashedData = cadesplugin.CreateObject("CAdESCOM.HashedData"); 
oHashedData.Algorithm = CADESCOM_HASH_ALGORITHM_SHA1;
oHashedData.DataEncoding = CADESCOM_BASE64_TO_BINARY;
oHashedData.Hash(documentdata[docId][C_DATA]);
var sHashValue = oHashedData.Value;                

signer = cadesplugin.CreateObject("CAdESCOM.CPSigner");                
signer.Options = CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN;
signer.Certificate = SelectedCertificate;

var sSignedMessage = oSignedData.SignHash(oHashedData, signer, CADESCOM_CADES_BES);


На последней строчке падает с ошибкой "Указан неправильный тип поставщика. (80090014)"

Пробовали подписывать двумя сертификатами. 1м - самоподписанным, тестовым все работает.

Подписываем вот этим сертификатом dmitriy.zip (1kb) загружен 3 раз(а). все работает, подпись создается.
Подписываем вот этим, реальным сертификатом, dubrovin.zip (2kb) загружен 3 раз(а). - возникает описанная выше ошибка.
В крипто арм тоже возникает ошибка http://take.ms/RoTDQ при выборе сертификата.

Нo, например, (не знаю относится ли это к делу), Word, создает подпись этим сертификатом, подписывая документы. Не знаю чем это поможет...

Подскажите, в чем может быть дело? или ссылку на пример по теме
Offline Максим Коллегин  
#2 Оставлено : 9 декабря 2016 г. 9:17:32(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 38 раз
Поблагодарили: 734 раз в 632 постах
Боюсь, что дело не в сертификате. Нужно посмотреть ссылки на ключ в установленных в хранилище сертификатах.
Сделать можно вот так:
start /b csptest -certkey -store My -nochange -provtype 1 -verbose
Но нужно знать тип провайдера.
Знания в базе знаний, поддержка в центре поддержки
Offline bazooka  
#3 Оставлено : 9 декабря 2016 г. 9:35:33(UTC)
bazooka

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

Группы: Участники
Зарегистрирован: 17.09.2014(UTC)
Сообщений: 123
Мужчина

Сказал «Спасибо»: 5 раз
Поблагодарили: 2 раз в 2 постах
Эта команда не выдала "реального" сертификата. Тестовый отобразился http://take.ms/RTQ8Oo
А как узнать тип провайдера? и что с этим делать дальше?))
Offline Максим Коллегин  
#4 Оставлено : 9 декабря 2016 г. 11:30:23(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 38 раз
Поблагодарили: 734 раз в 632 постах
В новых версиях CSP есть более удобная утилита.
"\Program Files\Crypto Pro\CSP\certmgr.exe" -list
Знания в базе знаний, поддержка в центре поддержки
Offline bazooka  
#5 Оставлено : 9 декабря 2016 г. 11:46:38(UTC)
bazooka

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

Группы: Участники
Зарегистрирован: 17.09.2014(UTC)
Сообщений: 123
Мужчина

Сказал «Спасибо»: 5 раз
Поблагодарили: 2 раз в 2 постах
Да, эта утилита нашла нужный сертификат и выдала следующее:

1-------
Issuer : C=PL, O=Unizeto Technologies S.A., OU=Certum Certification
Authority, CN=Certum Level III CA
Subject : C=RU, O=Code Control llc, OU=Administration, CN=Dubrovin I
gor, E=<убрал емейл>
Serial : 0x7D689460B958A7F8A30B83ECEE72EC39
SHA1 Hash : 0xedd8935da94260dd4833e1bd993d37c5b699b2ec
Signature Algorithm : sha1RSA
PublicKey Algorithm : RSA (2048 bits)
Not valid before : 02/12/2016 09:47:13 UTC
Not valid after : 02/12/2017 09:47:13 UTC
PrivateKey Link : Yes
Container : {EDF835FF-2508-4E97-AB25-FCCD2BCD5141}
Provider Name : Microsoft Software Key Storage Provider
Provider Info : ProvType: 0, KeySpec: 0, Flags: 0x0
RFC #822 Name : <убрал емейл>
Extended Key Usage : 1.3.6.1.5.5.7.3.2
1.3.6.1.5.5.7.3.4

Отредактировано пользователем 9 декабря 2016 г. 11:47:57(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#6 Оставлено : 9 декабря 2016 г. 13:46:56(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 38 раз
Поблагодарили: 734 раз в 632 постах
Как я и предполагал - используется CNG. Наш плагин потребует доработки для поддержки таких сертификатов. Нужно перерегистрировать сертификат с привязкой к контейнеру CSP.
Знания в базе знаний, поддержка в центре поддержки
Offline bazooka  
#7 Оставлено : 9 декабря 2016 г. 13:52:24(UTC)
bazooka

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

Группы: Участники
Зарегистрирован: 17.09.2014(UTC)
Сообщений: 123
Мужчина

Сказал «Спасибо»: 5 раз
Поблагодарили: 2 раз в 2 постах
А когда может быть проведена такая доработка вами?
Свой сертификат мы можем теоретически перевыпустить, но вот другие клиентские сертификаты у каждого, думаю будет невозможно перевыпустить.

Возможно ли как-то еще решить эту проблему?
Offline Максим Коллегин  
#8 Оставлено : 9 декабря 2016 г. 14:59:51(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 38 раз
Поблагодарили: 734 раз в 632 постах
Доработку начали планировать.
Я же пишу - нужно перерегистрировать контейнер.
В данном случае можно сделать с помощью утилиты csptest:
start /b csptest -ipsec -reg -mycert файл_сертификата.cert -autocont
Знания в базе знаний, поддержка в центре поддержки
Offline bazooka  
#9 Оставлено : 9 декабря 2016 г. 15:20:42(UTC)
bazooka

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

Группы: Участники
Зарегистрирован: 17.09.2014(UTC)
Сообщений: 123
Мужчина

Сказал «Спасибо»: 5 раз
Поблагодарили: 2 раз в 2 постах
Сорри, если я сильно туплю, но при выполнении этой команды получаю ошибку http://take.ms/Cs3Sc
Нужно ли сертификат удалять предварительно? У меня он с закрытым ключом находится в файле pfx, а dubrovin.cer - это открытая часть сертификата, тот файлик, что я прицеплял в 1 посте.
Offline Максим Коллегин  
#10 Оставлено : 9 декабря 2016 г. 15:30:57(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 38 раз
Поблагодарили: 734 раз в 632 постах
Функциональность csptest протестирована с RSA провайдерами недостаточно.
Попробуйте указать имя контейнера
start /b csptest -ipsec -reg -mycert файл_сертификата.cert -key "{EDF835FF-2508-4E97-AB25-FCCD2BCD5141}"
Знания в базе знаний, поддержка в центре поддержки
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
3 Страницы123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.