Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Работа с CAPICOM - выбор сертификата и подпись.

v7: Работа с CAPICOM - выбор сертификата и подпись.
Я
   brenli
 
11.02.20 - 20:51
Всем привет.
Вторые сутки ломаю мозг по использованию библиотеки CAPICOM.
Необходимо реализовать выбор сертификата из списка , и возможность подписать ЭЦП этого сертификата.

Пытаюсь сделать следующее:
OSertificats = СоздатьОбъект("CAPICOM.Certificates");
OSertificats.Select(,,1); //true

bMultiSelect [in, optional]

Boolean value that indicates whether the user can select more than one certificate. True indicates multiple certificates can be selected by using the CTRL or SHIFT key. The default value is false.

При true  выпадает пустой список.
При false - выдает : Сертификаты недоступны, сертификаты не отвечают критериям.

Пробовал использовать

CURRENT_USER_STORE = 2;
MY_STORE = "My";  
STORE_OPEN_READ_ONLY = 0;


Store = СоздатьОбъект("CAPICOM.Store");
Store.Open(CURRENT_USER_STORE, MY_STORE, STORE_OPEN_READ_ONLY);

Вообще ничего не происходит.
Подскажите у кого есть опыт по реализации таких задач.
Спасибо
   Garykom
 
1 - 11.02.20 - 21:27
(0) https://www.cryptopro.ru/products/other/cryptcp
Приложение командной строки банальное, если не хочется чтобы окна мелькали то можно скрыть
   MWWRuza
 
2 - 11.02.20 - 21:33
(0)Ну, все правильно... А дальше:

Certs = Store.Certificates;
Для Сч = 1 По Certs.Count Цикл
ТекСерт  = Certs.Item(Сч);

Далее используйте: ТекСерт.Свойство,КотороеВамНужно...

КонецЦикла;
   Garykom
 
3 - 11.02.20 - 21:47
https://ru.wikipedia.org/wiki/Component_Object_Model официальной устаревшая технология, лучше не использовать чтобы в ближайшем будущем не поиметь кучу трудностей, которые придется снова героически преодолевать.
   Garykom
 
4 - 11.02.20 - 21:50
Вот уже IE (замена на Edge) с Microsoft Edge (на движок Chromium переходит где COM нету) того и дальше будет только хуже.
Так что забывайте уже о COM/OLE/ActiveX и используете другие методы, да старый древний запуск консольной утилиты/проги с параметрами по прежнему в строю.
И будущее за веб-сервисами.
   MWWRuza
 
5 - 11.02.20 - 22:01
Ну, консольное приложение из (1), платное... Лецензируется отдельно от КриптоПро, и работает с ним в паре. Интересно, сколько стоит?
   Garykom
 
6 - 11.02.20 - 22:10
(5) бесплатно, там устаревшая инфа в новых криптопро оно из коробки
   Garykom
 
7 - 11.02.20 - 22:14
(6)+ Точнее не бесплатно а в комплекте с платным КриптоПро оно.
Никакой лицензии отдельной не запрашивает, может конечно я и ошибаюсь но фактически так.
   Midrash
 
8 - 11.02.20 - 22:16
(3) да, COM  становится достоянием истории
   NorthWind
 
9 - 11.02.20 - 22:16
(0) советую сразу перейти на CADESCOM из комплекта КриптоПро. Разницы по вызовам с CAPICOM практически нет, соместимость процентов 95. Но при этом CADESCOM поддерживается, в том числе и для новых виндов, а CAPICOM давно с поддержки снят и не понятно, с какого очередного релиза Win10 он крякнет. Может с любого свежего.
   brenli
 
10 - 11.02.20 - 22:19
(9) CADESCOM  отдельно покупать надо или в коробке со штатным крипто про идет?
Где то видел CADESCOM  - 90 дней триал, а дальше лицензию надо.
   NorthWind
 
11 - 11.02.20 - 22:21
CADESCOM идет в составе браузерного плагина для CryptoPro. Скачивается все это дело с сайта CryptoPro бесплатно, само подцепляется к уже установленному CryptoPro автоматически и живет.

' -----------------------------------------------------------------------------------------
' Поиск сертификата в хранилище
'
Function GetSigningCert
    
    Set Store = CreateObject ("CADESCOM.Store")

    Store.Open CURRENT_USER_STORE, MY_STORE, STORE_OPEN_READ_ONLY

    Set Certs = Store.Certificates.Find (CAPICOM_CERTIFICATE_FIND_SHA1_HASH, CStr (CertSHA1Hash))

    if Certs.Count > 0 Then
        Set GetSigningCert = Certs.Item (1)
    else
        Set GetSigningCert = Nothing
    end if
    
    Store = Unassgned

End Function
   NorthWind
 
12 - 11.02.20 - 22:21
эта функа ищет сертификат по его SHA1-хэшу и возвращает. Функа на VBS. Другого нет - скрипт писал именно на нем
   NorthWind
 
13 - 11.02.20 - 22:23
для капиком, собственно, все то же самое и тоже работает - изначально было на нем. Но я в конце концов с него ушел.
   Garykom
 
