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

Applets Java Discussion :

Applet signé mais erreur read


Sujet :

Applets Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Par défaut Applet signé mais erreur read
    bonjour,

    j'utilise une applet pour uploader un fichier vers un serveur FTP. j'ai suivi la FAQ qui explique comme signé son applert pour qu'elle puisse copier mon fichier sur mon disque. mais lorsqu'elle doit le faire j'ai une erreur

    Erreur : access denied (java.io.FilePermission c:\test.txt read)

    premierement: ce n'est pas test.txt que j'ai uploder mais un autre (il garde en memoire mes anciens essais upload... !!?

    secondo: mon applet est bien signée alors pourquoi elle ne peut copier ce fichier sur mon disque..?!

    je vous montre comment j'ai proceder

    dans le shell :

    compilation java :
    c:\Program Files\Java\jdk1.6.0_16\bin\>javac -classpath "c:\Program Files\Java\jdk1.6.0_16\jre\lib\plugin.jar" c:\pa1\jav\*.java

    creation de l'archive
    c:\Program Files\Java\jdk1.6.0_16\bin\>jar cvf c:\pa1\jav\FTP.jar c:\pa1\jav\*.class

    j'ai bien creer mon certificat avec keytool

    ensuite je signe l'archive avec ce dernier

    signature de l'archive
    c:\Program Files\Java\jdk1.6.0_16\bin\>jarsigner -storepass <motdepasse> -signedjar c:\pa1\jav\SFTP.jar c:\pa1\jav\FTP.jar <alias>

    est ce j'ai oublie qqch ?

    pouvez vous svp ?

    merci d'avance

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 8
    Par défaut
    As-tu modifié ton java.policy ?

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Par défaut
    non je n'ai pas modifier le java.policy

    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
     
     
    // Standard extensions get all permissions by default
     
    grant codeBase "file:${{java.ext.dirs}}/*" {
    	permission java.security.AllPermission;
    };
     
    // default permissions granted to all domains
     
    grant { 
    	// Allows any thread to stop itself using the java.lang.Thread.stop()
    	// method that takes no argument.
    	// Note that this permission is granted by default only to remain
    	// backwards compatible.
    	// It is strongly recommended that you either remove this permission
    	// from this policy file or further restrict it to code sources
    	// that you specify, because Thread.stop() is potentially unsafe.
    	// See "http://java.sun.com/notes" for more information.
    	permission java.lang.RuntimePermission "stopThread";
     
    	// allows anyone to listen on un-privileged ports
    	permission java.net.SocketPermission "localhost:1024-", "listen";
     
    	// "standard" properies that can be read by anyone
     
    	permission java.util.PropertyPermission "java.version", "read";
    	permission java.util.PropertyPermission "java.vendor", "read";
    	permission java.util.PropertyPermission "java.vendor.url", "read";
    	permission java.util.PropertyPermission "java.class.version", "read";
    	permission java.util.PropertyPermission "os.name", "read";
    	permission java.util.PropertyPermission "os.version", "read";
    	permission java.util.PropertyPermission "os.arch", "read";
    	permission java.util.PropertyPermission "file.separator", "read";
    	permission java.util.PropertyPermission "path.separator", "read";
    	permission java.util.PropertyPermission "line.separator", "read";
     
    	permission java.util.PropertyPermission "java.specification.version", "read";
    	permission java.util.PropertyPermission "java.specification.vendor", "read";
    	permission java.util.PropertyPermission "java.specification.name", "read";
     
    	permission java.util.PropertyPermission "java.vm.specification.version", "read";
    	permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
    	permission java.util.PropertyPermission "java.vm.specification.name", "read";
    	permission java.util.PropertyPermission "java.vm.version", "read";
    	permission java.util.PropertyPermission "java.vm.vendor", "read";
    	permission java.util.PropertyPermission "java.vm.name", "read";
    };
    il est comme ça.

    d'autre idées?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 8
    Par défaut
    Le java.policy sert à autoriser des accès pour lever des SecurityException.
    Normalement, en ajoutant :
    permission java.security.AllPermission;
    juste après la ligne :
    permission java.util.PropertyPermission "java.vm.name", "read";
    ton applet devrait fonctionner, mais évidemment ce n'est pas la solution.
    L'idée générale est la suivante :
    - utiliser policytool.exe pour modifier ton java.policy ou créer ou modifier le .java.policy situé au niveau du répertoire racine de l'utilisateur (/home/user sur linux, ou c:\documents and settings\user sur windows).
    Précise le keystore utilisé pour signer ton applet, utilise sa signature pour obtenir un signed by dans ton policy et la permission doit être FilePermission sur une cible "c:\test.txt" avec les droits en lecture/écriture nécessaires.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Par défaut
    Citation Envoyé par dguerout Voir le message
    Le java.policy sert à autoriser des accès pour lever des SecurityException.
    Normalement, en ajoutant :
    permission java.security.AllPermission;
    juste après la ligne :
    permission java.util.PropertyPermission "java.vm.name", "read";
    ton applet devrait fonctionner, mais évidemment ce n'est pas la solution.
    .
    j'ai essayer avec ça mais ça ne change pas j'ai toujours mon interdiction d elire sur mon disque.
    L'idée générale est la suivante :
    - utiliser policytool.exe pour modifier ton java.policy ou créer ou modifier le .java.policy situé au niveau du répertoire racine de l'utilisateur (/home/user sur linux, ou c:\documents and settings\user sur windows).
    Précise le keystore utilisé pour signer ton applet, utilise sa signature pour obtenir un signed by dans ton policy et la permission doit être FilePermission sur une cible "c:\test.txt" avec les droits en lecture/écriture nécessaires
    Et pour ça j'ai pas bien compris comment ça marche. je n'arrive pas à avoir dans mon fichier java.policy les permissions le lecture/écriture.
    Je suis un peu perdu...

Discussions similaires

  1. Erreur d'exécution d'une applet signée
    Par airod dans le forum Débuter avec Java
    Réponses: 10
    Dernier message: 19/06/2013, 19h08
  2. Eclipse : Signe d'erreur sur le projet, mais pas de trace
    Par the watcher dans le forum Eclipse
    Réponses: 1
    Dernier message: 04/07/2011, 19h17
  3. Réponses: 18
    Dernier message: 21/08/2007, 00h48
  4. Réponses: 2
    Dernier message: 20/03/2007, 11h50
  5. Réponses: 2
    Dernier message: 08/08/2005, 21h30

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