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

Android Discussion :

Installer un certificat automatiquement


Sujet :

Android

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 325
    Par défaut Installer un certificat automatiquement
    Bonjour

    J'ai une petite application sur android qui a besoin que 3 certificats soient installés pour fonctionner.

    Lors de l'installation de l'applis, je copie dans la sdcart les 3 fichiers (certificat.crt, gips1.crt et gips2.crt)
    Pour les installer manuellement il suffit d'aller dans paramètres->sécurité->Installer depuis stock. périph.

    Je voudrais lors du premier lancement de mon application un procédure qui puisse les installer.
    Mon application a été crée sous windev mobile. Dans windev mobile je peux réaliser des procédures en java.

    Je crois qu'il faut que j'utilise Keystore mais là je ne comprends pas trop comment cela fonctionne.

    cordialement Law56100

    Ps je ne sais pas si je suis au bon endroit

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 325
    Par défaut
    Bonjour

    Il y a beaucoup de chose qui m'échappe mais j'ai trouvé des exemples sur le net.
    Voici le code que j'ai réalisé mais je n'y comprends pas tout et bien sur cela ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.security.Key;
    import java.security.KeyStore;
    import java.security.cert.Certificate;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.DataInputStream;
    import java.io.ByteArrayInputStream;
    import java.security.spec.*;
    import java.security.cert.Certificate;
    import java.security.cert.CertificateFactory;
    import java.util.Collection;
     
    public static void main() 
    {
    	try {
    		String certfile = "/storage/sdcard0/certificat.crt"; 
     
    		FileInputStream is = new FileInputStream("mon.keystore");
     
    		KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
    		keystore.load(is, "password".toCharArray());
     
    		String alias = "monalias";
    		char[] password = "password".toCharArray();
     
    		//////
     
    		CertificateFactory cf = CertificateFactory.getInstance("X.509");
    		FileInputStream certstream = new FileInputStream(certfile);
    		Certificate certs =  cf.generateCertificate(certstream);
     
    		///
    		File keystoreFile = new File("mon.keystore");
    		// Load the keystore contents
    		FileInputStream in = new FileInputStream(keystoreFile);
    		keystore.load(in, password);
    		in.close();
     
    		// Add the certificate
    		keystore.setCertificateEntry(alias, certs);
     
    		// Save the new keystore contents
    		FileOutputStream out = new FileOutputStream(keystoreFile);
    		keystore.store(out, password);
    		out.close();
     
    	} 
    	catch (Exception e) 
    	{
    		e.printStackTrace();
    	}
    }

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 325
    Par défaut
    Je continu mes recherches. Voici ou j'en suis

    J'ai installé eclipse et j'ai suis un tuto pour pourvoir utilisé la partie android sur eclipse.
    J'ai crée un projet "Certificat" ou j'utilise le MainActivity pour créer le projet. Là j'ai mis un bouton pour installer le certificat dans Paramètres->Personnel->sécurité->Stockage des infos d'identification->infos d'idet. sécurisées.

    Voici le code de mon activity-main.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.etib.certificat.MainActivity" >
     
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/hello_world" />
     
        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/textView1"
            android:layout_below="@+id/textView1"
            android:layout_marginLeft="45dp"
            android:layout_marginTop="33dp"
     
       		android:onClick="clickFunc"
     
     
        	android:text="Button" />
     
    </RelativeLayout>
    code du MainActivity.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    package com.etib.certificat;
     
    import android.support.v7.app.ActionBarActivity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.app.Activity;
    import android.view.View;
    import android.widget.Toast;
    import android.view.View.OnClickListener;
    import android.widget.Button;
     
    public class MainActivity extends ActionBarActivity {
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    	}
     
    	@Override
    	public boolean onCreateOptionsMenu(Menu menu) {
    		// Inflate the menu; this adds items to the action bar if it is present.
    		getMenuInflater().inflate(R.menu.main, menu);
    		return true;
    	}
     
    	@Override
    	public boolean onOptionsItemSelected(MenuItem item) {
    		// Handle action bar item clicks here. The action bar will
    		// automatically handle clicks on the Home/Up button, so long
    		// as you specify a parent activity in AndroidManifest.xml.
    		int id = item.getItemId();
    		if (id == R.id.action_settings) {
    			return true;
    		}
    		return super.onOptionsItemSelected(item);
    	}
     
    	public void clickFunc(View view) throws Exception{
    		String sInfo = null; 
    		// Toast.makeText(MainActivity.this, "Button Clicked", Toast.LENGTH_SHORT).show();
    		ImportCa.main();
    		//AddCertificat.main();
    		//sInfo=ChargeCertificat.main();
    		//Toast.makeText(MainActivity.this, sInfo, Toast.LENGTH_SHORT).show();
    	//	finish();
        //    System.exit(0);
    	}
     
    }
    le code de ma class ImportCa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    package com.etib.certificat;
     
    import java.io.ByteArrayInputStream;
    import java.io.DataInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.security.KeyStore;
    import java.security.cert.Certificate;
    import java.security.cert.CertificateFactory;
     
    public class ImportCa {
     
    	public static void main() throws Exception {
     
    		String certfile = "/storage/sdcard0/certificat.cer"; /*your cert path*/
    		FileInputStream is = new FileInputStream("yourKeyStore.keystore");
     
    		KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
    		keystore.load(is, "yourKeyStorePass".toCharArray());
     
    		String alias = "youralias";
    		char[] password = "yourKeyStorePass".toCharArray();
     
    		//////
     
    		CertificateFactory cf = CertificateFactory.getInstance("X.509");
    		//InputStream certstream = fullStream (certfile);
    		InputStream certstream = new FileInputStream(certfile);
    		Certificate certs =  cf.generateCertificate(certstream);
    		certstream.close();
     
    		///
    		File keystoreFile = new File("yourKeyStorePass.keystore");
    		// Load the keystore contents
    		FileInputStream in = new FileInputStream(keystoreFile);
    		keystore.load(in, password);
    		in.close();
     
    		// Add the certificate
    		keystore.setCertificateEntry(alias, certs);
     
    		// Save the new keystore contents
    		FileOutputStream out = new FileOutputStream(keystoreFile);
    		keystore.store(out, password);
    		out.close();
     
    	}
     
    	static private InputStream fullStream ( String fname ) throws IOException {
    		FileInputStream fis = new FileInputStream(fname);
    		DataInputStream dis = new DataInputStream(fis);
    		byte[] bytes = new byte[dis.available()];
    		dis.readFully(bytes);
    		ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
    		return bais;
    	}
     
     
    }
    Lorsque je lance le Run as sur ma tablette, j'ai bien le projet qui s'ouvre la je clique sur le boutton, le boutton reste sur l'état bloqué pendant plusieurs seconde puis l'application ce ferme et après j'ai un message sur ma tablette "Certificat s'est arrêté" avec un boutton Ok en dessous.

    Voici les message que j'ai dans le logCat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    09-12 14:30:40.934: D/libEGL(2328): loaded /system/lib/egl/libGLESv2_mali.so
    09-12 14:30:40.939: D/(2328): Device driver API match
    09-12 14:30:40.939: D/(2328): Device driver API version: 10
    09-12 14:30:40.939: D/(2328): User space API version: 10 
    09-12 14:30:40.939: D/(2328): mali: REVISION=Linux-r2p4-02rel0 BUILD_DATE=Tue Oct 16 15:37:13 KST 2012 
    09-12 14:30:40.969: D/OpenGLRenderer(2328): Enabling debug mode 0
    09-12 14:30:47.234: D/AndroidRuntime(2328): Shutting down VM
    09-12 14:30:47.234: W/dalvikvm(2328): threadid=1: thread exiting with uncaught exception (group=0x418322a0)
    09-12 14:30:47.244: E/AndroidRuntime(2328): FATAL EXCEPTION: main
    09-12 14:30:47.244: E/AndroidRuntime(2328): java.lang.IllegalStateException: Could not execute method of the activity
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at android.view.View$1.onClick(View.java:3704)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at android.view.View.performClick(View.java:4232)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at android.view.View$PerformClick.run(View.java:17318)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at android.os.Handler.handleCallback(Handler.java:615)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at android.os.Handler.dispatchMessage(Handler.java:92)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at android.os.Looper.loop(Looper.java:137)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at android.app.ActivityThread.main(ActivityThread.java:4921)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at java.lang.reflect.Method.invokeNative(Native Method)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at java.lang.reflect.Method.invoke(Method.java:511)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at dalvik.system.NativeStart.main(Native Method)
    09-12 14:30:47.244: E/AndroidRuntime(2328): Caused by: java.lang.reflect.InvocationTargetException
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at java.lang.reflect.Method.invokeNative(Native Method)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at java.lang.reflect.Method.invoke(Method.java:511)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at android.view.View$1.onClick(View.java:3699)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	... 11 more
    09-12 14:30:47.244: E/AndroidRuntime(2328): Caused by: java.io.FileNotFoundException: /yourKeyStore.keystore: open failed: ENOENT (No such file or directory)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at libcore.io.IoBridge.open(IoBridge.java:416)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at java.io.FileInputStream.<init>(FileInputStream.java:78)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at java.io.FileInputStream.<init>(FileInputStream.java:105)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at com.etib.certificat.ImportCa.main(ImportCa.java:19)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at com.etib.certificat.MainActivity.clickFunc(MainActivity.java:43)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	... 14 more
    09-12 14:30:47.244: E/AndroidRuntime(2328): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at libcore.io.Posix.open(Native Method)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	at libcore.io.IoBridge.open(IoBridge.java:400)
    09-12 14:30:47.244: E/AndroidRuntime(2328): 	... 18 more
    Je ne comprends pas trop ce que cela veut dire.

    Je suis un programmeur windev, je n'y connais rien en java. Cela fait 15 jours que je viens de commencer un nouveau taff, j'ai pour mission d'installer les 3 certificat .cer automatiquement et je n'y arrive pas.
    Est ce que j'utilise le bon code et les bonne fonction je ne sais pas.

    Cordialement Law56100

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 325
    Par défaut
    Mon soucis je pense c'est que je ne comprends pas comment l'instruction "FileInputStream" fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FileInputStream is = new FileInputStream("yourKeyStore.keystore");
    Qu'est ce que je dois mettre à la place de YourKeyStore.Keystore?

    sinon pour l'alias je peux mettre ce que je veux ou une information du .cer?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 325
    Par défaut
    Je continu mes recherches

    Dans ma tablette=>paramètres=>sécurité=>periph. =>Système ou utilisateurs
    Système correspond à un keystore car j'ai la liste des certificat installer
    Utilisateur est un autre Keystore. Comment je peux connaitre l'emplacement et le nom du fichier?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 325
    Par défaut
    C'est important pour mon travail donc je relance

  7. #7
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Mais je ne comprends pas tout....

    Le certificat est:
    * Pour authentifier l'utilisateur ? (dans ce cas, effectivement, il "faudrait" passer par le key-store global de l'utilisateur dans les préférences... Mais je ne sais pas si il existe un Intent permettant de lancer l'installation d'un nouveau certificat automatiquement).
    * Pour autoriser un site ? (dans ce cas, impossible de le faire automatiquement, sinon ce serait une faille de sécurité énorme, par contre, il est possible d'autoriser temporairement pour certains "HttpClient" des certificats externes, mais impossible dans le cadre d'un browser toujours pour des raisons de sécurité).

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 325
    Par défaut
    Bonjour

    J'explique mon problème.

    J'ai un progiciel sous windev pour les personnes de bureau et depuis peu un projet sous windev mobile pour les transporteur.
    J'ai des informations clients à aller chercher par web service à un organisme qui me demande d'installer 2 certificats sur le poste ou est installer le logiciel.
    Lors de l'installation du logiciel pour mes clients, j'aimerais installer automatiquement les certificats.

    Pour l'instant j'arrive a les installer sur pc windows 7 et 8 mais en administrateur (pour cela j'utilise certutil). http://www.developpez.net/forums/d14...tomatiquement/
    http://www.developpez.net/forums/d14...-magasin-root/
    Mais la plus pars de nos clients ont l'uac activé.

    J'ai deux soucis. Installer automatiquement sur windows avec l'uac activé.

    Et surtout sur android, installer automatiquement les 2 certificats.

    l'idée c'est de faire quelques chose comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    public class essais {
    	public static void main() throws Exception  {
    	    //KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
    	    //KeyStore keystore = KeyStore.getInstance("AndroidKeyStore");
    		KeyStore keystore = KeyStore.getInstance("BKS");
    	    String alias = "certificat";
    	    char[] password = "changeit".toCharArray();
     
    		CertificateFactory cf = CertificateFactory.getInstance("X.509");
    		InputStream certstream = new FileInputStream("/storage/sdcard0/certificat.cer");
    		Certificate cert =  cf.generateCertificate(certstream);
    		certstream.close();
     
    	    //File keystoreFile = new File("/data/misc/keychain/certs-added.bks");
    		File keystoreFile = new File("/system/etc/security/cacerts.bks");
    	    // Load the keystore contents
    	    FileInputStream in = new FileInputStream(keystoreFile);
    	    keystore.load(in, "changeit".toCharArray());
    	    in.close();
     
    	    // Add the certificate
    	    keystore.setCertificateEntry(alias, cert);
     
    	    // Save the new keystore contents
    	    FileOutputStream out = new FileOutputStream(keystoreFile);
    	    keystore.store(out, "changeit".toCharArray());
    	    out.close();
     
    	}
     
    }
    Mais je ne connais pas le keystore sur android, celui qui correspond à : Paramètres > Personnel > Sécurité > Stockage des identifiants > Installer depuis la mémoire.
    D'une est ce que c'est possible sur android? si oui comment faire?

    Est ce que c'est possible sur windows 7? si oui comment faire?

    cordialement law56100

  9. #9
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Comme je le disais, si l'accès à ces "keystore" était autorisé simplement, ce serait une grosse faille de sécurité.
    Donc pas le choix pour l'utilisateur, il lui faudra les installer "à la main" je pense.

    A moins qu'il n'existe un "intent" permettant de demander à l'utilisateur d'installer le certificat....
    Un simple Intent avec le path du .cert donne quoi ?

    Maintenant, si derrière il y a "juste" une WebView... je pense qu'il doit être possible de s'insérer dans le "browser" et d'y rajouter ces certificats à la volée.



    Pour Windows, la réponse est la même. Il faut être administrateur pour rajouter des certificats globaux. Et à part passer par un domaine (et ses certificats partagés), je ne vois pas comment le faire automatiquement sur la machine.


    Encore une fois, ce ne sont que des pistes, je n'ai jamais essayé d'installer un certificat "automatiquement"

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 325
    Par défaut
    Ok, merci pour les piste je vais voir.

    Il y a 1 mois je ne connaissais pas les certificats.

    La j'essaie d'ouvrir l’application "paramètres" ce que j'arrive :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    import android.app.Activity;
    import android.content.*;
     
    public static void LanceAppliJava()
    {
    	Activity act = getActiviteEnCours();
    	act.startActivity(act.getPackageManager().getLaunchIntentForPackage("com.android.settings"));
    }
    Mais je voudrais l'ouvrir sur l'onglet sécurité-> installer depuis stock. périph. et la je coince un peu

  11. #11
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Salut,

    Je suis complètement novice en matière de dev mobile, mais je sais que sur une machine il est tout à fait possible de créer un keystore et d'y insérer des chaines de certification. Après il existe une propriété que tu donne à la JVM qui te permettet de faire pointer ton programme sur ce keystore en particulier.

    Du-coup je me dis qu'il est peut être possible de faire la même chose sur mobile. Tu te crées un keystore perso, tu importes tes certificat avec la chaines de certification, et tu fais pointer ton appli dessus.

    Tu dois même pouvoir préparer le terrain en créant le keystore sur ta machine et en important directement tout à l'intérieur (sauf si tu reçoit les certificats à la voilée, où dans ce cas tu devras faire les imports en même temps sur le mobile) et tu embarques tout dans ton déploiement.

    Comme ça pas besoins d'avoir accès au cacerts du mobile, tu maitrises tous les éléments.

    Reste à savoir si la propriété "javax.net.ssl.trustStore" existe aussi sur mobile

    Cdt.

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 325
    Par défaut
    Merci pour ton aide,
    J'ai mis de côté le projet pour un autre plus urgent.
    J'ai utilisé ton idée de : "javax.net.ssl.trustStore"

    http://www.developpez.net/forums/d14...y-certificats/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [IIS 6 - SSL] Installation de certificat
    Par bartoumi dans le forum IIS
    Réponses: 2
    Dernier message: 13/06/2008, 12h18
  2. Installer un driver automatiquement
    Par kollyv dans le forum Windows XP
    Réponses: 1
    Dernier message: 19/09/2007, 12h04
  3. [SSO] installer un certificat
    Par spoutyoyo dans le forum Sécurité
    Réponses: 1
    Dernier message: 10/01/2007, 16h51
  4. Installer Win 2k3 automatiquement
    Par chasse dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 09/05/2006, 08h49

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