Fenêtre C / C ++ Crypto API Exemples et conseils
Question
Je pose cette question parce que je l'ai passé la meilleure partie d'une pêche au chalut de jour par docs msdn et d'autres sources opaques pour des lignes directrices simples simples sur la façon de commencer avec l'API Crypto de Windows C / C ++.
Ce que je voudrais voir est un code d'exemple, inclure typique des chemins, des lignes directrices de liaison, etc., quelque chose de vraiment utile. Je sais que cela est une question imprécise mais je pense des réponses imprécises sont mieux pas du tout.
Je vais faire rouler la balle avec mes propres résultats de maigres ...
La solution
Voici un tas d'exemples que j'ai trouvé ....
- Exemple C Programme: Liste des certificats dans un magasin
- Exemple de programme C: L'utilisation CryptAcquireContext
- Exemple C Programme: Énumération CSP Fournisseurs et les types de fournisseur
- Exemple de code C pour l'ouverture magasins de certificats
- Exemple C Programme: Envoi et réception signé et un message Encrypted
- Exemple C Programme: Signature d'un Hash et Vérification de la signature de Hash
MSDN a ces exemples dispersés dans le docs
site donne un bon aperçu des concepts ainsi que des exemples multi-plateforme
Autres conseils
Les msdn docs sont ici: http://msdn.microsoft.com/en-us/library /aa380252.aspx
Il est le principal fichier inclus: #include <wincrypt.h>
Les bits de chiffrement sont incluses dans le cadre de la SDK Windows , qui est généralement installé dans %PROGRAMFILES(x86)%\Microsoft SDKs\Windows\SDKVERSION
( par exemple, C:\Program Files\Microsoft SDKs\Windows\v6.0A
). Les en-têtes sont généralement dans %WINDOWSSDK%\Include
, et les bibliothèques connexes sont %WINDOWSSDK%\Lib
.
Vous devez créer un lien vers les bibliothèques de cryptographie explicitement. En supposant que vous êtes dans Visual Studio, vous pouvez ajouter la référence en cliquant droit sur le projet C ++, choisir des propriétés, et sélectionnez Propriétés de configuration -> Linker sur la gauche à TreeView. Vous pouvez ensuite spécifier crypt32.lib
dans le champ de saisie à droite.
Sinon, (en supposant que vous utilisez MSVC ++) add
#pragma comment(lib, "crypt32.lib")
à la source.
Il y a aussi un exemple long " le chiffrement en utilisant l'API Win32 Crypto " sur le code du projet.