Ich stelle diese Frage, weil ich den größten Teil eines Tages damit verbracht habe, msdn-Dokumente und andere undurchsichtige Quellen nach einfachen, unkomplizierten Richtlinien für den Einstieg in die Windows C/C++ Crypto API zu durchsuchen.
Was ich gerne sehen würde, ist ein Beispielcode, typische Include-Pfade, Verknüpfungsrichtlinien usw., wirklich alles Nützliche. Ich weiß, dass dies eine ungenaue Frage ist, aber ich denke, dass ungenaue Antworten gar keine sind.
Ich werde den Stein mit meinen eigenen mageren Erkenntnissen ins Rollen bringen…
Hier sind ein paar Beispiele, die ich gefunden habe….
MSDN hat diese Beispiele im Internet verstreut Dokumente
Das Webseite bietet einen guten Überblick über die Konzepte zusammen mit plattformübergreifenden Beispielen
Die msdn-Dokumente sind hier: http://msdn.microsoft.com/en-us/library/aa380252.aspx
Dies ist die Haupt-Include-Datei: #include <wincrypt.h>
Die Kryptografie-Bits sind als Teil der enthalten Windows-SDKdie normalerweise in installiert wird %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 zugehörigen Bibliotheken sind in %WINDOWSSDK%\Lib
.
Sie müssen explizit auf die Kryptografiebibliotheken verlinken. Angenommen, Sie befinden sich in Visual Studio, können Sie den Verweis hinzufügen, indem Sie mit der rechten Maustaste auf das C++-Projekt klicken, Eigenschaften auswählen und in der Strukturansicht links Konfigurationseigenschaften -> Linker auswählen. Sie können dann angeben crypt32.lib
im Eingabefeld rechts.
Alternativ (vorausgesetzt, Sie verwenden msvc++) add
#pragma comment(lib, "crypt32.lib")
zu deiner Quelle.
Es gibt auch ein längeres Beispiel “Verschlüsselung mit der Win32 Crypto API“ drüben beim Code-Projekt.
Meinst du die klassische CryptoAPI wie in Win2k und XP oder CNG (“CryptoAPI Next Generation”) wie in Vista und Win7? Die beiden sind nicht gleich.
– dajamas
25. Januar 2011 um 17:53 Uhr
Hmm, ich nehme an, ich meine die CryptoAPI, aber ich kompiliere auf einem Windows 7-System.
– Gearoid Murphy
25. Januar 2011 um 18:19 Uhr
Es wäre besser, CNG zu verwenden
– Michael Chordakis
5. November 2018 um 22:08 Uhr