Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2972 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  problème de conversion unsigned const char* => const char*

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème de conversion unsigned const char* => const char*

n°2067987
razuki
Posté le 05-04-2011 à 01:52:05  profilanswer
 

Je reviens vers vous car je n'ai pas trouvé de solutions à mon problème de conversion de const char* en unsigned const char*. reinterpret_cast me semble le plus pertinent.
Mais ce n'est pas le cas, apparemment il me génère un problème.
 
en effet, je dois utliser une fonction OpenSSL pour décodé un string ( format PEM codé en base 64, en une structure interne C ( internal C structure ). Voici le prototype de la fonction:

Code :
  1. X509 *d2i_X509(X509 **px, const unsigned char **in, int len);


 
la doc se trouve ici : http://www.openssl.org/docs/crypto/d...#RETURN_VALUES
En gros cette fonction lit un string en format PEM qui se trouve dans const unsigend char **in et renvoie une structure X509*
 
Maintenant, pourquoi j'ai utilisé un cast ? parce que mon constructeur prend en paramètre un PEM de type const char *str. Voici le code :

Code :
  1. certificate(const char *str, size_t clen) {
  2.      unsigned char const *u_str = reinterpret_cast< unsigned char const * >(str);
  3.      X509* mycert = d2i_X509(NULL, &u_str, clen);


 
A priori, je ne peux/dois pas changer la signature de ce constructeur. Donc je suis obligé de partir d'un const char *str.
quand je debug, mycert est NULL, ca signifie que d2i_X509 a échoué. l'erreur est en fait :

Code :
  1. error:0D07209B:asn1 encoding routines:ASN1_get_object:too long


 
Je crois que c'est à cause du reinterpret_cast.
Est ce que il y a d'autres moyen de résoudre le problème de conversion const char* => unsigned const char* ?
 
Merci d'avance pour votre aide.


Message édité par razuki le 05-04-2011 à 01:52:42
mood
Publicité
Posté le 05-04-2011 à 01:52:05  profilanswer
 

n°2068001
Joel F
Real men use unique_ptr
Posté le 05-04-2011 à 08:40:12  profilanswer
 

c'est un bete static_cast ici qu'il faut.
 
es tu sur que ton pointeur est bien alloué en rentratn dans ton constructeur ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  problème de conversion unsigned const char* => const char*

 

Sujets relatifs
Probleme de JScrollPane avec JTextAreaprobleme de transfert ftp en masse
Probleme StringTokenizer et tableauProbleme liste deroulante en PHP
[VBA AutoCAD] Problème inter-applicationprobleme rendu IE/FF
problème script export csv phpprobleme parser et regroupe des elements
Problème de centrage total du site.[PHP] Problème système parrainage
Plus de sujets relatifs à : problème de conversion unsigned const char* => const char*


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR