Salut les C,
J'ai consulter la doc et les pages man de la librairie openssl (man ssl) qui n'est pas bien faites mais c'est mieux que pas de doc du tout, et j'ai donc piocher dans un codes sources une fonction et essayer de comprendre celui-ci et j'en suis arriver a titre de test au script suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
#include <stdio.h>
#include <openssl/aes.h>
#include <openssl/ssl.h>
 
main(int argc,char *argv) {
  unsigned char inner[256]="test" ;
  unsigned char outter[256] ;
 
  AES_encrypt(inner, outter,AES_KEY);
 
  printf("%s",outter) ;
 
}
qui compiler avec: gcc code.c -lssl -laes
me donne le traceback suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
crypting.c: In function ‘main’:
crypting.c:8:29: erreur: expected expression before ‘AES_KEY’
La structure AES_KEY est définis comme suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
/* This should be a hidden type, but EVP requires that the size be known */
struct aes_key_st {
#ifdef AES_LONG
    unsigned long rd_key[4 *(AES_MAXNR + 1)];
#else
    unsigned int rd_key[4 *(AES_MAXNR + 1)];
#endif
    int rounds;
};
typedef struct aes_key_st AES_KEY;
et la fonction a le prototype suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
void AES_encrypt(const unsigned char *in, unsigned char *out,
	const AES_KEY *key);
Ce qui donne, en passant par mon cerveau, le gribouillage donner en haut de page, a titre d'essaie d'utilisation de la librairie openssl.

Si quelqu'un sait comment utiliser cette librairie il serai gentil d'éclairé mon esprit de ses lumières, je sais qu'il y a certaines restrictions quand on utilise des fonctions de cryptage comme:
-La longueur du mot de passe.
-La longueur des données.
-Plus les restrictions que je ne connais pas comme ajouter des appels avant de pouvoir se servir de la librairie comme pour les sockets HTTPS.

le aes.h est peut-être un mauvais début sachant que je cherche a crypter des fichiers ou la stdin et que la doc de man crypto ne contient pas cet algorithme, toute aide est la bienvenue mais je crois que la lecture plus précise de la doc aiderai aussi a éclairer ma lanterne.

Merci pour vos réponses éclairées.