2011-08-23 3 views
3

J'ai repris un projet et j'ai du mal à implémenter le côté SSL des choses. Notre application utilise libcurl pour accéder au contenu distant d'un serveur. L'appareil recherche un fichier cacert.pem auquel je suis connecté, mais je ne sais pas où le placer. J'ai essayé de le placer dans la racine de l'application, mais cela n'a pas aidé. Les collaborateurs suggèrent que le fichier soit placé directement dans/sdcard, mais cela n'a pas aidé non plus.NDK, JNI et libcurl

Est-ce que quelqu'un sait où je devrais placer le fichier cacert.pem dans l'application pour lui permettre d'être utilisé par libcurl?

Répondre

2

Vous pouvez spécifier où libcurl recherche les informations CA en utilisant curl_easy_setopt avec CURLOPT_CAINFO:

static const char *pCACertFile="cacert.pem"; 

    /* ... */ 

    /* set the file with the certs vaildating the server */ 
    curl_easy_setopt(curl, CURLOPT_CAINFO, pCACertFile); 

L'exemple suivant montre une session SSL complète, y compris en spécifiant le fichier de certificat CA:

http://curl.haxx.se/libcurl/c/simplessl.html

+0

Merci pour la réponse, mais l'emplacement du cert est déjà codé. C'est là où Android est en train de chercher le CERT du côté de l'OS quand on appelle libcurl. –

+0

À quoi attribuez-vous l'emplacement du CERT? –

+0

l'emplacement du cert est "cacert.pem" –