Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2186 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Venez apprendre a signer vos applets

n°1024943
tuxbleu
renie ses origines
Posté le 25-03-2005 à 16:05:49  profilanswer
 

Reprise du message précédent :
Bonjour,
 
J'ai signé une applet selon la méthode évoquée ici. J'ai fais des tests avec un serveur apache sur un environnement windows, et ca fonctionnait très bien.
 
J'ai répété la même opération sur mon serveur linux, la signature s'est bien passée, mais quand les utilisateurs chargent l'applet, ya une fenetre qui apparait ou il est écris a peu pres ce qui suit :  " Discordance de nom d'hote : l'autorité qui a signé cette applet est localhost.localdomaine, or l'hote actuel est 192.168.XXX.XXX" .
Puis il est demandé à l'utilisateur si il accepte quand meme l'applet, et si ce dernier accepte, le chargement de l'applet se fait.
 
En résumé ca fonctionne, mais ca fait apparaitre une fenetre supplémentaire lors du chargement de l'applet.
 
Quelqu'un a déjà eu ca ? Je pense que ma question concerne surtout les utilisateurs de linux, par ce que sous windows le cas ne s'est pas produit.
 
merci d'avance de vos aides.

mood
Publicité
Posté le 25-03-2005 à 16:05:49  profilanswer
 

n°1126016
jeromejans​on
Posté le 21-06-2005 à 11:06:53  profilanswer
 

bonjour,
ca doit certainement etre une question toute bete, mais je viens de faire une applet (MonApplet.class), et pour la signer il faut avoir un .jar
donc je voudrais savoir comment passer de mon .class a mon .jar
 
merci ;)

n°1126047
tuxbleu
renie ses origines
Posté le 21-06-2005 à 11:22:39  profilanswer
 

jar cvf nom_du_jar.jar MonApplet.class
 
voila.

n°1126062
jeromejans​on
Posté le 21-06-2005 à 11:31:31  profilanswer
 

je venais de trouver
 
merci quand meme ;)
 
ps : mais c'est vrai que si il existait un soft pour faire tout ca d'un coup !! ;)


Message édité par jeromejanson le 21-06-2005 à 11:32:09
n°1126249
the real m​oins moins
Posté le 21-06-2005 à 13:40:41  profilanswer
 

ant, maven, eclipse, et tant d'autres [:kiki]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1126338
jeromejans​on
Posté le 21-06-2005 à 14:53:14  profilanswer
 

the real moins moins a écrit :

ant, maven, eclipse, et tant d'autres [:kiki]


 
j'utilise justement eclipse, est ce qu'il est possible de savoir comment faire ca rapidement ??
 
merci ;)

n°1126350
nraynaud
lol
Posté le 21-06-2005 à 15:01:07  profilanswer
 

Export -> "Export as jar" sur ton projet. Moi non plus j'avais pas capté sans qu'on me le dise.
 
tu peux sauver un fichier décrivant ce que tu exportes avec cetruc.

n°1525647
esox_ch
Posté le 08-03-2007 à 08:46:01  profilanswer
 

Bonjour,
J'ai un problème quand je veux generer ma clef :

 
Code :
  1. $ keytool -genkey -keyalg rsa -alias tstkey
  2. Enter key store password: test
  3. Enter key password for <tstkey>: test
  4. You are about to enter information that will be incorporated into
  5. your certificate request.  This information is what is called a
  6. Distinguished Name or DN.  There are quite a few fields but you
  7. can use supplied default values, displayed between brackets, by just
  8. hitting <Enter>, or blank the field by entering the <.> character
  9. before hitting <Enter>.
  10. Common Name (hostname, IP, or your name): t
  11. Organization Name (company) [The Sample Company]: t
  12. Organizational Unit Name (department, division): t
  13. Locality Name (city, district) [Sydney]: t
  14. State or Province Name (full name) [NSW]: t
  15. Country Name (2 letter code) [AU]: t
  16. keytool error: java.lang.IllegalStateException: masked envelope
 

Est-ce que qqn peut m'expliquer?

 

Merci

 

Edit : Il m'a suffi d'effacer le ~/.keystore et recommencer


Message édité par esox_ch le 08-03-2007 à 08:51:13

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1525676
esox_ch
Posté le 08-03-2007 à 09:41:02  profilanswer
 

Bon je reviens à la charge avec un autre problème :)
 

