30.12.2002 17:06:29Что есть хэндлер в CSP ? Ответов: 3
Alex Novoselov
Господа!

Нужно написать новый CSP для Windows CryptoAPI
(он будет частично хардварный).

Так вот у меня вопрос:

Что я должен возвращать за указатели при обработке функций CPAcquireContext, CPGenKey и т.д. :
Что есть хэндлер контейнера, что есть указатель на ключ, если ключи лежат в хардварном модуле?

Я так понимаю, раз для функции CryptEncrypt не нужен хэндлер контекса, а только ключа, то advapi.dll (которая распределяет вызовы по разным CSP) должна по хэндлеру ключа понять какой это CSP и обратиться к соотв. dll-ке.
Какой я тогда должен выдавать хэндлер?

Я скачал CSP SDK с microsoft.com, там есть "пример" CSP но он пустой - все функции просто возвращает код успешного выполнения, но ничего не делают.

Может кто-нить знает где в инете можно разжиться кодом рабочего CSP (пусть старого или кривого) ?
Я рылся поиском часа четыре нашёл всего три сайта, где за некоторую сумму (до $400) можно разжиться исходником, но нет гаранти что это CSP для CryptoAPI а не просто так. Ещё на одном сайте обещали выложить SDK "во 2-й половине 2002-го", но пока ничего нет.

И ещё вопрос:
Я скомпилировал CSP (пока пустой) и подписал его утилиткой Sign, как написано в MSDN,
зарегистировал и вызываю из своей проги по тестированию. Она говорит, что "0x80090006" - NTE_BAD_SIGNATURE. В MSDN написано, что для работы в Windows CSP должен быть подписан самим MicroSoft, но ведь я сам должен его тестировать в процессе разработки!
"Для тестирования CSP, пишут в MSDN, используйте CryptoAPI" А как, если подпись только моя ??
 
Ответы:
30.12.2002 17:24:10Alex Novoselov
Замечание:

У меня Win2000 с SP3. В CSPDK есть advapi32.dll для SP2. Она может устранить проблему с неверной подписью
30.12.2002 17:29:53Alex Novoselov
(Извините за повторы - глюки)

Замечание:

У меня Win2000 с SP3. В CSPDK есть модифицированная advapi32.dll для SP2. Она может устранить проблему с неверной подписью?
Она на полтора года старше (04.05.2001) и в 1.5 раза меньше, чем та что стоит у меня в системе (за 11.11.2002).
31.12.2002 11:25:34kure
Поищите на форуме Микрософта http://discuss.microsoft.com/archives/cryptoapi.html ссылки на примеры.

Например, посмотрите "opencsp". Там поболее чем в SDK.