I'm asking this question because I've spent the best part of a day trawling through msdn docs and other opaque sources for simple straightforward guidelines on how to get started with the Windows C/C++ Crypto API.
What I'd like to see is some example code, typical include paths, linking guidelines, etc, anything useful really. I know this is an imprecise question but I reckon imprecise answers are better none at all.
I'll get the ball rolling with my own meager findings...
There is also a lengthy example "Encryption using the Win32 Crypto API" over at the Code Project.
The msdn docs are here: http://msdn.microsoft.com/en-us/library/aa380252.aspx
This is the main include file:
#include <wincrypt.h>
The cryptography bits are included as part of the Windows SDK, which is typically installed in
%PROGRAMFILES(x86)%\Microsoft SDKs\Windows\SDKVERSION
(e.g.,C:\Program Files\Microsoft SDKs\Windows\v6.0A
). The headers are typically in%WINDOWSSDK%\Include
, and the related libraries are in%WINDOWSSDK%\Lib
.You must link to the cryptography libraries explicitly. Assuming you're in Visual Studio, you can add the reference by right clicking on the C++ project, choosing properties, and selecting Configuration Properties -> Linker on the treeview at left. You can then specify
crypt32.lib
in the input field on the right.Alternately, (assuming you're using msvc++) add
to your source.
Here's a bunch of examples I've found....
MSDN has these examples scattered around the docs
This website provides a good overview of the concepts along with cross-platform examples