Code :
  1. $ rm /home/esox/.keystore
  2. $ keytool -genkey -keyalg rsa -alias tstkey
  3. Enter key store password: test
  4. Enter key password for <tstkey>: test
  5. You are about to enter information that will be incorporated into
  6. your certificate request.  This information is what is called a
  7. Distinguished Name or DN.  There are quite a few fields but you
  8. can use supplied default values, displayed between brackets, by just
  9. hitting <Enter>, or blank the field by entering the <.> character
  10. before hitting <Enter>.
  11. Common Name (hostname, IP, or your name): a
  12. Organization Name (company) [The Sample Company]: a
  13. Organizational Unit Name (department, division): a
  14. Locality Name (city, district) [Sydney]: a
  15. State or Province Name (full name) [NSW]: a
  16. Country Name (2 letter code) [AU]: a
  17. $ jarsigner videoUploader.jar tstkey
  18. Enter key store password: test
  19. $ jarsigner -verify -verbose -certs videoUploader.jar
  20. Jar is not signed --no signature files found.


 
Comment ça se fait?
 
Merci


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1525702
frabill
Posté le 08-03-2007 à 10:34:02  profilanswer
 

Il me semble que tu dois obligatoirement fournir un nom de jar signé que jarsigner doit produire. On ne travaille pas sur le jar d'origine.

mood
Publicité
Posté le 08-03-2007 à 10:34:02  profilanswer
 

n°1528149
esox_ch
Posté le 14-03-2007 à 00:14:56  profilanswer
 

D'accord merci je vais essayer

n°1528638
esox_ch
Posté le 14-03-2007 à 20:42:26  profilanswer
 

Salut, je viens de controler mais le manuel de jarsigner ne parle pas du fait de mentioner un autre nom :  
 

Citation :


Usage:  jarsigner [OPTION]... FILE ALIAS
        jarsigner -verify [OPTION]... FILE
Java ARchive (JAR) file signing and verification tool.
 
FILE is the .JAR file to sign or to verify.
 
ALIAS must be a known Alias of a Key Entry in the designated key store.  The
private key material associated with this Alias is used for signing FILE.  if
ALIAS is required, but was omitted, "mykey" will be used instead.
 
Signing options:
  -keystore URL            Location of the key store to use.  The default
                             value is a file-based scheme whose path is the
                             file named ".keystore" in your home directory.
                             If URL is malformed, the tool will use URL as a
                             file-name of a key store; i.e. as if the protocol
                             was "file:".
  -storetype STORE_TYPE    Type of the key store to use.  If omitted, the
                             default value is that of the property
                             "keystore.type" in the security properties file.
  -storepass PASSWORD      Password to unlock the key store.  If omitted, you
                             will be prompted to provide a password.
  -keypass PASSWORD        Password to unlock the Key Entry associated with
                             ALIAS.  If omitted, the tool will use the same
                             password protecting the key store.  If this
                             fails, you will be prompted to provide a password.
  -sigfile NAME            A literal to construct file names for both the .SF
                             and .DSA signature files --which will be placed
                             in the META-INF directory of the signed JAR.
                             Permissible characters are in the range
                             [a-zA-Z0-9_-].
                             If omitted, the first 8 characters of ALIAS will
                             be used.  Characters outside that range will be
                             replaced by underscores.
  -signedjar FILE          Name of the signed JAR file.  If omitted, the
                             signed JAR will be named the same as FILE; i.e.
                             the input file will be replaced with its signed
                             copy.
 
Verification options:
  -verify    Verify an already signed FILE.
  -certs     Use with -verbose to see more detailed information about the
               certificates of ALIAS.
 
Common options:
  -verbose                         Output more verbose messages during
                                     processing.
  -internalsf                      Include --otherwise do not-- the .SF file
                                     in the .DSA generated file.
  -sectionsonly                    Include in the .SF generated file
                                     --otherwise do not-- a header containing
                                     a hash of the whole manifest file.
  -provider PROVIDER_CLASS_NAME    Fully qualified class name of a Security
                                     Provider to add to the JVM in-use.
 
Standard options:
      -help       print this help, then exit
      -version    print version number, then exit
  -JOPTION        pass argument to the Java runtime
 
Please report bugs at http://www.gnu.org/software/classpath/bugs.html

n°1528698
frabill
Posté le 14-03-2007 à 23:41:13  profilanswer
 

oui en effet... je n'ai pas d'autre idée, j'ai signé des JAR sous windows avec le JDK 6 sans problème. Et la vérification se passe bien avec le paramètre -verify

n°1529058
esox_ch
Posté le 15-03-2007 à 19:01:32  profilanswer
 

Merci,  
J'ai un idée que le problème venait de ma version de keytool, en effet c'était le cas. Apparemment j'utilisais la version gij qui marche pas trop bien ... Du coups maintenant tout est parfait. Merci

