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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Армир  
#1 Оставлено : 21 октября 2014 г. 15:48:23(UTC)
Армир

Статус: Новичок

Группы: Участники
Зарегистрирован: 18.10.2014(UTC)
Сообщений: 9
Российская Федерация

OS: RHEL7
KERNEL: 3.1
CSP: 3.9
SDK: 1.05

Сообщение в base64:


Сообщение без base64:


Пытаюсь открыть сообщение для извлечения из него параметров:

Код:
    DEFAULT_ENCODING_TYPE = DWORD(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING)

    with open('/tmp/sign.b64', 'rb') as fh:
        message_b64 = fh.read()
        
    message_raw = b64decode(message_b64)
    message_buffer = create_string_buffer(message_raw)
    message_size = len(message_buffer.raw)

    message_handler = CryptMsgOpenToDecode(
        DEFAULT_ENCODING_TYPE,
        0,
        0,
        NULL,
        NULL)

    CryptMsgUpdate(
        message_handler,
        message_buffer,
        message_size,
        TRUE)


Backtrace:


В логах записей не обнаружено.

Отредактировано пользователем 21 октября 2014 г. 15:52:40(UTC)  | Причина: Не указана

Offline Армир  
#2 Оставлено : 21 октября 2014 г. 16:31:30(UTC)
Армир

Статус: Новичок

Группы: Участники
Зарегистрирован: 18.10.2014(UTC)
Сообщений: 9
Российская Федерация

Это прозвучит очень странно, но...

Если перед вызовом проинициализировать int() или long(), то ошибка сегментирования пропадает.
Если же убрать, то возникает вновь.

p.s.: Python 2.7.5

Отредактировано пользователем 21 октября 2014 г. 16:33:30(UTC)  | Причина: Не указана

Offline Армир  
#3 Оставлено : 21 октября 2014 г. 16:48:06(UTC)
Армир

Статус: Новичок

Группы: Участники
Зарегистрирован: 18.10.2014(UTC)
Сообщений: 9
Российская Федерация

Ошибка возникала по крайне нелепой ситуации, я забыл передать 6-ой аргумент в функцию CryptMsgOpenToDecode, а найденная мной случайно заглушка с int и long видимо как-то влияла на вызов. Скорее всего значение int() оказывалось на стеке.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.