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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline sotex  
#1 Оставлено : 5 сентября 2012 г. 21:42:05(UTC)
sotex

Статус: Участник

Группы: Участники
Зарегистрирован: 05.09.2012(UTC)
Сообщений: 10
Откуда: SPb

Не работает подпись CryptSignHash из CryptoAPI (сборка на delphi7)
Подключаюсь как Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider
Тестовый сертификат взять с http://www.cryptopro.ru/certsrv/ тоже как Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider для подписи.
Online Андрей Писарев  
#2 Оставлено : 5 сентября 2012 г. 22:32:01(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,318
Мужчина
Российская Федерация

Сказал «Спасибо»: 549 раз
Поблагодарили: 2207 раз в 1722 постах
sotex написал:
Не работает подпись CryptSignHash из CryptoAPI (сборка на delphi7)
Подключаюсь как Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider
Тестовый сертификат взять с http://www.cryptopro.ru/certsrv/ тоже как Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider для подписи.


а у меня работает Anxious

(сборка на delphi7)
и ?

а) где код
б) что используется в качестве обертки на CryptoAPI
в) где ошибка\код ошибки


Отредактировано пользователем 5 сентября 2012 г. 22:33:15(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline sotex  
#3 Оставлено : 6 сентября 2012 г. 0:52:08(UTC)
sotex

Статус: Участник

Группы: Участники
Зарегистрирован: 05.09.2012(UTC)
Сообщений: 10
Откуда: SPb

Андрей * написал:
sotex написал:
Не работает подпись CryptSignHash из CryptoAPI (сборка на delphi7)
Подключаюсь как Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider
Тестовый сертификат взять с http://www.cryptopro.ru/certsrv/ тоже как Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider для подписи.


а у меня работает Anxious

(сборка на delphi7)
и ?

а) где код
б) что используется в качестве обертки на CryptoAPI
в) где ошибка\код ошибки



код банальнейший (отпуская проверки и выволд кода ошибки)

gonext := CryptAcquireContext(@Prov,'sdk','Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider',75,CRYPT_MACHINE_KEYSET);
gonext := CryptCreateHash(Prov,CALG_SHA1,0,0, @Hash);
gonext := CryptHashData(Hash,PByte(point),Length(point),0);
BufLen:=0;
gonext := CryptSignHash(Hash,AT_SIGNATURE,nil,0,PByte(sResult),@BufLen);
if BufLen>0 then begin
SetLength(sResult,BufLen);
CryptSignHash(Hash,AT_SIGNATURE,nil,0,PByte(sResult),@BufLen);
end;

ошибки:
CryptAcquireContext Ok
5
CryptCreateHash Ok
5
CryptHashData Ok
5
CryptSignHash Ok
5
0
QEKZACwQAAA1DQoACDZFAEBCmQAcEAAAAAAAAAAAAAAAAAAA1gIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAPQkmQD0JJ==

сама подпись - просто base64 не измененной CryptSignHash памяти
Online Андрей Писарев  
#4 Оставлено : 6 сентября 2012 г. 1:19:12(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,318
Мужчина
Российская Федерация

Сказал «Спасибо»: 549 раз
Поблагодарили: 2207 раз в 1722 постах
sotex написал:

код банальнейший (отпуская проверки и выволд кода ошибки)

gonext := CryptAcquireContext(@Prov,'sdk','Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider',75,CRYPT_MACHINE_KEYSET);
gonext := CryptCreateHash(Prov,CALG_SHA1,0,0, @Hash);
gonext := CryptHashData(Hash,PByte(point),Length(point),0);
BufLen:=0;
gonext := CryptSignHash(Hash,AT_SIGNATURE,nil,0,PByte(sResult),@BufLen);
if BufLen>0 then begin
SetLength(sResult,BufLen);
CryptSignHash(Hash,AT_SIGNATURE,nil,0,PByte(sResult),@BufLen);
end;

ошибки:
CryptAcquireContext Ok
5
CryptCreateHash Ok
5
CryptHashData Ok
5
CryptSignHash Ok
5
0
QEKZACwQAAA1DQoACDZFAEBCmQAcEAAAAAAAAAAAAAAAAAAA1gIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAPQkmQD0JJ==