n°1529087
lkolrn
&lt;comment ça marche?&gt;
Posté le 15-03-2007 à 19:56:24  profilanswer
 

Le navigateur prévient-il vraiment quand on utilise potentiellement une merde comme ça qui peut foutre en l'air un pc entier, voire même beaucoup plus ? :heink: (j'ai pas pu lire de réponse claire là-dessus plus haut)
 
Est-ce qu'on a accès à un genre de certificat donnant toutes les infos sur la signature ? A quel moment est-on prévenu que la poulette (prononcer très très vite) accède à notre machine ? A chaque échange, à chaque type d'échange, une fois pour toutes ?
 
:jap:

n°1529122
Profil sup​primé
Posté le 15-03-2007 à 20:56:21  answer
 

lkolrn a écrit :

Le navigateur prévient-il vraiment quand on utilise potentiellement une merde comme ça qui peut foutre en l'air un pc entier, voire même beaucoup plus ?  :heink:  (j'ai pas pu lire de réponse claire là-dessus plus haut)

 

Est-ce qu'on a accès à un genre de certificat donnant toutes les infos sur la signature ? A quel moment est-on prévenu que la poulette (prononcer très très vite) accède à notre machine ? A chaque échange, à chaque type d'échange, une fois pour toutes ?

 

:jap:

 


j'ai bloqué sur le mot en gras  :??: , j'ai longuement réflechit  :heink: , et finalement  :sweat:  
 
 
 
j'ai rit  :lol:

n°1603687
aurelien11​0
Posté le 24-08-2007 à 15:57:32  profilanswer
 

Bonjour. Cela fait des jours que je bloque, je suis certainement idiot. En fait j'ai besoin de pouvoir signer mon applet Java, car il doit accéder au disque dur. En même temps je débute (ou plutôt je redébute, j'en ai fait il y a longtemps) en java. J'ai suivi le tuto pour créer un petit applet avec NetBeans à cette adresse : http://www.netbeans.org/kb/50/tutorial-applets.html
 
Je l'ai un peu fait évoluer, voici le nouveau code de mon applet :  


package org.me.hello;
 
import java.applet.Applet;
import java.awt.Graphics;
import java.io.FileWriter;
 