14 - 11.02.20 - 22:23
Кстати прикол хотите?

Если разрабатывается приложение которое с шифрованием на продажу то https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=9333 опс нужна "Лицензия ФСБ на криптографию и шифрование"
   NorthWind
 
15 - 11.02.20 - 22:29
Вот, если надо, формирование подписи отдельным файликом

' -----------------------------------------------------------------------------------------
' Подписание файла. Подпись кладется по тому же пути, где находится исходный файл, с
' расширением bin
'
Sub Sign (FileName, Cert, Prefix)
    
    SignFileName = GetBinFileName (FileName, Prefix)

    Set FileIn = CreateObject ("ADODB.Stream")
    FileIn.Type = 1
    FileIn.Mode = 3
    FileIn.Open ()
    FileIn.LoadFromFile (FileName)
    BinaryIn = FileIn.Read (-1)
    
    Set Signer = CreateObject ("CADESCOM.CpSigner")
    Signer.Certificate = Cert
    Signer.Options = 2
    Set SignedData = CreateObject ("CADESCOM.CadesSignedData")
    SignedData.Content = BinaryIn

    Base64Out = SignedData.SignCades (Signer, CADES_BES, True, CAPICOM_ENCODE_BASE64)

    Set FileOut = CreateObject ("ADODB.Stream")
    FileOut.Type = 2
    FileOut.Charset = "US-ASCII"
    FileOut.Mode = 3
    FileOut.Open ()
    FileOut.WriteText (Base64Out)
    FileOut.SaveToFile SignFileName, 2
    FileOut.Close ()
    FileIn.Close ()

    SignedData = Unassigned
    Signer = Unassigned
    FileIn = Unassigned
    FileOut = Unassigned    

End Sub
   NorthWind
 
16 - 11.02.20 - 22:32
(10) нет такого. Если у вас крипто-про куплен, то браузер плагин ставится без каких-либо дополнительных вопросов и в нем этот кадеском есть и работает. Уже он у меня работает не один год так, а не 90 дней... Там единственное что - для некоторых более сложных подписей чем CADES_BES, нужна служба штампов времени. Вот она да, приобретается отдельно. Но это еще вопрос, нужна она вам или нет.
   brenli
 
17 - 11.02.20 - 22:39
(16) Вообще вся эта тема для работы с системой маркировки. Там вроде служба времени не нужна
   brenli
 
18 - 11.02.20 - 22:39
спасибо господа за пищу для ума.
   NorthWind
 
19 - 11.02.20 - 22:49
(4) браузеры браузерами, а на десктопе ком никуда не денется, пока жив сам по себе десктоп. Его и в х64 MS притащили, а значит, пока девать никуда не собираются.
   MWWRuza
 
20 - 11.02.20 - 22:52
Это все хорошо... Вариантов несколько, кто как хочет, тот так и заморочится... Но, вот как-бы из v7 научиться с аппаратными криптопровайдерами работать... Типа, ЕГАИСовского Рутокен-ЭЦП 2.0... Пока, не нашел способов :-(
   NorthWind
 
21 - 11.02.20 - 22:56
(20) читаю и не могу понять... А чем он принципиально отличается от любой другой смарт-карты, етокена того же?
   MWWRuza
 
22 - 11.02.20 - 23:00
Принципиально - тем, что с ним не работает тот-же КриптоПро. У него на борту свой, встроенный криптопровайдер. Все операции по подписанию и шифрованию происходят "внутри", с неизвлекаемыми ключами...
   MWWRuza
 
23 - 11.02.20 - 23:03
У обычных токенов, контейнер с ключами и сертификатами доступен "извне", их видит КриптоПро или VipNet, и с ними работает программно. Здесь свой "типаКриптоПро", внутри...
   MWWRuza
 
24 - 11.02.20 - 23:07
Кроме того, сертификат вместе с ключами с обычного токена, можно скопировать например на другой токен, в папку на диске, в реестр наконец... С Рутокен ЭЦП 2.0 или устаревшей JaCarta, такой фокус не проходит, сертификат вытащить можно, но без закрытых ключей...
   Garykom
 
25 - 11.02.20 - 23:10
   Garykom
 
26 - 11.02.20 - 23:10
(24) При перегенерации все прекрасно вытаскивается наружу ))
   Garykom
 
27 - 11.02.20 - 23:13
(25)+ pkcs11-tool — консольная утилита для управления токенами и смарт-картами и их содержимым через интерфейс PKCS#11.
https://github.com/OpenSC/OpenSC
   vde69
 
28 - 11.02.20 - 23:52
CAPICOM снята с поддержки лет уже как 10.... Зачем Вам то, что так сильно устарело?

полно опен проектов, тот-же гнус например очень даже хорошо работает с сертификатами (как эцп так и шифрование)...
   MWWRuza
 
29 - 12.02.20 - 00:38
Хм... Интересно... Просто заменой объекта:
Об = СоздатьОбъект("CAPICOM.Store");
на
Об = СоздатьОбъект("CADESCOM.Store");
получение списка сертификатов работает :-)
Дальше, пока не пробовал, надо будет на досуге заняться.
   NorthWind
 
