Android, DAVdroid, Owncloud, TLS

Pour accéder sur Android à une liste de contacts via CardDav (ce que permet par exemple Owncloud), on peut utiliser DAVdroid par exemple. Il y a quelques pièges au niveau des certificats HTTPS.

Format CSR

Le certificat doit être au format CSR, et pas au format PEM (avec ce format, Android ne vous affichera pas le moindre message d’erreur, et le certificat n’apparaîtra mystérieusement pas dans la liste). Pour convertir de PEM à CSR:

openssl x509 -in mon_certificat.pem -outform DER -out mon_certificat.crt

CA:TRUE

Comme l’indique la FAQ de DAVdroid, le certificat doit avoir l’attribut «CT:TRUE». Premièrement il faut que le certificat soit un CA. J’avais essayé de créer un CA avec cet attribut, puis un certificat-fils avec cet attribut, sans succès (ça semble être un problème d’Android 4.x). J’ai donc créé uniquement un certificat CA pour mon serveur owncloud.

Pour le généré, j’ai créé un fichier de configuration basé sur celui de base «openssl.cnf». Dedans, j’ai modifié la section suivante (comme indiqué dans les commentaires de ce blog):

[ v3_ca ]
 subjectKeyIdentifier=hash
 authorityKeyIdentifier=keyid:always,issuer
 basicConstraints=CA:TRUE

J’ai créé la clé et le certificat d’un trait (et donc sans passer par le mécanisme de requête de certificat):

openssl req -x509 -new -config my_server.cnf -nodes -key private/my_server.key -days 1024 -out certs/my_server.pem

Attention, vous devriez comprendre ce que vous faites quand vous générez des clefs/certificats (quel durée de validité? quel algorithme? etc…).

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.