public class MyApplet extends Applet  
{
    public void paint(Graphics g)  
    {
        g.drawString("Hello applet!", 50, 25);
        System.out.println("plop" );
        try
        {
            FileWriter file = new FileWriter("C:\\test.txt" );
            file.write("test" );
            file.close();
        }
        catch(Exception e)
        {
            g.drawString("Echec", 50, 75);
        }
    }
}


 
Vous l'aurez compris, mon but est de ne plus voir écrit "Echec". Quand je regarde l'applet avec NetBeans, pas de soucis, mais dans un navigateur, soucis. J'ai pourtant signé le fichier HelloApplet.jar qui se trouvait dans "dist/". Ca m'a généré un HelloAppletSigned.jar, qui faisait 3ko au lieu de 2ko (taille de l'original). J'ai viré le HelloApplet.jar et j'ai mis le signé à la place, ça ne change rien. J'ai essayé de générer un .jar à partir du .class, ça ne change rien. J'ai essayé d'ajouter l'attribut "archive" à ma balise <applet>, ça ne change rien.  
 
Bref, en fait il se contrefout de mon .jar, j'ai l'impression qu'il ne s'en sert même pas, il doit trouver le code source quelque part ailleurs, en usant de la magie sans doute.  
 
Par pitié aidez-moi...
 
Aurélien.  
 
PS : s'il faut j'utiliserai autre chose que netbeans, je m'en fou peu importe.

n°1603794
frabill
Posté le 24-08-2007 à 19:11:42  profilanswer
 

tu as regardé ça ? http://java.sun.com/sfaq/

n°1603961
aurelien11​0
Posté le 25-08-2007 à 14:56:36  profilanswer
 

Ah merci bien, je vais regarder ça plus en détail lundi (je ne peux pas ce week-end), mais déjà j'ai l'impression qu'il y a des trucs nouveaux pour moi.  
 
Sinon concrétement, ce dont j'ai besoin :  
- je dois développer une application en HTML qui appelle une applet java.  
- tout sera en local chez le client
- j'ai la possibilité d'installer un "Portable Firefox" paramétré pour accepter n'importe quel truc Java.  
 
Donc voilà je me dis, comme tout est en local chez le client, il doit forcément y avoir moyen de faire marcher une applet qui écrit sur le disque dur (en fait au final elle se contentera d'appeler une DLL, qui elle écrit sur le disque dur).  
 
Donc voilà j'ai la conviction que c'est complètement faisable mon truc.  
 
A tout hasard, y aurait-il quelqu'un qui pourrait faire une applet avec mon code Java, la signer, et me dire :  
- avec quel JDK ça marche
- avec quel IDE
- avec quel navigateur
 
Ce serait super sympa. Merci d'avance !
Et merci à toi Frabill, de m'avoir répondu. Je dirai si j'ai avancé lundi. J'aurai le temps également d'essayer avec Eclipse et JBuilder pour voir.  
 
Aurélien.

n°1604263
aurelien11​0
Posté le 27-08-2007 à 10:10:33  profilanswer
 

Je suis toujours là-dessus, j'ai lu encore plein de tutoriaux, je n'y arrive pas... Quelqu'un pourrait-il essayer de faire marcher mon applet et me dire comment il fait ?
 
Merci d'avance,  
 
Aurélien.

n°1604268
frabill
Posté le 27-08-2007 à 10:24:14  profilanswer
 

Tu peux m'envoyer ton code si tu veux... Je jetterai un oeil dans la journée.
La suite par MP si tu préfères.

n°1604279
aurelien11​0
Posté le 27-08-2007 à 10:40:14  profilanswer
 

Le code est juste au dessus. La je suis en train de faire une applet à la main, mais ce que je ne comprends pas, c'est : une fois que j'ai fait un .jar avec le .class, je peux supprimer le .class ou pas ? si oui, je mets quoi dans la balise <APPLET> de la page ? juste le paramètre "archive" ?

n°1604293
frabill
Posté le 27-08-2007 à 10:57:12  profilanswer
 
n°1604303
aurelien11​0
Posté le 27-08-2007 à 11:08:40  profilanswer
 


 
Pardon oui je venais de trouver. Je t'ai refait le truc en message privé. Je mets quand même mon message ici, pour mettre toutes les chances de mon côté (quelqu'un trouvera peut-être le truc). En fait, c'est vraiment l'exemple type mon truc. Voilà le message :  
 
Je reprends du début, cette fois j'ai vraiment fait les choses proprement et ça ne marche toujours pas :  
je crée un fichier FirstApplet.java dans lequel je mets :  


import java.awt.*;
import java.io.FileWriter;
 
public class FirstApplet extends java.applet.Applet  
{
   public void init ()
   {
        add(new Label("Hello World" ));
        try
        {
            FileWriter file = new FileWriter("C:\\test.txt" );
        }
        catch (Exception e)
        {        
            System.out.println(e);
        }
   }
}


 
Je compile : javac FirstApplet.java
-> j'obtiens FirstApplet.class
Je tape : jar cvf FirstApplet.jar FirstApplet.class
-> j'obtiens FirstApplet.jar
 
Je fais FirstApplet.html dans lequel je mets :  


<HTML>
    <BODY>
        <APPLET code="FirstApplet.class" archive="FirstApplet.jar" width="100" height="30" align="left">
            Message s'affichant si l'applet n'est pas supportée par le navigateur
        </APPLET>
    </BODY>
</HTML>


 
Si je regarde avec appletviewer, j'obtiens :  
java.security.AccessControlException: access denied (java.io.FilePermission C:\test.txt write)
 
ce qui est complètement normal. On remarque que je n'ai pas d'autre exception, donc pas de problème de class path.  
 
Je crée une signature "demoweb" comme décrit, et je fais :  
jarsigner -signedjar FirstAppletS.jar FirstApplet.jar demoweb
Enter Passphrase for keystore: ********
Warning: The signer certificate will expire within six months.
 
Parfait !  
-> j'obtiens FirstAppletS.jar
 
Alors maintenant dans le code HTML je mets :  


<APPLET code="FirstApplet.class" archive="FirstAppletS.jar" width="100" height="30" align="left">


 
je lance appletwiewer, et vlan ! toujours l'exception !
 
Est-ce que tu vois ce que j'ai oublié ? Si ça marche chez toi, qu'as-tu comme JRE, JDK, Jtruc, Jmachin ?
 
Merci d'avance,  
 
Aurélien.


Message édité par aurelien110 le 27-08-2007 à 11:09:54
n°1604336
frabill
Posté le 27-08-2007 à 11:42:48  profilanswer
 

Ca fonctionne chez moi en suivant la même procédure sur le JDK 1.6 et firefox pour lancer la page contenant l'applet. Par contre, j'ai fait le .jar à partir d'Eclipse et il m'a inclus un fichier java.policy.applet contenant le code :
 

Code :
  1. grant {
  2.   permission java.security.AllPermission;
  3. };


Mais apparemment même en enlevant ce fichier du jar signé, on peut toujours accéder au disque dur... Si j'ai bien compris les docs que j'ai lues, ce fichier ne sert à rien si le jar est signé.
 
Regarde quand même du côté de ce fichier ou essaye un JDK 1.6 si tu n'as pas cette version.
 
(je précise que j'ai les droits administrateurs sur la machine, avec la permission d'écriture sur c: )


Message édité par frabill le 27-08-2007 à 11:50:38
n°1604347
aurelien11​0
Posté le 27-08-2007 à 11:54:45  profilanswer
 

Oh lala en fait cette fois mon truc marche dans firefox, ça ne marchait juste pas dans "appletviewer".  
 
Merci beaucoup frabill d'avoir été patient. C'est vraiment sympa :)
 
