Window C / C ++ Crypto API示例和技巧

我在问这个问题,因为我花了一天的时间,通过MSDN文档和其他不透明的资源来寻找如何开始使用Windows C / C ++ Crypto API的简单直接指导。

我想看到的是一些示例代码,典型的包括path,链接准则等,真正有用的东西。 我知道这是一个不准确的问题,但我认为不准确的答案是更好的没有。

我会用我自己微薄的发现来滚动球

这里有一堆我发现的例子….

  • 示例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 ++项目,选择属性,然后在左侧的树形视图中选择Configuration Properties – > Linker来添加引用。 然后,您可以在右侧的输入字段中指定crypt32.lib

或者,(假设你正在使用msvc ++)添加

 #pragma comment(lib, "crypt32.lib") 

来源。

代码项目中还有一个很长的例子“ 使用Win32加密API加密 ”