30 - 12.02.20 - 08:19
(22) почитал. Насколько я понял, для работы с такими токенами у крипто-про раньше было специальное решение CryptoPro Рутокен CSP, но сейчас это уже неактуально, потому что пятерка работает с ними.
Посмотрите вот здесь https://www.cryptopro.ru/products/cryptopro-csp: "Носители с неизвлекаемыми ключами Многие пользователи хотят иметь возможность работать с неизвлекаемыми ключами, но при этом не обновлять токены до уровня ФКН. Специально для них в провайдер добавлена поддержка популярных ключевых носителей Рутокен ЭЦП 2.0, JaCarta-2 ГОСТ и InfoCrypt VPN-Key-TLS."
 
 Рекламное место пустует
   NorthWind
 
31 - 12.02.20 - 08:20
   Сияющий в темноте
 
32 - 12.02.20 - 08:45
К рутокену идет свой доайвер,который прекрасно с ним работает.
плюс в том,что криптопро покупать не надо.
   NorthWind
 
33 - 12.02.20 - 09:33
(32) у человека вопрос, через какое апи можно дергать механизм подписи этим ключом, например, из 1с 7.7. Желательно понятно и с примерами. Криптопро в данном случае хорош тем, что там есть сеть разработчиков, примеры и как работать с cadescom/capicom, многие худо-бедно знают.
   MWWRuza
 
34 - 12.02.20 - 10:44
+(33)Да, именно так. Там, где он должен работать через свой драйвер - он работает, вообще без проблем, есть необходимый софт, плагины.
А вот как к нему из 7.7 достучаться, для меня пока загадка. Готовых примеров не нашел, а самому с предоставленным на сайте SDK разбираться - сложно, долго, и и самое главное, опыта не хватает... Да,
и по большому счету - и если только ради интереса, экономически не выгодно, кому надо - могут себе позволить плюсом к ЕГАИСовской ЭЦП еще и КриптоПрошную, вместе с самим КриптоПро, не космических денег они стоят...
Просто, было-бы удобно, один токен-одна ЭЦП на все, что связано с торговыми "извратами".
   big
 
35 - 12.02.20 - 10:56
(34) Если я правильно понял, то с КриптоПро идет бесплатная консольная утилита для подписи - csptest.exe и ею вполне таки можно пользоваться. Сам правда ещё не пробовал, просто читал мануал.

Или использование консольных утилит не подходит?
   NorthWind
 
36 - 12.02.20 - 11:37
(34) -> (30), криптопро уже умеет через свое апи работать с такими подписями. Правда, нужна версия 5, которая пока еще не у всех куплена, чаще всего у людей четверка.
   brenli
 
