Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
Почему не получается получить штамп времени SignatureTimeStampTime
Статус: Активный участник
Группы: Участники
Зарегистрирован: 25.01.2013(UTC) Сообщений: 55  Откуда: Москва Сказал(а) «Спасибо»: 1 раз
|
Не могу получить штамп времени! При подписании документа использую: oSigner.TSAAddress = "http://www.cryptopro.ru/tsp/" При попытке чтения oSigner.SignatureTimeStampTime возникает ошибка: "Объект или свойство не найдено"
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,836   Сказал «Спасибо»: 582 раз Поблагодарили: 2316 раз в 1814 постах
|
Автор: Ruvip  Не могу получить штамп времени! При подписании документа использую: oSigner.TSAAddress = "http://www.cryptopro.ru/tsp/" При попытке чтения oSigner.SignatureTimeStampTime возникает ошибка: "Объект или свойство не найдено" Код и пример файла с ЭЦП в студию... |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 25.01.2013(UTC) Сообщений: 55  Откуда: Москва Сказал(а) «Спасибо»: 1 раз
|
Подпись документа: Код:
Set oDocumentNameAttr = CreateObject("CAPICOM.Attribute")
oDocumentNameAttr.Name = CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME
oDocumentNameAttr.Value = "F_SF"
Set oSigningTimeAttr = CreateObject("CAPICOM.Attribute")
oSigningTimeAttr.Name = CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME
oSigningTimeAttr.Value = Now
Set oSigner = CreateObject("CAdESCOM.CPSigner")
Set oSignedData = CreateObject("CAdESCOM.CadesSignedData")
Set oFSO = CreateObject("Scripting.FileSystemObject")
oSigner.Certificate = oCert
oSigner.AuthenticatedAttributes.Add oDocumentNameAttr
oSigner.AuthenticatedAttributes.Add oSigningTimeAttr
oSigner.TSAAddress = "http://www.cryptopro.ru/tsp/tsp.srf"
LoadFileForCades2 sFile, sContent
oSignedData.ContentEncoding = 1
oSignedData.Content = sContent
sSignedData = oSignedData.SignCades(oSigner, 1, True, 0)
SaveFile sSignFilePath, sSignedData
сам файл подписи в архиве
И код как я читаю:
Set oFSO = CreateObject("ADODB.Stream")
oFSO.Type = 2
oFSO.Open
oFSO.Type = 1
oFSO.LoadFromFile sFilePath
vCode = oFSO.Read
oFSO.Close
Set oStore = CreateObject("CAdESCOM.CadesSignedData")
oStore.ContentEncoding = 0
oStore.Content = vCode
On Error Resume next
oStore.VerifyCades vCode, 0
if err.Number <> 0 then
print err.dESCRIPTION
end if
On Error GoTo 0
Set oSigner = oStore.Signers.Item(1)
Msgbox "Валидность подписи: " + cStr(oSigner.Certificate.IsValid())
Msgbox "Данные подписи: " + cStr(oSigner.Certificate.SubjectName)
'Msgbox "Время подписи на сервере: " + cStr(oSigner.SignatureTimeStampTime) - ошибка возникает в этом месте
Msgbox "Атрибут подписи: " + cStr(oSigner.AuthenticatedAttributes2.Item(1).Value) - а вот так пытаюсь прочитать атрибуты, с которыми кстати тоже проблема, не могу считать
Отредактировано пользователем 30 января 2013 г. 13:11:33(UTC)
| Причина: Не указана Вложение(я):  doc.zip (2kb) загружен 4 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,836   Сказал «Спасибо»: 582 раз Поблагодарили: 2316 раз в 1814 постах
|
Руслан, в приложенном файле ЭЦП нет нужных (штамп \ время подписания) атрибутов, есть только хеш (messageDigest (1 2 840 113549 1 9 4))... Вложен только твой сертификат. Код:1029 A0 268: . . . . . [0] {
1033 30 24: . . . . . . SEQUENCE {
1035 06 9: . . . . . . . OBJECT IDENTIFIER
: . . . . . . . . contentType (1 2 840 113549 1 9 3)
1046 31 11: . . . . . . . SET {
1048 06 9: . . . . . . . . OBJECT IDENTIFIER data (1 2 840 113549 1 7 1)
: . . . . . . . . }
: . . . . . . . }
1059 30 47: . . . . . . SEQUENCE {
1061 06 9: . . . . . . . OBJECT IDENTIFIER
: . . . . . . . . messageDigest (1 2 840 113549 1 9 4)
1072 31 34: . . . . . . . SET {
1074 04 32: . . . . . . . . OCTET STRING
: . . . . . . . . . 0B CE BA 9E 1D 04 10 64 .......d
: . . . . . . . . . B7 E5 D9 50 97 8F 9D 96 ...P....
: . . . . . . . . . AE 13 F4 3C 61 E2 AD 86 ...<a...
: . . . . . . . . . 7E CC 39 A2 DF 78 F9 E1
: . . . . . . . . }
: . . . . . . . }
Отредактировано пользователем 30 января 2013 г. 13:22:28(UTC)
| Причина: asn1 |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 25.01.2013(UTC) Сообщений: 55  Откуда: Москва Сказал(а) «Спасибо»: 1 раз
|
А как их туда добавить? штамп времени должен задать сервер : oSigner.TSAAddress = "http://www.cryptopro.ru/tsp/tsp.srf" Атрибуты добавляются как у вас в примере: Код:
Set oSigningTimeAttr = CreateObject("CAdESCOM.CPAttribute")
oSigningTimeAttr.Name = CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME
oSigningTimeAttr.Value = Now
Set oSigner = CreateObject("CAdESCOM.CPSigner")
Set oSignedData = CreateObject("CAdESCOM.CadesSignedData")
oSigner.AuthenticatedAttributes.Add oSigningTimeAttr - в этом месте выдается ошибка Invalid procedure call or argument
Я делал так, но вы говорите атрибуты не добавились:
Set oSigningTimeAttr = CreateObject("CAPICOM.Attribute")
oSigningTimeAttr.Name = CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME
oSigningTimeAttr.Value = Now
Set oSigner = CreateObject("CAdESCOM.CPSigner")
Set oSignedData = CreateObject("CAdESCOM.CadesSignedData")
oSigner.AuthenticatedAttributes.Add oSigningTimeAttr
Отредактировано пользователем 30 января 2013 г. 13:51:30(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 25.01.2013(UTC) Сообщений: 55  Откуда: Москва Сказал(а) «Спасибо»: 1 раз
|
Вот так я делал, так все проходит без ошибок Код:
Set oSigningTimeAttr = CreateObject("CAPICOM.Attribute")
oSigningTimeAttr.Name = CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME
oSigningTimeAttr.Value = Now
Set oSigner = CreateObject("CAdESCOM.CPSigner")
Set oSignedData = CreateObject("CAdESCOM.CadesSignedData")
oSigner.AuthenticatedAttributes.Add oSigningTimeAttr
Отредактировано пользователем 30 января 2013 г. 13:47:32(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 25.01.2013(UTC) Сообщений: 55  Откуда: Москва Сказал(а) «Спасибо»: 1 раз
|
Мне даже не сколько атрибуты важны, а сколько штамп времени. Как получить корректный SignatureTimeStampTime
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 25.01.2013(UTC) Сообщений: 55  Откуда: Москва Сказал(а) «Спасибо»: 1 раз
|
Андрей, нет ни каких соображений по этому поводу?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,836   Сказал «Спасибо»: 582 раз Поблагодарили: 2316 раз в 1814 постах
|
Автор: Ruvip  Андрей, нет ни каких соображений по этому поводу?
Как сообщал официальный представитель КриптоПРО - приобрести сертификат тех. поддержки для разработчиков. p.s. в руководстве есть примеры + для плагина есть демо страница - там все работает... так? |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 25.01.2013(UTC) Сообщений: 55  Откуда: Москва Сказал(а) «Спасибо»: 1 раз
|
Мне осталось сделать получение штампа времени и все, ради этого покупать сертификат не стоит.... А так встречный вопрос, в моем случае сколько будет стоить данные сертификат, что бы получать своевременную техподдержку??? А по поводу руководства разработчика и плагина не знаю, работает код или нет
|
|
|
|
Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
Почему не получается получить штамп времени SignatureTimeStampTime
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close