IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Serveurs (Apache, IIS,...) Discussion :

Comment intégrer un certificat CA dans Android 14 ?


Sujet :

Serveurs (Apache, IIS,...)

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 238
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 238
    Par défaut Comment intégrer un certificat CA dans Android 14 ?
    Bonjour tout le monde,

    Je me suis créé un certificat CA auto-signé sur lequel je me suis créé un certificat serveur et client.

    Après configuration, j'arrive bien à me accéder à mes pages Web (en l'occurence mon NextCloud) sur mon serveur Apache depuis mon navigateur.

    J'obtiens un message d'erreur comme quoi le lien n'est pas sur mais je le rajoute comme exception et sur les connexions suivantes, je n'obtiens plus le message d'erreur.


    Par contre, lorsque j'essaie de me connecter à mon NextCloud depuis l'appli Andrid Nexcloud, j'obtiens un beau message d'erreur "SSL invalide". Tel que je comprends, il ne propose pas l'option comme sur les navigateurs de rajouter une exception.

    Et la solution serait alors d'intégrer le certificat CA sur mon téléphone.


    J'ai cru comprendre que les formats supportés sont soit le format texte PEM ou soit DER. J'ai traduit mon certificat CA au format CRT (au format texte) dans ces 2 formats :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    openssl x509 -in nextcloud/ca/ca.crt -out nextcloud/ca/ca_crt.pem
    openssl x509 -in nextcloud/ca/ca.crt -out nextcloud/ca/ca_crt.der -outform der
    Mais lorsque j'essaie d'importer comme certificat CA sur mon Android 14, j'obtiens l'erreur qu'il faut la clef privée :


    Nom : Screenshot_20250408-230302.png