Et en effet j'ai le JDK 1.5, mais ça marche quand même, c'est pendant le téléchargement un peu long du 1.6 que j'ai essayé avec Firefox.  
 
Aurélien.

n°1744653
esperal
Posté le 11-06-2008 à 11:49:59  profilanswer
 

problème :  l'invite de commande me dit que "jarsigner n'est pas reconnu comme interne ou externe, un programme d'exécution ou un fichier de commandes"
 
Je n'ai pas eu de problème pour créer la keytool, j'ai bien enregistrer mon applet en .jar (avec eclipse), mais je bloque sur jarsigner.

n°1747432
Bidem
Posté le 17-06-2008 à 11:24:57  profilanswer
 

esperal a écrit :

problème :  l'invite de commande me dit que "jarsigner n'est pas reconnu comme interne ou externe, un programme d'exécution ou un fichier de commandes"
 
Je n'ai pas eu de problème pour créer la keytool, j'ai bien enregistrer mon applet en .jar (avec eclipse), mais je bloque sur jarsigner.


 
C'est un problème de PATH tout bête.
 
Soit tu ajoutes le répertoire JAVA_HOME/bin à ton PATH Système, soit tu lance la commande après t'être mis dans ce répertoire

n°1770901
bibijosh
Posté le 07-08-2008 à 19:12:57  profilanswer
 

Bonjour,
 
Pour les besoins de mon stage j'ai créé une applet qui doit lire un fichier sur le disque.
J'ai fait tout ce q le monsieur a dit: j'ai signé mon applet, créé le certificat (même si je savais pas trop quoi en faire après ca...), mais quand je lance mon applet sur firefox, j'ai toujours un message d'erreur access denied.  
D'ailleurs au lancement, je n'est même pas la demande d'autorisation.
Donc visiblement, j'ai du louper un episode, mais lequel???
 
Si quelqu'un a une idée, surtout qu'il ne soit pas timide
Merci d'avance!


Message édité par bibijosh le 07-08-2008 à 19:55:59
n°1895116
skip78
Posté le 15-06-2009 à 12:30:08  profilanswer
 

Salut,
Moi y'a un truc que je comprends pas :
Pour lancer une applet, je met un .html qui redirige vers mon .java, stockés tous les deux au même endroit sur mon site.
Bon, la dedans j'ai pas de .jar ???
Or quand je signe un .jar, il me donne un .jar signé en sortie.
J'en fait quoi ?
Je comprends pas :)

n°1895388
bibijosh
Posté le 15-06-2009 à 18:30:53  profilanswer
 

Salut,
 
D'après mes souvenirs, ton .html doit appeler un fichier .jnlp (qui est codé en xml) c'est ce .jnlp qui doit appeler ton .jar et éventuellement les .jar de tes librairies.

n°1895391
skip78
Posté le 15-06-2009 à 18:44:27  profilanswer
 

Salut,
 
Merci de ta réponse.
 
Pour faire un applet à partir d'un .jar, j'ai trouvé assez facilement.
Il suffit de mettre le code html suivant :
 

Code :
  1. <applet
  2.     codebase="."
  3.     code="myapplet.class"
  4.     archive="mysignedapplet.jar"
  5.     width="300" height="300" align="midle">
  6.         Votre navigateur n'est pas compatible java.
  7.     </applet>


 
Bonne soirée !

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
quelle est la meilleure documentation pour apprendre direct x 9 ?Doc pour signer les applet
applets, champs de saisie, etcComment signer un applet irc sans certificat officiel ?
venez tester ma page + conseilsQuel langage apprendre pour débuter en programmation ???
je voudrais juste apprendre!probleme pour signer une applet
Pkoi IE demande une authorisation pour executer certaines applets ?[Delphi 7] livre à acheter pour apprendre Delphi?
Plus de sujets relatifs à : Venez apprendre a signer vos applets


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR