| ||||
| ||||
Господа! Нужно написать новый 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" А как, если подпись только моя ?? | ||||
Ответы: | ||||
| ||||
Замечание: У меня Win2000 с SP3. В CSPDK есть advapi32.dll для SP2. Она может устранить проблему с неверной подписью | ||||
| ||||
(Извините за повторы - глюки) Замечание: У меня Win2000 с SP3. В CSPDK есть модифицированная advapi32.dll для SP2. Она может устранить проблему с неверной подписью? Она на полтора года старше (04.05.2001) и в 1.5 раза меньше, чем та что стоит у меня в системе (за 11.11.2002). | ||||
| ||||
Поищите на форуме Микрософта http://discuss.microsoft.com/archives/cryptoapi.html ссылки на примеры. Например, посмотрите "opencsp". Там поболее чем в SDK. | ||||