У меня есть структуру ASN.1 (зашифрованный сеансовый ключ):Импорт шифруется ключ сеанса
SEQUENCE(2 elem)
SEQUENCE(2 elem)
OCTET STRING(32 byte) 5E70735F3698B4355B45037FA7CE0097115E45C6585994726642063F723AB49E
OCTET STRING(4 byte) 8C860884
[0](3 elem)
OBJECT IDENTIFIER1.2.643.2.2.31.1
[0](2 elem)
SEQUENCE(2 elem)
OBJECT IDENTIFIER1.2.643.2.2.19
SEQUENCE(2 elem)
OBJECT IDENTIFIER1.2.643.2.2.36.0
OBJECT IDENTIFIER1.2.643.2.2.30.1
BIT STRING(1 elem)
OCTET STRING(64 byte) 2DC3FDF69C913DCCB653268E512F5EDDE41A5DB3583CDF6068F248A2B0B8DE7BC9AA20E3CF63DF5F395521E0A0DD853E0AAF44FA493CD54CA8048D1D9C4185FB
OCTET STRING(8 byte) 76EEB46B1B1036EB
Как расшифровать эту структуру с помощью функции CryptImportKey?
Я использую Crypto. Пример моего кода http://pastebin.com/WHXhbXHx. Ошибка возникает в строке 194 (Ошибка 0x80090005). Я думаю, что проблема в структуре SIMPLEBLOB. – shushlyakov
И почему-то вы не думали, что информация должна быть включена в вопрос? –
@shushlyakov Вы можете использовать OllyDbg, чтобы проверить свою гипотезу: просто установите точку останова на CryptImportKey и, как только она попадет, внимательно посмотрите; это будет не быстро, но в итоге вы столкнетесь с инструкцией, которая порождает ошибку. Чтобы сузить начальный поиск, вы также можете использовать * trace * mode вместо * step-in */* step-over *, условие настройки для EAX равно 0x80090005. –