37 - 04.03.20 - 15:49
Всем привет. До сих пор воюю с этими подписями .

        СтрКода="function SignFile(FileName,Cert,OutFileName)
        |{
        |   InStream=new ActiveXObject(""ADODB.Stream"");
        |   InStream.Type=1; // binary data
        |   InStream.Mode=3; // read/write
        |   InStream.Open();
        |   InStream.LoadFromFile(FileName);
        |   InData=InStream.Read(-1);
        |
        |   Signer=new ActiveXObject(""CAPICOM.Signer"");
        |   Signer.Certificate=Cert;
        //|    Signer.TSAAddress = ""http://www.cryptopro.ru/tsp/tsp.srf"";;
        //|   Signer.Options=2; // CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY
        |
        |   SignedData=new ActiveXObject(""CAPICOM.SignedData"");
        |   SignedData.Content=InData;
        //|    SignedData.ContentEncoding =1;
        |
        |   OutSignedData=SignedData.Sign(Signer,1,1);
        |
        |   OutStream=new ActiveXObject(""ADODB.Stream"");
        |   OutStream.CharSet=""utf-8"";
        |   OutStream.Type=2; // text data
        |   OutStream.Mode=3; // read/write
        |   OutStream.Open();
        |   OutStream.WriteText(OutSignedData);
        |   OutStream.SaveToFile(OutFileName,2);
        |   OutStream.Close();
        |
        | return(0);


При выборе открепленной подписи  выдает такую строку. Что не так?
????????????a?????a???????????????????x

Пробовал юзать CadesCOM - выдает что не введена лицензия.
Что еще можно сделать?
(6) на сайте пишут что 5 версия требует лицензию.
   brenli
 
38 - 04.03.20 - 15:50
(37) + при подписании не открепленной подписью, подписывает корректно
   Garykom
 
39 - 04.03.20 - 16:05
   NorthWind
 
40 - 04.03.20 - 19:27
(37) Четверка с cadescom'ом из браузер-плагина 100% работает и ничего дополнительно не просит. Неоднократно ставил и проверял.
Насчет лицензирования пятерки точно сказать не могу, потому что использовать не пробовал. Может, разработчик и поменял что-то, хотя при гуглении "cadescom лицензия" ничего внятного найти не удается, из-за чего по вопросу возникают некоторые сомнения.
Думаю, будь такая лицензия, продавайся она - наверняка были бы упоминания о ней самой и ее стоимости.
"Выдает строку" - куда и в какой момент? Если мы посмотрим вот сюда https://docs.microsoft.com/en-us/windows/win32/seccrypto/signeddata-sign, то видно, что у этого метода третий параметр отвечает за формат подписи. Вы ставите 1. Расшифровка форматов вот здесь https://docs.microsoft.com/en-us/windows/win32/seccrypto/capicom-encoding-type, 1 - это CAPICOM_ENCODE_BINARY, бинарная последовательность. Семерка с такими данными работать самостоятельно не умеет. Может, лучше все же 0 - CAPICOM_ENCODE_BASE64?
   NorthWind
 
41 - 04.03.20 - 19:33
|   OutStream.CharSet=""utf-8"";

и вот это имхо тоже зря, потому что опять же непонятно что с этим из-под 7.7 делать. Ну не умеет она юникоду ни в каком виде.
Поставьте US-ASCII.
   Сияющий в темноте
 
42 - 04.03.20 - 19:48
(41)ну,если двоичный поток,то 7.7 прекрасно умеет utf-8,так как строки однобайтовые
а вот для Com-сервера строку можно передать только как bstr,а это unicode строка.
лицензию требует не com-сервер,а само CryptoPro.
   NorthWind
 
43 - 04.03.20 - 21:29
(42) > лицензию требует не com-сервер,а само CryptoPro.

Тут нестыковка. Дело в том, что CAPICOM является такой же надстройкой над CryptoAPI, которое, в свою очередь, обращается к криптопровайдеру.
Не будь рабочей лицензии (хотя бы триальной) на CryptoPro, отлуп был бы одинаковым у CaDESCOM, и у CAPICOM. Здесь же CAPICOM работает, а CaDESCOM нет.
У CaDESCOM на самом деле есть специфика, о которой я писал в (16) - если в методе SignCades выбираются подписи, отличные от CADES_BES, то нужна служба штампов времени, а вот как раз она стоит дополнительных денег и без нее такие подписи использовать не получится. Возможно, (0) не разобрался досконально с параметрами и сделал вызов как раз на такую подпись, тем более что в примерах кода на https://cpdn.cryptopro.ru/ упорно приводят подписи со штампом времени.
   brenli
 
44 - 05.03.20 - 06:35
(42) Описание ошибки: CAdESCOM.CadesSignedData.1: Лицензия на КриптоПро TSP Client истекла или не была введена
   Garykom
 
45 - 05.03.20 - 06:45
(44) У тебя ситуация (43) ты при подписи выбрал такие параметры что она пытается службу штампов времени заюзать

Простой поиск по твоей ошибке выходит на
https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=11690
https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=5334

И там обрати внимание:
"с усиленной квалифицированной электронной подписью <> усовершенствованная ЭЦП
с усиленной квалифицированной = это на базе квалифицированного сертификата (63 ФЗ)

а усовершенствованная ЭЦП = это ЭЦП, дополненная доказательствами времени подписания\статуса действия сертификата"
   brenli
 
46 - 05.03.20 - 07:14
(45) (43)  Спасибо. Открепленная подпись заработала с CAPICOM ом.
Данные подписываются запрос отправляется, но с сигнатурой по прежнему что то не то.
Документ на сайте ЧЗ не создается, хотя id документа возвращается.
Длина сигнатуры при запросе через браузер - 9188
Длина сигнатуры при запросе через 1c - 7452
Что не так не понятно. Файл после подписания точно имеет открепленную подпись и не содержит данных,
я проверил декодировав base64 полученный после подписания. С не открепленной - содержатся данные в моем случае xml,
без открепленной данных нет. Далее это открепленную подпись преобразую в base64 и что то  не так.
Документ точно заполняется как надо.
Если строкой передаю сигнатуру руками скопированную из запроса браузера, документы создаются.
Что еще можно проверить.
   brenli
 
47 - 05.03.20 - 07:25
Как то не так получается открепленная подпись.
   Garykom
 
48 - 05.03.20 - 07:44
(47) Не нужна открепленная )) Обычная подпись там. Точнее в МДЛП была обычная а не "открепленная" а какая у тебя маркировка хз.
   NorthWind
 
49 - 05.03.20 - 07:57
(48) судя по тому что через браузер длинее - похоже на то что должна быть не открепленная.
ТС, а неоткрепленную не пробовал? Метод тыка - дело иногда полезное.
   brenli
 
50 - 05.03.20 - 08:07
(47) signature - открепленная УКЭП закодированный в base64. Документ необходимо подписывать до перевода его в base64. Тип строковый.
(49) Пробовал. Не проходит, нужна именно открепленная. Я декодировал то что идет через браузер и то что идет через 1с.
================================Через браузер==============================================
0⚧    *戆獁šذ⚔10*僇0    *戆獁–㰂0℁ÂNmG릲}ev㓓0
*僇010    *戆獁    dit@minsvyaz.ru10    URU10U77 Москва10Uг. Москва1.0,U    %улица Тверская, дом 71,0*U
#Минкомсвязь России10*僤

104770202670110*僃Ⴡ0077104743751,0*U#Минкомсвязь России0

