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

Sécurité Java Discussion :

Utiliser les outils keytool et openSSL dans un programme java


Sujet :

Sécurité Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 117
    Points : 62
    Points
    62
    Par défaut Utiliser les outils keytool et openSSL dans un programme java
    Bonjour à tous,

    Je dois réaliser une application réalisant la convertion des certificats éléctroniques entre différents formats. Mais je bloque dés le début car je ne sais pas comment utiliser Keytool et openSSL dans un programme java. Si quelqu'un connait la réponse à cette question ?

    Merci d'avance à vous.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 117
    Points : 62
    Points
    62
    Par défaut
    Je viens de trouver peut être quelquechose. L'utilisation de la methode exec() de Runtime. J'ai donc fait un test avec de programme suivant mais aprés éxécution le certificat ne figure pas dans le keystore. Pourriez-vous me dire pourquoi ?

    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
    import java.io.*;
     
    public class testutilisationKT
    {
    	public static void main(String args[])
    	{
    		try
    		{
     
     
    			String cmd = new String("keytool -genkey -v -keystore foo -keyalg rsa -keysize 512 -alias certifTEST -storepass aaaaaa -keypass aaaaaa -dname \"CN=xxx.fr/Email=reseau@xxx.fr,O=xxxx,C=FR\"");
    			Process proc = Runtime.getRuntime().exec(cmd);
     
    		}
    		catch(Exception e){
    			System.out.println(e.getMessage());
    			e.printStackTrace();
    		 }
    	}
    }

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 117
    Points : 62
    Points
    62
    Par défaut
    up ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 282
    Points : 327
    Points
    327
    Par défaut
    Bonjour, il y a un guide des bonnes pratiques pour exécuter un programme externe en java, section tutoriels Java de developpez.com. En l'occurrence ici il ne faut pas passer tes arguments dans une seule string mais dans un tableau de strings, dans ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Runtime rt = Runtime.getRuntime();
    String[] cmd = new String[] {"keytool", "-genkey", "-keystore", "..."};
    rt.exec(cmd);

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 117
    Points : 62
    Points
    62
    Par défaut
    Merci pour ta réponse. En effet j'utilisais mal la methode exec. Par contre lorsque je veux utiliser les paramétres de keytool suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "-dname \"CN=travail, OU=Bureau Web, O=PenPen, L=Paris, S=IDF, C=FR\"
    J'e receptionne cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Option non valide :  -dname "CN=travail, OU=Bureau Web, O=PenPen, L=Paris, S=IDF, C=FR"
    Essayez keytool -help
    Voici comment je l'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String[] cmd = new String[] {"keytool", "-genkey", "-v", "-keystore", "foo", "-keyalg", "rsa", "-keysize", "512", "-alias", "coucou", "-storepass", "aaaaaa", "-keypass", "aaaaaa",  "-dname \"CN=travail, OU=Bureau Web, O=PenPen, L=Paris, S=IDF, C=FR\""};
    Process proc = Runtime.getRuntime().exec(cmd);
    Quelqu'un pourrait me dire pourquoi j'ai cette erreur svp ???

    Merci à tous

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 117
    Points : 62
    Points
    62
    Par défaut
    c'est bon j'ai vu où était mon erreur. J'ai mis des guillemets inutiles pour les derniers paramétres.
    Merci pour ta réponse sur l'exec qui m'as aidé.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 24/06/2014, 11h50
  2. [Débutant] Utilisation de la fonction Matlab "imcrop" dans un programme Java
    Par ingeta dans le forum MATLAB
    Réponses: 0
    Dernier message: 08/04/2014, 18h46
  3. Utiliser les solveurs ODE de MATLAB dans un programme en C++
    Par yanndublanche dans le forum MATLAB
    Réponses: 8
    Dernier message: 12/12/2007, 15h40
  4. utiliser les attribut d'une classe dans une autre classe
    Par kaissaoui dans le forum Langage
    Réponses: 11
    Dernier message: 18/07/2007, 15h13
  5. Utiliser les index de listes déroulantes dans un bloc séparé ?
    Par debie1108 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/05/2007, 08h43

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