сама подпись - просто base64 не измененной CryptSignHash памяти



gonext := CryptCreateHash(Prov,CALG_SHA1,0,0, @Hash);

Не вижу правильного алгоритма хеширования

Отредактировано пользователем 6 сентября 2012 г. 1:20:25(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Online Андрей Писарев  
#5 Оставлено : 6 сентября 2012 г. 1:23:15(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,318
Мужчина
Российская Федерация

Сказал «Спасибо»: 549 раз
Поблагодарили: 2207 раз в 1722 постах
Цитата:
: . 99 00 2C 10 00 00 35 0D ..,...5.
: . 0A 00 08 36 45 00 40 42 ...6E.@B
: . 99 00 1C 10 00 00 00 00 ........
: . 00 00 00 00 00 00 00 00 ........
: . 00 00 D6 02 00 00 01 00 ........
: . 53 00 74 00 72 00 69 00 S.t.r.i.
: . 6E 00 67 00 46 00 69 00 n.g.F.i.
: . 6C 00 65 00 49 00 F4 24 l.e.I..$
: . 99 00 ..


не сильно похоже на подпись Anxious
мусор?
Техническую поддержку оказываем тут
Наша база знаний
Offline sotex  
#6 Оставлено : 6 сентября 2012 г. 1:25:48(UTC)
sotex

Статус: Участник

Группы: Участники
Зарегистрирован: 05.09.2012(UTC)
Сообщений: 10
Откуда: SPb

Андрей * написал:
sotex написал:

код банальнейший (отпуская проверки и выволд кода ошибки)

gonext := CryptAcquireContext(@Prov,'sdk','Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider',75,CRYPT_MACHINE_KEYSET);
gonext := CryptCreateHash(Prov,CALG_SHA1,0,0, @Hash);
gonext := CryptHashData(Hash,PByte(point),Length(point),0);
BufLen:=0;
gonext := CryptSignHash(Hash,AT_SIGNATURE,nil,0,PByte(sResult),@BufLen);
if BufLen>0 then begin
SetLength(sResult,BufLen);
CryptSignHash(Hash,AT_SIGNATURE,nil,0,PByte(sResult),@BufLen);
end;

ошибки:
CryptAcquireContext Ok
5
CryptCreateHash Ok
5
CryptHashData Ok
5
CryptSignHash Ok
5
0
QEKZACwQAAA1DQoACDZFAEBCmQAcEAAAAAAAAAAAAAAAAAAA1gIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAPQkmQD0JJ==

сама подпись - просто base64 не измененной CryptSignHash памяти



gonext := CryptCreateHash(Prov,CALG_SHA1,0,0, @Hash);

Не вижу правильного алгоритма хеширования


с другим (напр. CALG_MD5) CryptSignHash выдает ошибку 2148073480
(В подписном сертификате указан SHA1)
Online Андрей Писарев  
#7 Оставлено : 6 сентября 2012 г. 1:27:42(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,318
Мужчина
Российская Федерация

Сказал «Спасибо»: 549 раз
Поблагодарили: 2207 раз в 1722 постах
sotex написал:
Андрей * написал:
sotex написал:

код банальнейший (отпуская проверки и выволд кода ошибки)

gonext := CryptAcquireContext(@Prov,'sdk','Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider',75,CRYPT_MACHINE_KEYSET);
gonext := CryptCreateHash(Prov,CALG_SHA1,0,0, @Hash);
gonext := CryptHashData(Hash,PByte(point),Length(point),0);
BufLen:=0;
gonext := CryptSignHash(Hash,AT_SIGNATURE,nil,0,PByte(sResult),@BufLen);
if BufLen>0 then begin
SetLength(sResult,BufLen);
CryptSignHash(Hash,AT_SIGNATURE,nil,0,PByte(sResult),@BufLen);
end;

ошибки:
CryptAcquireContext Ok
5
CryptCreateHash Ok
5
CryptHashData Ok
5
CryptSignHash Ok
5
0
QEKZACwQAAA1DQoACDZFAEBCmQAcEAAAAAAAAAAAAAAAAAAA1gIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAPQkmQD0JJ==

сама подпись - просто base64 не измененной CryptSignHash памяти



gonext := CryptCreateHash(Prov,CALG_SHA1,0,0, @Hash);

Не вижу правильного алгоритма хеширования


с другим (напр. CALG_MD5) CryptSignHash выдает ошибку 2148073480
(В подписном сертификате указан SHA1)



В подписном сертификате указан SHA1 = где?
Цитата:

_BAD_ALGID = 2148073480

Если открытый ключ не ГОСТ - тогда какие могут быть вопросы к КриптоПРО CSP ?

Отредактировано пользователем 6 сентября 2012 г. 1:28:41(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline sotex  
#8 Оставлено : 6 сентября 2012 г. 1:28:32(UTC)
sotex

Статус: Участник

Группы: Участники
Зарегистрирован: 05.09.2012(UTC)
Сообщений: 10
Откуда: SPb

Андрей * написал:
Цитата:
: . 99 00 2C 10 00 00 35 0D ..,...5.
: . 0A 00 08 36 45 00 40 42 ...6E.@B
: . 99 00 1C 10 00 00 00 00 ........
: . 00 00 00 00 00 00 00 00 ........
: . 00 00 D6 02 00 00 01 00 ........
: . 53 00 74 00 72 00 69 00 S.t.r.i.
: . 6E 00 67 00 46 00 69 00 n.g.F.i.
: . 6C 00 65 00 49 00 F4 24 l.e.I..$
: . 99 00 ..


не сильно похоже на подпись Anxious
мусор?


сама подпись - просто base64 не измененной CryptSignHash памяти
Online Андрей Писарев  
#9 Оставлено : 6 сентября 2012 г. 1:31:28(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,318
Мужчина
Российская Федерация

Сказал «Спасибо»: 549 раз
Поблагодарили: 2207 раз в 1722 постах
Свойства сертификата\Состав

Чему равно поле Открытый ключ?
ГОСТ Р 34.10-2001 (512 бит) ?



Техническую поддержку оказываем тут
Наша база знаний
Offline sotex  
#10 Оставлено : 6 сентября 2012 г. 1:31:58(UTC)
sotex

Статус: Участник

Группы: Участники
Зарегистрирован: 05.09.2012(UTC)
Сообщений: 10
Откуда: SPb

Андрей * написал:
sotex написал:
Андрей * написал:
sotex написал:

код банальнейший (отпуская проверки и выволд кода ошибки)

gonext := CryptAcquireContext(@Prov,'sdk','Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider',75,CRYPT_MACHINE_KEYSET);
gonext := CryptCreateHash(Prov,CALG_SHA1,0,0, @Hash);
gonext := CryptHashData(Hash,PByte(point),Length(point),0);
BufLen:=0;
gonext := CryptSignHash(Hash,AT_SIGNATURE,nil,0,PByte(sResult),@BufLen);
if BufLen>0 then begin
SetLength(sResult,BufLen);
CryptSignHash(Hash,AT_SIGNATURE,nil,0,PByte(sResult),@BufLen);
end;

ошибки:
CryptAcquireContext Ok
5
CryptCreateHash Ok
5
CryptHashData Ok
5
CryptSignHash Ok
5
0
QEKZACwQAAA1DQoACDZFAEBCmQAcEAAAAAAAAAAAAAAAAAAA1gIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAPQkmQD0JJ==

сама подпись - просто base64 не измененной CryptSignHash памяти



gonext := CryptCreateHash(Prov,CALG_SHA1,0,0, @Hash);

Не вижу правильного алгоритма хеширования


с другим (напр. CALG_MD5) CryptSignHash выдает ошибку 2148073480
(В подписном сертификате указан SHA1)



В подписном сертификате указан SHA1 = где?
Цитата:

_BAD_ALGID = 2148073480

Если открытый ключ не ГОСТ - тогда какие могут быть вопросы к КриптоПРО CSP ?



Алгоритм подписи - ГОСТ Р 34.11/34.10-2001
Алгоритм отпечатка - sha1
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.