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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline vyacheslav  
#1 Оставлено : 20 июля 2010 г. 18:48:35(UTC)
vyacheslav

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

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

Здравствуйте!
Необходимо проверить средствами CryptoAPI detached подпись и со-подпись, созданную утилитой cryptcp.exe

1. cryptcp.exe -signf -uMy -dn "IvanovII" test1.txt -cert
Получили отдельно подпись test1.txt.sgn

2. cryptcp.exe -addsign -uMy -dn "PetrovVV" test1.txt.sgn
Добавляем со-подпись в test1.txt.sgn

Проверка дает успешный результат:
cryptcp.exe -vsignf -uMy -dn "IvanovII" -dn "PetrovVV" test1.txt

Теперь пытаюсь те-же данные проверить CryptoAPI :

Код:
CryptVerifyDetachedMessageSignature(
                ref VerifyParams,
                0,
                pbDetachedSignBlob,  // детачед подпись
                cbDetachedSignBlob,  // размер подписи
                1,  // кол-во блоков данных
                rgpbToBeSigned,
                rgcbToBeSigned,
                //IntPtr.Zero          // Pointer to signer certificate.
                 ppCert
                );


Если dwSignerIndex (второй параметр) = 0, то выдает результат true, возвращает указатель на сертификат первого подписавшего.
При dwSignerIndex = 1 возвращает ошибку.
Как правильно проверить со-подпись?
Offline Kirill Sobolev  
#2 Оставлено : 20 июля 2010 г. 20:01:27(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Цитата:
При dwSignerIndex = 1 возвращает ошибку.

Какую?
Техническую поддержку оказываем тут
Наша база знаний
Offline vyacheslav  
#3 Оставлено : 21 июля 2010 г. 13:43:13(UTC)
vyacheslav

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

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

Marshal.GetLastWin32Error(); возвращает -2146893818
Какой то странный код, здесь его не нашел
http://msdn.microsoft.co...681381%28v=VS.85%29.aspx
Offline vyacheslav  
#4 Оставлено : 21 июля 2010 г. 13:55:46(UTC)
vyacheslav

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

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

Это оно?
InnerException = {"Неправильная подпись"}
Offline Kirill Sobolev  
#5 Оставлено : 21 июля 2010 г. 14:21:50(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Оно.
http://msdn.microsoft.co...us/library/aa915314.aspx
Можете test1.txt и test1.txt.sgn в base64 здесь выложить?
Техническую поддержку оказываем тут
Наша база знаний
Offline vyacheslav  
#6 Оставлено : 21 июля 2010 г. 17:17:02(UTC)
vyacheslav

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

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

Файлы:

test1.txt
Код:
1111111111


