Bonjour,
J'utilise OpenSSL pour programmer une couche sécurisée entre TCP et une application.
j'initialise la couche avec sec_initialize( ) et termine la couche avec un sec_terminate( );
1) sec_initialize( ) doit initialiser entre autres :
a) la méthode utilisée pour l'échange ( TLSv1_method( ), SSLv23_method( ), etc. )
b) et un contexte SSL : SSL_CTX
2) sec_terminate( ) doit desallouer les mémoires allouées dans sec_initialize( ). entre autre b)

J'ai crée une classe sslconfig contenant a) et b)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
class sslconfig {
   SSL_method *meth;
   SSL_CTX *ctx;
   sslconfig( ){
        meth = SSL_meth( ); 
        ctx = SSL_CTX_new(meht);
   }
   ~sslconfig( ){
        SSL_free(ctx)
    }
}
Tous les membres / fonction commensant par SSL_ sont des objets d'openSSL.

dans sec_terminate( ) je dois desallouer la mémoire occupée par SSL_CTX.

Mes questions :
Q1) Est-ce que la manière de définir le destructeur dans la classe est correcte ? est ce que j'ai le droit de faire cela ? Est-ce une manière propre de desallouer la mémoire. Ou bien :
Q2) Est ce que je dois ne rien mettre dans ~sslconfig càd : ~sslconfig( ){ } ? Dans ce cas, je dois appeler explicitement SSL_free(ctx) dans sec_terminate( ) càd :
gsslconfig->SSL_free(ctx) ?

Merci d'avance.