Форум КриптоПро
»
Средства криптографической защиты информации
»
Встраивание
»
Проверка подписи успешна на битом сообщении. Как такое возможно?
Статус: Активный участник
Группы: Участники
Зарегистрирован: 29.03.2011(UTC) Сообщений: 170  Откуда: Москва Сказал «Спасибо»: 8 раз Поблагодарили: 3 раз в 3 постах
|
Создал простой текстовый файл, содержащий 4 байта: test Подписал его с помощью функции CryptSignMessage - получил pbSignedBlob. Далее делаю проверку подписи - CryptVerifyMessage - все ок, получаю данные и сертификат. Поменял в pbSignedBlob один байт. Снова делаю проверку подписи - опять все ок, но данные получились уже длиной 6 байт! И перед моими данными test появились еще два байта с кодом 0x04. Как такое может быть? pbSignedBlob могу предоставить в измененном и неизменном виде. Насколько я понимаю, функция CryptVerifyMessage должна проверить и соответствие хэша сообщению, и саму подпись. Неужели она работает по-другому?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,457  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 39 раз Поблагодарили: 750 раз в 645 постах
|
Попробуйте поменять данные внутри сообщения (asn1dump в помощь) |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 29.03.2011(UTC) Сообщений: 170  Откуда: Москва Сказал «Спасибо»: 8 раз Поблагодарили: 3 раз в 3 постах
|
тогда выдает CRYPT_E_HASH_VALUE = 0x80091007
Но она и при изменении разных частей пакета разными ошибками плюет. Но не всегда. Как раз я наткнулся на случай, когда ошибки при проверке нет, но данные некорректны. Такого ведь не должно быть?
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 29.03.2011(UTC) Сообщений: 170  Откуда: Москва Сказал «Спасибо»: 8 раз Поблагодарили: 3 раз в 3 постах
|
Что, никто не знает, как с этим бороться? Есть какие-то функции по проверке целостности пакета? И почему все-таки ЭЦП проверяется успешно, а данные битые? Я понимаю, что эта функция реализована в Windows API, но может все-таки есть люди, знающие ответ?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,457  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 39 раз Поблагодарили: 750 раз в 645 постах
|
Давайте пример. Если испорчен "конверт" - не значит, что данные битые. |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 29.03.2011(UTC) Сообщений: 170  Откуда: Москва Сказал «Спасибо»: 8 раз Поблагодарили: 3 раз в 3 постах
|
Да, испорчен именно конверт. Если данные испорчены - то проверка подписи не проходит. Но в результате работы функции данные получаются битые. В приложенных файлах pbSignedBlob исходный, и измененный: http://ifolder.ru/24334397Здесь упакованные в Base64: Исходный: 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 Битый: MIIG7wYJKoZIhvcNAQcCoIIG4DCCBtwCAQExDDAKBgYqhQMCAgkFADATBgkqhkiG0w0BBwGgBgQEdGVzdKCCBMAwggS8MIIEa6ADAgECAgphA1u9AAAAAAACMAgGBiqFAwICAzBaMRMwEQYKCZImiZPyLGQBGRYDYml6MRgwFgYKCZImiZPyLGQBGRYIcmVkLXNvZnQxFTATBgoJkiaJk/IsZAEZFgVyb21hbjESMBAGA1UEAxMJTW9zY293IENBMB4XDTExMDYxNzE0MDMxM1oXDTEyMDYxNzE0MTMxM1owgZMxCzAJBgNVBAYTAlJVMQ8wDQYDVQQIEwZNb3Njb3cxDzANBgNVBAcTBlZpZG5vZTERMA8GA1UEChMIUmVkIFNvZnQxCzAJBgNVBAsTAk5BMRcwFQYDVQQDEw5Sb21hbiBLaXNsdWhpbjEpMCcGCSqGSIb3DQEJARYacm9tYW4ua2lzbHVoaW5AcmVkc29mdC5iaXowYzAcBgYqhQMCAhMwEgYHKoUDAgIjAQYHKoUDAgIeAQNDAARAgkfTZ5x42vPQ4RLVoYjoLokuoYvkjRYIdHZGNHo0Wc4JSCyKIPoCWszHX7c8iOy1MtX6tcxYlpbNvwIjNPxpT6OCAtUwggLRMA4GA1UdDwEB/wQEAwIGwDAdBgNVHQ4EFgQUv1ChMOcqkYiekuOHHPvhHynQRkgwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHwYDVR0jBBgwFoAUWKqlMJGftpi2I7yM6dDUcJbRR2swggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYaBxGxkYXA6Ly8vQ049TW9zY293JTIwQ0EsQ049cm9tYW4tY3dodmtpc3ozLENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPXJvbWFuLERDPXJlZC1zb2Z0LERDPWJpej9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnSGRGh0dHA6Ly9yb21hbi1jd2h2a2lzejMucm9tYW4ucmVkLXNvZnQuYml6L0NlcnRFbnJvbGwvTW9zY293JTIwQ0EuY3JsMIIBPgYIKwYBBQUHAQEEggEwMIIBLDCBtAYIKwYBBQUHMAKGgadsZGFwOi8vL0NOPU1vc2NvdyUyMENBLENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPXJvbWFuLERDPXJlZC1zb2Z0LERDPWJpej9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTBzBggrBgEFBQcwAoZnaHR0cDovL3JvbWFuLWN3aHZraXN6My5yb21hbi5yZWQtc29mdC5iaXovQ2VydEVucm9sbC9yb21hbi1jd2h2a2lzejMucm9tYW4ucmVkLXNvZnQuYml6X01vc2NvdyUyMENBLmNydDAIBgYqhQMCAgMDQQCYz++9bLgZ98EKuDYVN9DgRQx8g1OLbrAfoGFviNk1wFfaKacI/nO26xycDZFbpXS5tGySm0ovCyPWXsjUgVlJMYIB7jCCAeoCAQEwaDBaMRMwEQYKCZImiZPyLGQBGRYDYml6MRgwFgYKCZImiZPyLGQBGRYIcmVkLXNvZnQxFTATBgoJkiaJk/IsZAEZFgVyb21hbjESMBAGA1UEAxMJTW9zY293IENBAgphA1u9AAAAAAACMAoGBiqFAwICCQUAoIIBHzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xMTA2MjMxNDAxMzJaMC8GCSqGSIb3DQEJBDEiBCDuZzA2ltIF3dKyNj6OAbS3GZqAlX2U12eOqtP8g0xaJzCBswYLKoZIhvcNAQkQAi8xgaMwgaAwgZ0wgZowCAYGKoUDAgIJBCBCGK43u4iW+yF0dpC/eadBRuXSfFlYcXuqmfL9H2fMKDBsMF6kXDBaMRMwEQYKCZImiZPyLGQBGRYDYml6MRgwFgYKCZImiZPyLGQBGRYIcmVkLXNvZnQxFTATBgoJkiaJk/IsZAEZFgVyb21hbjESMBAGA1UEAxMJTW9zY293IENBAgphA1u9AAAAAAACMAoGBiqFAwICEwUABEDIedVwEpZJCHnuqfXUkk5AGBosCroHy9s8GYJg9WCT4xGV+8eAxPmbh5tNqfljuyO6HxjUqa+PaU+hi9gpVrtJAAAAAAAAAAAAAAAAAAAAAA== Отредактировано пользователем 30 июня 2011 г. 2:36:02(UTC)
| Причина: Не указана
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,457  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 39 раз Поблагодарили: 750 раз в 645 постах
|
А с чем собственно боремся? |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 29.03.2011(UTC) Сообщений: 170  Откуда: Москва Сказал «Спасибо»: 8 раз Поблагодарили: 3 раз в 3 постах
|
Как данные получить из такого сообщения? Мне же не из спортивного интереса ЭЦП проверять надо. Мне бы еще и данные потом пользователю предоставить. А данные поломаны.
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 29.03.2011(UTC) Сообщений: 170  Откуда: Москва Сказал «Спасибо»: 8 раз Поблагодарили: 3 раз в 3 постах
|
Да, и плохо то не то, что они поломаны - еще раз пошлют. Плохо, что пользователь об этом не узнает.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,457  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 39 раз Поблагодарили: 750 раз в 645 постах
|
Попробовал на Win7 - воспроизвелось. Очень похоже на ошибку в Windows. Завтра проверим с нашей реализацией PKCS#7. |
|
|
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
Встраивание
»
Проверка подписи успешна на битом сообщении. Как такое возможно?
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close