Fenster C/C ++ Crypto API -Beispiele und -Pipps
Frage
Ich stelle diese Frage, weil ich den größten Teil eines Tages damit verbracht habe, MSDN -Dokumente und andere undurchsichtige Quellen für einfache, einfache Richtlinien für den Einstieg mit der Windows C/C ++ Crypto API durchzuführen.
Was ich gerne sehen würde, ist ein Beispielcode, typische Wege, Verknüpfungsrichtlinien usw., alles Nützliche wirklich. Ich weiß, dass dies eine ungenaue Frage ist, aber ich denke, ungenaue Antworten sind überhaupt besser.
Ich werde den Ball mit meinen eigenen mageren Erkenntnissen ins Rollen bringen ...
Lösung
Hier ist ein paar Beispiele, die ich gefunden habe ....
- Beispiel C -Programm: Auflistung der Zertifikate in einem Geschäft
- Beispiel C Programm: Verwenden von Cryptacquirecontext
- Beispiel C -Programm: Aufzählung von CSP -Anbietern und Anbietertypen
- Beispiel für C -Code zum Öffnen von Zertifikatspeichern
- Beispiel C -Programm: Senden und Empfangen einer signierten und verschlüsselten Nachricht
- Beispiel C -Programm: Unterschreiben Sie einen Hash und Überprüfung der Hash -Signatur
MSDN hat diese Beispiele um die verstreut Dokumente
Dies Webseite Bietet einen guten Überblick über die Konzepte sowie plattformübergreifende Beispiele
Andere Tipps
Die MSDN -Dokumente sind hier: http://msdn.microsoft.com/en-us/library/aa380252.aspx
Dies ist die Haupteinschlussdatei: #include <wincrypt.h>
Die Kryptographie -Bits sind Teil der Windows SDK, was normalerweise in installiert ist %PROGRAMFILES(x86)%\Microsoft SDKs\Windows\SDKVERSION
(z.B, C:\Program Files\Microsoft SDKs\Windows\v6.0A
). Die Header sind normalerweise in %WINDOWSSDK%\Include
, und die verwandten Bibliotheken sind in %WINDOWSSDK%\Lib
.
Sie müssen explizit mit den Kryptographie -Bibliotheken verlinken. Angenommen, Sie sind in Visual Studio, können Sie die Referenz hinzufügen, indem Sie mit der rechten Maustaste auf das C ++ -Projekt klicken, Eigenschaften auswählen und Konfigurationseigenschaften auswählen -> Linker auf der TreeView links. Sie können dann angeben crypt32.lib
im Eingangsfeld rechts.
Alternativ (vorausgesetzt, Sie verwenden MSVC ++) addieren
#pragma comment(lib, "crypt32.lib")
zu Ihrer Quelle.
Es gibt auch ein langes Beispiel "Verschlüsselung mit der Win32 Crypto API" vorbei im Codeprojekt.