test1.txt.sgn
Код:
MIIIjQYJKoZIhvcNAQcCoIIIfjCCCHoCAQExDDAKBgYqhQMCAgkFADALBgkqhkiG
9w0BBwGggga+MIIDWzCCAwigAwIBAgIKJLz9bQAAAAAAHjAKBgYqhQMCAgMFADBb
MRIwEAYKCZImiZPyLGQBGRYCcnUxGzAZBgoJkiaJk/IsZAEZFgttZWNoZWxncm91
cDEUMBIGCgmSJomT8ixkARkWBGNobWsxEjAQBgNVBAMTCWNobWstY2EwMjAeFw0x
MDA3MjEwNzA5NTlaFw0xMzA3MjEwNzE5NTlaMBMxETAPBgNVBAMTCEl2YW5vdklJ
MGMwHAYGKoUDAgITMBIGByqFAwICJAAGByqFAwICHgEDQwAEQLep6elslu8UjZGV
eh/ftukn+NL/IoiIfPusXNp8KEbV14UM1UNlgGehKCvKabOyRleYOV3LyZt0uokP
QG3i9m6jggHwMIIB7DAdBgNVHQ4EFgQUDLFMrqw640KnlCIZefscLdpjMtAwHwYD
VR0lBBgwFgYKKwYBBAGCNxQCAgYIKwYBBQUHAwIwCwYDVR0PBAQDAgWgMB8GA1Ud
IwQYMBaAFBnX5FoNf+tIlMwPQRIZHZvMJH9AMIGUBgNVHR8EgYwwgYkwgYaggYOg
gYCGPWh0dHA6Ly9jaG1rLWNhMDIuY2htay5tZWNoZWxncm91cC5ydS9DZXJ0RW5y
b2xsL2NobWstY2EwMi5jcmyGP2ZpbGU6Ly9cXGNobWstY2EwMi5jaG1rLm1lY2hl
bGdyb3VwLnJ1XENlcnRFbnJvbGxcY2htay1jYTAyLmNybDCB5AYIKwYBBQUHAQEE
gdcwgdQwZwYIKwYBBQUHMAKGW2h0dHA6Ly9jaG1rLWNhMDIuY2htay5tZWNoZWxn
cm91cC5ydS9DZXJ0RW5yb2xsL2NobWstY2EwMi5jaG1rLm1lY2hlbGdyb3VwLnJ1
X2NobWstY2EwMi5jcnQwaQYIKwYBBQUHMAKGXWZpbGU6Ly9cXGNobWstY2EwMi5j
aG1rLm1lY2hlbGdyb3VwLnJ1XENlcnRFbnJvbGxcY2htay1jYTAyLmNobWsubWVj
aGVsZ3JvdXAucnVfY2htay1jYTAyLmNydDAKBgYqhQMCAgMFAANBALtonJuzOgeF
rV+rQH1j5GVtrFkHMJG11aZ6ci3RYJTmCFCabeVrRmYC/NZCCoWtM+apZcPnuyjv
6gJXSDacsyIwggNbMIIDCKADAgECAgokvQ2aAAAAAAAfMAoGBiqFAwICAwUAMFsx
EjAQBgoJkiaJk/IsZAEZFgJydTEbMBkGCgmSJomT8ixkARkWC21lY2hlbGdyb3Vw
MRQwEgYKCZImiZPyLGQBGRYEY2htazESMBAGA1UEAxMJY2htay1jYTAyMB4XDTEw
MDcyMTA3MTAwM1oXDTEzMDcyMTA3MjAwM1owEzERMA8GA1UEAxMIUGV0cm92VlYw
YzAcBgYqhQMCAhMwEgYHKoUDAgIkAAYHKoUDAgIeAQNDAARA5S+focUigRU/boQL
ufhYYoH27ZaOceqDlm8xQrsv88R1ovEOKpfbSfRW7GoEAeaV8U+ZSXuG7nb0UwQq
SZXXQKOCAfAwggHsMB0GA1UdDgQWBBTvWCG3yez9dIbuIG13yvWhfRO6zDAfBgNV
HSUEGDAWBgorBgEEAYI3FAICBggrBgEFBQcDAjALBgNVHQ8EBAMCBaAwHwYDVR0j
BBgwFoAUGdfkWg1/60iUzA9BEhkdm8wkf0AwgZQGA1UdHwSBjDCBiTCBhqCBg6CB
gIY9aHR0cDovL2NobWstY2EwMi5jaG1rLm1lY2hlbGdyb3VwLnJ1L0NlcnRFbnJv
bGwvY2htay1jYTAyLmNybIY/ZmlsZTovL1xcY2htay1jYTAyLmNobWsubWVjaGVs
Z3JvdXAucnVcQ2VydEVucm9sbFxjaG1rLWNhMDIuY3JsMIHkBggrBgEFBQcBAQSB
1zCB1DBnBggrBgEFBQcwAoZbaHR0cDovL2NobWstY2EwMi5jaG1rLm1lY2hlbGdy
b3VwLnJ1L0NlcnRFbnJvbGwvY2htay1jYTAyLmNobWsubWVjaGVsZ3JvdXAucnVf
Y2htay1jYTAyLmNydDBpBggrBgEFBQcwAoZdZmlsZTovL1xcY2htay1jYTAyLmNo
bWsubWVjaGVsZ3JvdXAucnVcQ2VydEVucm9sbFxjaG1rLWNhMDIuY2htay5tZWNo
ZWxncm91cC5ydV9jaG1rLWNhMDIuY3J0MAoGBiqFAwICAwUAA0EAptOsgvK4Lleq
bixWrOsi6kvZ+xkmoKTdKdHT6B3oq7MA6ds8nw/R41pBmxcOSWXum7R/xvH/lPg5
sf8ro6EztDGCAZYwgcgCAQEwaTBbMRIwEAYKCZImiZPyLGQBGRYCcnUxGzAZBgoJ
kiaJk/IsZAEZFgttZWNoZWxncm91cDEUMBIGCgmSJomT8ixkARkWBGNobWsxEjAQ
BgNVBAMTCWNobWstY2EwMgIKJLz9bQAAAAAAHjAKBgYqhQMCAgkFADAKBgYqhQMC
AhMFAARADWQIkzk2FH+auSWT8Ah0dd9x8WIiX8eUdvwg275VQeDuzvbvHhx8uezH
wOy07A1myCPa8+ftTQeDGBHjc5s7FDCByAIBATBpMFsxEjAQBgoJkiaJk/IsZAEZ
FgJydTEbMBkGCgmSJomT8ixkARkWC21lY2hlbGdyb3VwMRQwEgYKCZImiZPyLGQB
GRYEY2htazESMBAGA1UEAxMJY2htay1jYTAyAgokvQ2aAAAAAAAfMAoGBiqFAwIC
CQUAMAoGBiqFAwICEwUABEB0jHziZ4uDycP6SiJbew9rgaZMtqhajdzpZjKGuPNd
re4AVX97BvQ0iZSYfmkOwyR/MfC0ATFMngM+9QyH82hP

Offline Kirill Sobolev  
#7 Оставлено : 22 июля 2010 г. 21:15:20(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Соподпись не на test1.txt - можете подать вместо rgpbToBeSigned и rgcbToBeSigned нули и убедиться в этом.
Техническую поддержку оказываем тут
Наша база знаний
Offline vyacheslav  
#8 Оставлено : 23 июля 2010 г. 11:26:33(UTC)
vyacheslav

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

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

Соподпись создаю в 2 шага:

1. cryptcp.exe -signf -uMy -dn "IvanovII" test1.txt -cert
2. cryptcp.exe -addsign -uMy -dn "PetrovVV" test1.txt.sgn

Как тогда правильно сделать соподпись на детачед подпись утилитой cryptcp?

Почему проверка дает положительный результат?
cryptcp.exe -vsignf -uMy -dn "IvanovII" -dn "PetrovVV" test1.txt


Offline vyacheslav  
#9 Оставлено : 23 июля 2010 г. 11:46:08(UTC)
vyacheslav

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

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

Спасибо, Кирилл, за внимание к моему вопросу.

Соподпись создаю в 2 шага:

1. cryptcp.exe -signf -uMy -dn "IvanovII" test1.txt -cert
2. cryptcp.exe -addsign -uMy -dn "PetrovVV" test1.txt.sgn

Как тогда правильно сделать соподпись на детачед подпись утилитой cryptcp?

Почему проверка дает положительный результат?
cryptcp.exe -vsignf -uMy -dn "IvanovII" -dn "PetrovVV" test1.txt

Правильно ли я понимаю, что я подписываю именно первую подпись, и тогда надо именно ее подавать на проверку, а не исходное сообщение test1.txt ?
cryptcp.exe -addsign -uMy -dn "PetrovVV" test1.txt.sgn

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