Affichages : 95
Taille : 85,7 Ko

    Mais j'obtiens comme erreur qu'il faut une clef privée pour le certificat CA. Or j'avais cru comprendre qu'il ne fallait surtout pas inclure la clef privée dans le certificat CA, mais uniquement la clef public.

  2. #2
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 238
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 238
    Par défaut
    Puisque lorsque je tente d'intégrer mon certificat CA, on me demande la clef privée, j'ai tenté les expériences suivantes :

    1./ Intégrer à la fois le certificat CA (au format texte PEM) et ma clef privée au format text PEM. Malheureusement, je ne peux pas sélectionner 2 fichiers en même temps.

    2./ Intégrer dans un premier temps la clef privée puis le certificat. Je n'ai pas d'erreur lors de la sélection de le claf privée, mais lorsque je sélectionne 2ème fois le certificat CA, j'obtiens toujours comme erreur que la clef est requise.

    3./ je concatène le contenu des 2 fichiers en un seul, en prenant gardant de mettre en premier la clef privée. Malheureusement j'obtiens toujours comme erreur que la clef privée est requise.

    4./ je me créé un fichier au format p12 pour y inclure la clef privée et certificat.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    openssl pkcs12 -export -out ca-bundle-name.p12 -inkey ca_key.pem -in ca.crt -name "My CA"
    mais j'obiens comme erreur : "This file can't be used as a CA certificate ! "

    Bref, je suis un peu bloqué.
    Rencontrez vous les mêmes blocage avec votre Android ?

  3. #3
    Membre Expert Avatar de Ti-Slackeux
    Homme Profil pro
    Robotique
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Robotique

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    Par défaut
    Bonjour,

    Vu que c'est du apache et Nextcloud, pourquoi pas Let's Encrypt tout simplement ?
    J'ai Nextcloud et les clients Android Talk, Nextcloud et Notes.
    Ca roule sans soucis.
    Ou y'a un truc qui m'échappe ^^"

    hth,

  4. #4
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 238
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 238
    Par défaut
    Je vois comme contraintes de l'utilisation de Let's Encrypt sont les suivantes :

    1./ l'usage obligatoire du port 443
    2./ la non possibilité d'utiliser un certificat client



    Pour ma part :
    le 1./ pas de souci. Je redirige le port extérieur 443.
    par contre, mon point bloquant est le 2./


    Je souhaiterai protéger ma connexion via un certificat client, un peu sur le principe que l'on fait pour protéger un accès SSH en passant par une clef privée, et ce qui est recommandé d'ailleurs.
    Ma connexion Nextcloud se limite à 2-3 connexions max, à titre perso. Et donc l'idée était de sécurisé au mieux tant qu'à faire, que Apache puisse contrôler les accès directement



    La mise en place d'un certificat client n'est pas beaucoup plus compliqué que celle d'un certificat serveur.
    - A partir de l'autorité de certification CA, en plus de se créer un certificat (*.csr) + la clef privée pour le serveur, on créé un autre jeu pour le client.
    - Puis intégrer le certificat client avec sa clef dans le navigateur, dans Android.
    - Et activer la directive dans Apache "SSLVerifyClient" pour indiquer qu'il doit vérifier les accès des clients.

    Quand le nombre de périphérique suceptible de se connecter est très limité (méthode contraignante), je trouve cela génial comme moyen de sécurisation. Cela permet de sécurisé au mieux, comme une connexion SSH.


    Et malheureusement quand je regarde sur le forum communautaire de Let's crypts, on peut lire que ce n'est pas adapté du tout. Artamus a justement demandé de l'aide et s'est fait un peu rembarré

    https://community.letsencrypt.org/t/...t-ca/192189/19 (réponse traduite par deep
    Réponse courte : ces certificats ne sont pas destinés à être utilisés en tant que certificats de client comme vous essayez de le faire, ils sont principalement destinés à être utilisés en tant que certificats de serveur. Bien qu'une LE puisse être utilisée dans certains des contextes que vous avez mentionnés et qu'elle soit essentiellement soutenue par des capacités technologiques, elle n'est pas destinée à être utilisée dans votre situation et peu de personnes ont l'expérience ou le désir de résoudre les problèmes liés à la mise en œuvre d'anti-modèles.

    Et donc d'après la discussion l'utilisation d'un certificat d'autorité public n'a aucun sens.
    La solution à mon problème serait donc d'inclure mon autorité.

    En utilisant mon navigateur Web ayant le certificat client, je n'ai pas de problème. A la première connexion, j'ai juste un avertissement que la connexion n'est pas sur parce que non connu. Mais l'appli NextCloud rejette direct et considère que la connexion SSL est invalide.


    Et autre raison que l'on pourrait invoqué, je trouve dommage de ne pas savoir intégrer sa propre autorité sur le principe et devoir dépendre d'une autorité public pour ses connexions privées.

    Avec les nouvelles versions de Android, il y a peut être des restrictions supplémentaires. Je vais essayer de me renseigner de ce fait sur des forums Android.

  5. #5
    Membre Expert Avatar de Ti-Slackeux
    Homme Profil pro
    Robotique
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Robotique

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    Par défaut
    Bonjour,

    Merci pour ces explications, j'en sais encore un peu plus sur les certifs.
    J'ai fureté un peu et il semble que les auto-signés soient compliqués à installer sur du mobile, la sécurité est mise en avant
    sur ce sujet.
    Sinon j'ai trouvé ceci : https://support.hcl-software.com/csm...icle=KB0028834

    btw, j'utilise du TOTP avec nextcloud

    hth,

Discussions similaires

  1. Réponses: 0
    Dernier message: 31/07/2024, 10h30
  2. Créer un certificat SSL et l'utiliser dans Android
    Par lolomaster dans le forum Android
    Réponses: 2
    Dernier message: 20/04/2020, 16h19
  3. Quels sont les difficultés pour calculer le ROI dans un projet BI?
    Par dessinateurttuyen dans le forum Emploi
    Réponses: 2
    Dernier message: 17/07/2007, 16h18
  4. Difficulte d'insertion de valeur dans une base de donnees
    Par blondelle dans le forum C++Builder
    Réponses: 10
    Dernier message: 13/04/2007, 21h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo