Окно C/C ++ Crypto API Примеры и советы
Вопрос
Я задаю этот вопрос, потому что я провел большую часть дня, проходя через документы MSDN и другие непрозрачные источники для простых простых руководящих принципов о том, как начать работу с крипто -API Windows C/C ++.
Что я хотел бы увидеть, так это какой -то пример кода, типичный включает в себя пути, связывание руководящих принципов и т. Д., Все, что действительно полезно. Я знаю, что это неточный вопрос, но я считаю, что неточные ответы вообще не лучше.
Я получу мяч с моими скудными выводами ...
Решение
Вот куча примеров, которые я нашел ....
- Пример C программы: перечисление сертификатов в магазине
- Пример C Программа: использование Cryptacquirecontext
- Пример C программы: перечисление поставщиков CSP и типов поставщиков
- Пример C код для открытия хранилища сертификации
- Пример C программы: отправка и получение подписанного и зашифрованного сообщения
- Пример C программы: подписание хэша и проверка подписи хэш
MSDN имеет эти примеры, разбросанные по док
Этот Веб-сайт Предоставляет хороший обзор концепций, а также кроссплатформенные примеры
Другие советы
Документы MSDN здесь: http://msdn.microsoft.com/en-us/library/aa380252.aspx
Это основной включение файла: #include <wincrypt.h>
Криптографические биты включены как часть Windows SDK, который обычно устанавливается в %PROGRAMFILES(x86)%\Microsoft SDKs\Windows\SDKVERSION
(например, C:\Program Files\Microsoft SDKs\Windows\v6.0A
) Заголовки обычно в %WINDOWSSDK%\Include
, и связанные библиотеки находятся в %WINDOWSSDK%\Lib
.
Вы должны ссылаться на криптографические библиотеки явно. Предполагая, что вы находитесь в Visual Studio, вы можете добавить ссылку, щелкнув правой кнопкой мыши проект C ++, выбирая свойства и выбрав свойства конфигурации -> Linker на Treeview слева. Затем вы можете указать crypt32.lib
в поле ввода справа.
Поочередно, (при условии, что вы используете MSVC ++), добавьте
#pragma comment(lib, "crypt32.lib")
к вашему источнику.
Есть также длительный пример "Шифрование с использованием крипто -API Win32" в кодовом проекте.