Экспорт сертификата

Тема в разделе "WASM.CRYPTO", создана пользователем lamer2k, 16 мар 2007.

  1. lamer2k

    lamer2k New Member

    Публикаций:
    0
    Регистрация:
    14 май 2006
    Сообщения:
    88
    Ковыряю сертификаты, чтобы экспортировать сертификаты импортированные с ключиком CRYPT_EXPORTABLE
    достаточно вызвать PFXExportCertStore и передать правильно параметры. Но вот если ключ не экспортируемый экспорт через PFXExportCertStore проходит успешно, но приватный ключ не экспортируется.

    Уже так запутался, может я зря все ковыряю хотелось бы спросить мастеров которые уже имели дело с этим, рельно ли экспортировать ключ с NON-EXPORTABLE флагом ?
    где то тут проскаивало сообщение что кто-то в отладчике менял параметр с NON-EXPORTABLE на EXPORTABLE и все имортировалось без проблем, но все-таки кажется не может быть чтоб флаг влиял на экспортируемость ключа неужели не используется никакой дополнительной криптографии позволяющей привязать ключ и сделать его реально не экспортируемым ? с другой стороны во время сесси с узлом запрашивающим этот сертификат должна генерироватся какя-то подпись и значит привтаный ключ приводится все-же к удобоваримому виду.

    все следы идут в криптопровайдер rsaenh.dll она импортирует функцию CPExportKey

    Декомпилировал, благо PDB прилинкован, в этой функции происходят следущие действия:

    NtLCheckList - Судя по названию что-то проверяется
    NTLValidate
    WrapSymKey
    ExportOpaqueBlob - что-то экспортируется

    CPGetKeyParam - тут функция получет информацию о ключе
    могут быть возвращены такие флаги:
    CRYPT_ENCRYPT Allows encryption
    CRYPT_DECRYPT Allows decryption
    CRYPT_EXPORT Allows key to be exported
    CRYPT_READ Allows parameters to be read
    CRYPT_WRITE Allows parameters to be set
    CRYPT_MAC Allows MACs to be used with key

    и далее используются аглгоритмы Rc2, tripledes, rc4, des
    и не экспортируемые функции функции

    UnprotectPrivKey
    PreparePrivateKeyForExport
    LocalEncrypt
    RSAEncrypt

    заглянул сюда
    http://source.winehq.org/source/dlls/advapi32/crypt.c, видимо это что-то не то, хотя функция CPExportKey есть
    в исходниках винды по кранйней мере в w2k нету того что надо.

    может я иду в не верном направлении ?
     
  2. lamer2k

    lamer2k New Member

    Публикаций:
    0
    Регистрация:
    14 май 2006
    Сообщения:
    88
    Ну раз это такая приватная тема ответьте хоть на вопрос:
    "возможно ли экспортировать ключ с NON-EXPORTABLE флагом ?"
     
  3. planet

    planet New Member

    Публикаций:
    0
    Регистрация:
    10 апр 2007
    Сообщения:
    108
    Получилось? Прошелся в Ольке по телу CPExportKey, CPGetKeyParam вроде не вызывается. Где надо патчить, подскажите..