180706121806Z
360701121806Z0⁤10    *戆獁    dit@minsvyaz.ru10    URU10U77 Москва10Uг. Москва1.0,U    %улица Тверская, дом 71,0*U
#Минкомсвязь России10*僤
104770202670110*僃Ⴡ 0077104743751,0*U #Минкомсвязь России0f0*僇0*僂#*僇C@u9*E繢彷�ꝶZq꽽X챆酡W읻H幊눙ꪩ뺵踱ʇ蓵嶶䊷�°⁾0ᵆ*僤p᫰ᨌ4ПАКМ «КриптоПро HSM» версии 2.0 CПАК «Головной удостоверяющий центр» 5Заключение № 149/3/2/2/23 от 02.03.2018 4Заключение № 149/7/6/105 от 27.06.20180?*僤o6 4ПАКМ «КриптоПро HSM» версии 2.00CU <0:0*僤q0*僤q0*僤q0*僤q0*僤q0U 0U0U0ﰝU”ᴫԌ砭6䣐ᾃ<놰
*僇A꺽⻬r븛렕Ʀ嬌K*=9yڙ⋯ල0 ɮ銟aoħ`ឈ蓡Ud
f׾~0⇒0⇿Â ͌Ըn0
*僇0⁤10    *戆獁    dit@minsvyaz.ru10    URU10U77 Москва10Uг. Москва1.0,U    %улица Тверская, дом 71,0*U

#Минкомсвязь России10*僤
104770202670110*僃Ⴡ 0077104743751,0*U #Минкомсвязь России0
180731102852Z
330731102852Z0 1 0    *戆獁    uc@secret-net.net10*僤
110222501102010*僃Ⴡ 0022251130921 0    URU1'0%U 22 Алтайский край10U Барнаул1604U     -пр-кт Строителей 117, пом 60100.U 'Удостоверяющий центр1%0#U
ООО "ЦИБ-Сервис"1%0#U ООО "ЦИБ-Сервис"0f0*僇0*僂#*僇C@颬耢Aֈ셇息⾿楙2=ؓ鿒Ѯବ* {0x޹9B亟=똝ﺛ}穞や
0℆0 U氝U]`Uߟo髥멊G楰    +ⷔ SubCA0U00%U 00U 0*僤q0*僤q04*僤o+ )КриптоПро CSP (версия 4.0)0    +ⷕ0⁥U#⁜0⁘ԂTᴫԌ砭6䣐ᾃ<놡䂁(0⁤10    *戆獁    dit@minsvyaz.ru1 0    URU10U 77 Москва10U г. Москва1.0,U     %улица Тверская, дом 71,0*U
#Минкомсвязь России10*僤
104770202670110*僃Ⴡ 0077104743751,0*U #Минкомсвязь России␎mG릲}ev㓓0ᘆUᐰ፰-ૠ)槨ttp://reestr-pki.ru/cdp/guc_gost12.crl0-ૠ)槨ttp://company.rt.ru/cdp/guc_gost12.crl0-ૠ)槨ttp://rostelecom.ru/cdp/guc_gost12.crl0C+70503+0槨ttp://reestr-pki.ru/cdp/guc_gost12.crt0ᵆ*僤p᫰ᨌ4ПАКМ «КриптоПро HSM» версии 2.0 CПАК «Головной удостоверяющий центр» 5Заключение № 149/3/2/2/23 от 02.03.2018 4Заключение № 149/7/6/105 от 27.06.20180
*僇Aൌ3♶䕃ǬƋgoP븺H    Y୘ҡ陠X꧀WOݱ3봒�4誤티≡0≎Âd蝕룩C0ﶊ0
*僇0 1 0    *戆獁    uc@secret-net.net10*僤
110222501102010*僃Ⴡ 0022251130921 0    URU1'0%U 22 Алтайский край10U Барнаул1604U     -пр-кт Строителей 117, пом 60100.U 'Удостоверяющий центр1%0#U
ООО "ЦИБ-Сервис"1%0#U ООО "ЦИБ-Сервис"0
190214102028Z
200514091749Z0₾10*僃ፁ
4500007720100.    *戆獁     !4522004773-450201001-4502011013301#0!    *戆獁    zoovet@shadrinsk.net10*僃Ⴡ 00452200477310*僤 0534830204010*僤
1024501948305100.U 'Генеральный Директор1907U
0АО "ШАДРИНСКИЙ ЗООВЕТСНАБ"1)0'U     УЛ РАЙОННАЯ, ДОМ 1110U Шадринск1/0-U &45 Курганская область1 0    URU1604U* -Александр Александрович10U Брюханов1907U 0АО "ШАДРИНСКИЙ ЗООВЕТСНАБ"0f0*僇0*僂$*僇C@ݒ馔Ȅ渔ޜ\;vꚨ㒨ɨ㙊x޽ᷠOᢦ"֜ꁍ꼚Iɣ>€�37B縣ⅻ0ⅷ0UఽU604ᔺoovet@shadrinsk.net䜰10*僃ፁ
45000077200U  0
0*僤q0JU%C0A+*僂"+*僃㴆*僃*僃*僃0⁠U#⁗0⁓ԝ`Uߟo髥멊G楡䂁(0⁤10    *戆獁    dit@minsvyaz.ru1 0    URU10U 77 Москва10U г. Москва1.0,U     %улица Тверская, дом 71,0*U
#Минкомсвязь России10*僤
104770202670110*僃Ⴡ 0077104743751,0*U #Минкомсвязь России⋀͌Ըn0ULdž?贶擐"0+U$0"ϲ0190214102027ZᏲ0200514091749Z0⁳*僤p⁨0⁤ +"КриптоПро CSP" (версия 4.0) S"Удостоверяющий центр "КриптоПро УЦ" версии 2.0 OСертификат соответствия № СФ/124-3570 от 14.12.2018 OСертификат соответствия № СФ/128-2983 от 18.11.20160#*僤o "КриптоПро CSP"0^*僂1S0Q0Ahttp://secret-net.ru/ucdocs/ СКБ Контур и ДЗОČMg릺׫+滎찁ᆃUz0x0:ภ6洨ttp://cib-service.ru/files/cib-service-mid-2018.crl0:ภ6洨ttp://secret-net.net/files/cib-service-mid-2018.crl0ᔆ+ᇰᄰ@+0洨ttp://cib-service.ru/files/cib-service-mid-2018.crt0@+0洨ttp://secret-net.net/files/cib-service-mid-2018.cer0
*僇Ar쥣ij㳢[怪y$환嶪䵥 娸շa梞D쯙禧,㬾猷뤘Ņ{ ꄗڅ砄1ℙ0ℕ0⁴0 1 0    *戆獁    uc@secret-net.net10*僤
110222501102010*僃Ⴡ 0022251130921 0    URU1'0%U 22 Алтайский край10U Барнаул1604U     -пр-кт Строителей 117, пом 60100.U 'Удостоверяющий центр1%0#U
ООО "ЦИБ-Сервис"1%0#U ООО "ЦИБ-Сервис"d蝕룩C0ﶊ0 *僇‚80    *戆獁    1     *戆獁0    *戆獁    1
200305034154Z0/    *戆獁    1" z7罀쮂俖ฒ칋Y|am}ш=#ĺΰ⁋ *戆獁    /1⁺0⁶0⁲00
*僇 룳zX什쀻o zw㘄ӠK"E䎉0H~֐0⁼0⁧䂁c0 1 0    *戆獁    uc@secret-net.net10*僤
110222501102010*僃Ⴡ00222511309210    URU1'0%U22 Алтайский край10UБарнаул1604U    -пр-кт Строителей 117, пом 60100.U'Удостоверяющий центр1%0#U

ООО "ЦИБ-Сервис"1%0#UООО "ЦИБ-Сервис"d蝕룩C0ﶊ0*僇@^B@'Ι%U䦰޹疮핎浀gΩ췣ᎀYO�㷝悭˷㫷}ڋmꦓXDNj@
==========================================================================================================================
====================================Через 1с===================================================

0╏    *戆獁•0╼10 *僇0     *戆獁‘{0⇒0⇿Â ͌Ըn0
*僇0⁤10    *戆獁    dit@minsvyaz.ru1 0    URU10U 77 Москва10U г. Москва1.0,U     %улица Тверская, дом 71,0*U
#Минкомсвязь России10*僤
104770202670110*僃Ⴡ 0077104743751,0*U #Минкомсвязь России0
180731102852Z
330731102852Z0 1 0    *戆獁    uc@secret-net.net10*僤
110222501102010*僃Ⴡ 0022251130921 0    URU1'0%U 22 Алтайский край10U Барнаул1604U     -пр-кт Строителей 117, пом 60100.U 'Удостоверяющий центр1%0#U
ООО "ЦИБ-Сервис"1%0#U ООО "ЦИБ-Сервис"0f0*僇0*僂#*僇C@颬耢Aֈ셇息⾿楙2=ؓ鿒Ѯବ* {0x޹9B亟=똝ﺛ}穞や
0℆0 U氝U]`Uߟo髥멊G楰    +ⷔ SubCA0U00%U 00U 0*僤q0*僤q04*僤o+ )КриптоПро CSP (версия 4.0)0    +ⷕ0⁥U#⁜0⁘ԂTᴫԌ砭6䣐ᾃ<놡䂁(0⁤10    *戆獁    dit@minsvyaz.ru1 0    URU10U 77 Москва10U г. Москва1.0,U     %улица Тверская, дом 71,0*U
#Минкомсвязь России10*僤
104770202670110*僃Ⴡ 0077104743751,0*U #Минкомсвязь России␎mG릲}ev㓓0ᘆUᐰ፰-ૠ)槨ttp://reestr-pki.ru/cdp/guc_gost12.crl0-ૠ)槨ttp://company.rt.ru/cdp/guc_gost12.crl0-ૠ)槨ttp://rostelecom.ru/cdp/guc_gost12.crl0C+70503+0槨ttp://reestr-pki.ru/cdp/guc_gost12.crt0ᵆ*僤p᫰ᨌ4ПАКМ «КриптоПро HSM» версии 2.0 CПАК «Головной удостоверяющий центр» 5Заключение № 149/3/2/2/23 от 02.03.2018 4Заключение № 149/7/6/105 от 27.06.20180
*僇Aൌ3♶䕃ǬƋgoP븺H    Y୘ҡ陠X꧀WOݱ3봒�4誤티≡0≎Âd蝕룩C0ﶊ0
*僇0 1 0    *戆獁    uc@secret-net.net10*僤
110222501102010*僃Ⴡ 0022251130921 0    URU1'0%U 22 Алтайский край10U Барнаул1604U     -пр-кт Строителей 117, пом 60100.U 'Удостоверяющий центр1%0#U
ООО "ЦИБ-Сервис"1%0#U ООО "ЦИБ-Сервис"0
190214102028Z
200514091749Z0₾10*僃ፁ
4500007720100.    *戆獁     !4522004773-450201001-4502011013301#0!    *戆獁    zoovet@shadrinsk.net10*僃Ⴡ 00452200477310*僤 0534830204010*僤
1024501948305100.U 'Генеральный Директор1907U
0АО "ШАДРИНСКИЙ ЗООВЕТСНАБ"1)0'U     УЛ РАЙОННАЯ, ДОМ 1110U Шадринск1/0-U &45 Курганская область1 0    URU1604U* -Александр Александрович10U Брюханов1907U 0АО "ШАДРИНСКИЙ ЗООВЕТСНАБ"0f0*僇0*僂$*僇C@ݒ馔Ȅ渔ޜ\;vꚨ㒨ɨ㙊x޽ᷠOᢦ"֜ꁍ꼚Iɣ>€�37B縣ⅻ0ⅷ0UఽU604ᔺoovet@shadrinsk.net䜰10*僃ፁ
45000077200U  0
0*僤q0JU%C0A+*僂"+*僃㴆*僃*僃*僃0⁠U#⁗0⁓ԝ`Uߟo髥멊G楡䂁(0⁤10    *戆獁    dit@minsvyaz.ru1 0    URU10U 77 Москва10U г. Москва1.0,U     %улица Тверская, дом 71,0*U
#Минкомсвязь России10*僤
104770202670110*僃Ⴡ 0077104743751,0*U #Минкомсвязь России⋀͌Ըn0ULdž?贶擐"0+U$0"ϲ0190214102027ZᏲ0200514091749Z0⁳*僤p⁨0⁤ +"КриптоПро CSP" (версия 4.0) S"Удостоверяющий центр "КриптоПро УЦ" версии 2.0 OСертификат соответствия № СФ/124-3570 от 14.12.2018 OСертификат соответствия № СФ/128-2983 от 18.11.20160#*僤o "КриптоПро CSP"0^*僂1S0Q0Ahttp://secret-net.ru/ucdocs/ СКБ Контур и ДЗОČMg릺׫+滎찁ᆃUz0x0:ภ6洨ttp://cib-service.ru/files/cib-service-mid-2018.crl0:ภ6洨ttp://secret-net.net/files/cib-service-mid-2018.crl0ᔆ+ᇰᄰ@+0洨ttp://cib-service.ru/files/cib-service-mid-2018.crt0@+0洨ttp://secret-net.net/files/cib-service-mid-2018.cer0
*僇Ar쥣ij㳢[怪y$환嶪䵥 娸շa梞D쯙禧,㬾猷뤘Ņ{ ꄗڅ砄1ℙ0ℕ0⁴0 1 0    *戆獁    uc@secret-net.net10*僤
110222501102010*僃Ⴡ 0022251130921 0    URU1'0%U 22 Алтайский край10U Барнаул1604U     -пр-кт Строителей 117, пом 60100.U 'Удостоверяющий центр1%0#U
ООО "ЦИБ-Сервис"1%0#U ООО "ЦИБ-Сервис"d蝕룩C0ﶊ0 *僇‚80    *戆獁    1     *戆獁0    *戆獁    1
200305033801Z0/    *戆獁    1" ⦾䀯G䖃m钸}ῂ-吁0⁋ *戆獁    /1⁺0⁶0⁲00
*僇 룳zX什쀻o zw㘄ӠK"E䎉0H~֐0⁼0⁧䂁c0 1 0    *戆獁    uc@secret-net.net10*僤
110222501102010*僃Ⴡ00222511309210    URU1'0%U22 Алтайский край10UБарнаул1604U    -пр-кт Строителей 117, пом 60100.U'Удостоверяющий центр1%0#U

ООО "ЦИБ-Сервис"1%0#UООО "ЦИБ-Сервис"d蝕룩C0ﶊ0*僇@Zٱ撻4诖含MuZ%눑^Xt`細޺㙾@Ch;j魸3ӳԳ=CA~D$
==========================================================================================================================
   NorthWind
 
51 - 05.03.20 - 08:17
есть подозрение, что бинарник во втором случае покорежен в результате неправильного сохранения или преобразования.
Если вам ЭЦП нужна именно в бинарнике, ADODB.Stream лучше с adTypeBinary использовать. У вас как сделано?
   Garykom
 
52 - 05.03.20 - 08:21
(50) Блин сделай уже через csptest (которая в комплекте с криптопро) обычную подпись и проверь пройдет ли
https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=16875
   Garykom
 
53 - 05.03.20 - 08:23
(52)+ Хотя там есть вариант "заработало"
   brenli
 
54 - 05.03.20 - 08:39
(51)
        СтрКода="function SignFile(FileName,Cert,OutFileName)

        |{

        |   InStream=new ActiveXObject(""ADODB.Stream"");

        |   InStream.Type=1;// binary data


        |   InStream.Mode=3;// read/write


        |   InStream.Open();

        |   InStream.LoadFromFile(FileName);

        |   InData=InStream.Read(-1);

        |

        |   Signer=new ActiveXObject(""CAPICOM.Signer"");

        |   Signer.Certificate=Cert;

        //|    Signer.TSAAddress = ""http://www.cryptopro.ru/tsp/tsp.srf"";;;

        //|   Signer.Options=2; // CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY


        |

        |   SignedData=new ActiveXObject(""CAPICOM.SignedData"");

        |   SignedData.Content=InData;

        //|    SignedData.ContentEncoding =1;


        |

        |   OutSignedData=SignedData.Sign(Signer,1,1);

        |

        |   OutStream=new ActiveXObject(""ADODB.Stream"");

        |   OutStream.CharSet=""utf-8"";

        |   OutStream.Type=2;// text data


        |   OutStream.Mode=3;// read/write


        |   OutStream.Open();

        |   OutStream.WriteText(OutSignedData);

        |   OutStream.SaveToFile(OutFileName,2);

        |   OutStream.Close();

        |

        | return(0);
   NorthWind
 
55 - 05.03.20 - 09:02
(54) ну смотрите. Вы формируете бинарник - OutSignedData=SignedData.Sign(Signer,1,1).
А далее записываете его как текст.
OutStream=new ActiveXObject(""ADODB.Stream"");
OutStream.CharSet=""utf-8"";
OutStream.Type=2// text data
Как минимум вы при этом рискуете что ADO вам напихает переводов строки в файл, что, по-моему, и происходит. Файл будет покорежен.
Вопрос - зачем?
   brenli
 
56 - 05.03.20 - 09:06
Все заработало отлично. Спасибо коллеги.
Во первых включил 
Signer.Options=2;
Во вторых ответ открепленной подписи не нужно повторно заворачивать в base64, он и так уже в нем.
Длина сигнатуры получается всеравно разная , но документы в ЦРПТ стали создаваться
   Garykom
 
57 - 05.03.20 - 09:10
(56) Блин скажи ты будешь каждому юзеру в 77 на каждое рабочее место КриптоПро ставить?
Короче не туда ты пошел с CAPICOM когда есть более вменяемые варианты и более удобные.
   NorthWind
 
58 - 05.03.20 - 09:14
Это уж он разберется сам, наверно. Вопросы использования ПО не входят в задачу в (0).
Я, например, просто бота написал который работает на одной машине и на него все сорят файлами, а он делает обмен. Крипто-про стоит только там.
Но речь не про маркировку.
   Garykom
 
59 - 05.03.20 - 09:18
(58) Ну его решение задачи изначально сильно ограничено виндой и устаревшим COM/OLE/ActiveX
Лет дцать назад это было нормально но сейчас уже нет.
   NorthWind
 
60 - 05.03.20 - 09:24
(59) и семеркой тоже :) но весь вопрос в том что это не наша печаль. Задача, она вот такая - семерка, крипто-про, капиком.
Я это делал, поэтому могу что-то ответить.
Насколько у них там некрофилы работают в ИТ - это к делу отношения не имеет.
 
 Рекламное место пустует
   brenli
 
61 - 05.03.20 - 09:48
(57) Более удобные имеется ввиду cryptcp ?
   Krio77
 
62 - 10.05.20 - 13:19
(61) уточните, пожалуйста, у Вас какая группа товаров маркируется?
а то у меня обувь и для создания документа в ЦРПТ, артибут есть signature и product_document
вы упоминали что signature вам удалось как то получить но как из форума не понял, Signer.Options=2; это было проблема?
   spock
 
63 - 10.05.20 - 20:55
Чтобы ю.л. использовать cryptcp нужны лицензии на (на каждое р.м.):
- cryptcp = 675р
- OCSP Client = 1800р
- TSP Client = 1800р
- КриптоПро CSP = 2700р

Так что это не бесплатно.
   spock
 
64 - 10.05.20 - 20:57
+63 для винды, в nix'ах по другому)
   NorthWind
 
65 - 10.05.20 - 21:43
(63) TSP нужна только для таких подписей, которые требуют штамп времени. Для наших госорганов обычно не требуется ничего круче чем CADES BES, во всяком случае не сталкивался с другими пока. OCSP - как я понимаю, штука тоже в основном для параноиков, которые боятся компрометации сертификата. Большинству не сильно надо. Что касается самой утилы, то мне тоже кажется что она лицензировалась, поэтому я обычно старался юзать CADESCOM, тем более что это и удобнее, ну и CryptoPro CSP - понятное дело, нужно. Как-то так.
   Krio77
 
66 - 12.05.20 - 14:03
(62) Вопрос снят, все заработало! )


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.