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

NetBeans Java Discussion :

Signature numérique d'un applet


Sujet :

NetBeans Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Consultant finance
    Inscrit en
    Mars 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant finance
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 12
    Par défaut Signature numérique d'un applet
    Bonjour,

    Jusqu'à présent je développait un applet sous JBuilder, et celui ci pouvait stocker des informations sur le disque du client et aussi les récupérer
    Ensuite je me suis aperçu que JBuilder Fundation sous lequel je travaillais, n'autorise pas la création de logiciel cormmerciaux. à la différence de Netbeans
    J'ai importer mon applet via l'importateur Netbeans ( Un outil magnifique et formidable )

    SAUF que la signature numérique (c'est comme cela qu'on la nomme en JBuilder, et qui fonctionne avec un fichier .jks) n'est pas passée. J'ai beau cherher sur ce forum, je n'ai absolument rien compris aux documents que j'ai trouvé.
    Donc si vous pouviez me renseigner, je vous en serais gré !

  2. #2
    Expert confirmé


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Par défaut
    Le fichier .jks a été créé avec l'utilitaire Keytools fournit avec tout JDK.
    Tu peux logiquement le recopier tel quel.
    Mais tu devras étendre le script Ant pour y appeler la tâche ant signjar
    en indiquant que tu veux signer ton applet en utilisant ton certificat contenu dans le fichier .jks.

    Il y a un article sur un KeytoolsIUI qui devrait peut-être pouvoir t'éclairer pour ce qui est de .jks

    Quelques exemples pour utiliser ton jks avec signjar: http://ant.apache.org/manual-rc/CoreTasks/signjar.html

    un exemple de script Ant (provient de http://fisheye5.cenqua.com/browse/gl...ml?r=1.11#l181)
    :
    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
    181   	         <genkey 
    182 	            alias="glassfish" 
    183 	            storepass="secret"
    184 	            keystore="${jws.appclient.keystore}"
    185 	            validity="3650"
    186 	            dname="CN=Glassfish, OU=Application Server, O=java.net, C=US"
    187 	            />
    188 	
    189 	        <delete file="${appserv-jwsacc.jar.signed}"/>
    190 	        <signjar
    191 	            jar="${appserv-jwsacc.jar}"
    192 	            alias="glassfish"
    193 	            storepass="secret"
    194 	            keystore="tempKeystore.jks"
    195 	            signedjar="${appserv-jwsacc.jar.signed}"
    196 	            />

  3. #3
    Membre averti
    Homme Profil pro
    Consultant finance
    Inscrit en
    Mars 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant finance
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 12
    Par défaut
    Salut,

    Merci de m'avoir répondu.

    J'ai fait un copier-coller adapter à mon code (enfin je crois ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <signjar  
                 jar="${JavaGene.jar}"  
                 alias="tata"  
                 storepass="bob"  
                 keystore="C:\Documents and Settings\toto\Bureau\Ketstore.jks"  
                 signedjar="${JavaGene.jar}"  
                 />
    Je l'ai placé dans le fichier build.xml, dans la target post-jar, et ça a planté en beauté,
    Je l'ai alors placé dans le build target do-jar-with-library, comme ceci:
    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
    <target name="-do-jar-with-libraries" depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class+mkdist.available">
            <property name="build.classes.dir.resolved" location="${build.classes.dir}"/>
            <pathconvert property="run.classpath.without.build.classes.dir">
                <path path="${run.classpath}"/>
                <map from="${build.classes.dir.resolved}" to=""/>
            </pathconvert>
            <pathconvert property="jar.classpath" pathsep=" ">
                <path path="${run.classpath.without.build.classes.dir}"/>
                <chainedmapper>
                    <flattenmapper/>
                    <globmapper from="*" to="lib/*"/>
                </chainedmapper>
            </pathconvert>
            <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" name="copylibs" classpath="${libs.CopyLibs.classpath}"/>
            <copylibs manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}" jarfile="${dist.jar}" compress="${jar.compress}">
                <fileset dir="${build.classes.dir}"/>
                <manifest>
                    <attribute name="Main-Class" value="${main.class}"/>
                    <attribute name="Class-Path" value="${jar.classpath}"/>
                </manifest>
            </copylibs>
            <echo>To run this application from the command line without Ant, try:</echo>
            <property name="dist.jar.resolved" location="${dist.jar}"/>
            <echo>java -jar "${dist.jar.resolved}"</echo>
     
        <signjar  
                 jar="${JavaGene.jar}"  
                 alias="mecasonic"  
                 storepass="mecasonic"  
                 keystore="C:\Documents and Settings\navarro\Bureau\Ketstore.jks"  
                 signedjar="${JavaGene.jar}"  
                 />  
     
        </target>
    et ça n'a pas fait d'erreur, mais ça n'as pas non plus signé l'applet.

  4. #4
    Expert confirmé


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Par défaut
    Citation Envoyé par pikajojo
    Salut,

    Merci de m'avoir répondu.

    J'ai fait un copier-coller adapter à mon code (enfin je crois ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <signjar  
                 jar="${JavaGene.jar}"  
                 alias="tata"  
                 storepass="bob"  
                 keystore="C:\Documents and Settings\toto\Bureau\Ketstore.jks"  
                 signedjar="${JavaGene.jar}"  
                 />
    Je l'ai placé dans le fichier build.xml, dans la target post-jar, et ça a planté en beauté,
    Je l'ai alors placé dans le build target do-jar-with-library, comme ceci:
    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
    <target name="-do-jar-with-libraries" depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class+mkdist.available">
            <property name="build.classes.dir.resolved" location="${build.classes.dir}"/>
            <pathconvert property="run.classpath.without.build.classes.dir">
                <path path="${run.classpath}"/>
                <map from="${build.classes.dir.resolved}" to=""/>
            </pathconvert>
            <pathconvert property="jar.classpath" pathsep=" ">
                <path path="${run.classpath.without.build.classes.dir}"/>
                <chainedmapper>
                    <flattenmapper/>
                    <globmapper from="*" to="lib/*"/>
                </chainedmapper>
            </pathconvert>
            <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" name="copylibs" classpath="${libs.CopyLibs.classpath}"/>
            <copylibs manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}" jarfile="${dist.jar}" compress="${jar.compress}">
                <fileset dir="${build.classes.dir}"/>
                <manifest>
                    <attribute name="Main-Class" value="${main.class}"/>
                    <attribute name="Class-Path" value="${jar.classpath}"/>
                </manifest>
            </copylibs>
            <echo>To run this application from the command line without Ant, try:</echo>
            <property name="dist.jar.resolved" location="${dist.jar}"/>
            <echo>java -jar "${dist.jar.resolved}"</echo>
     
        <signjar  
                 jar="${JavaGene.jar}"  
                 alias="mecasonic"  
                 storepass="mecasonic"  
                 keystore="C:\Documents and Settings\navarro\Bureau\Ketstore.jks"  
                 signedjar="${JavaGene.jar}"  
                 />  
     
        </target>
    et ça n'a pas fait d'erreur, mais ça n'as pas non plus signé l'applet.
    T'as déclaré ${JavaGene.jar} quelque part ?
    Logiquement, tu devrais utiliser ${dist.jar} pour ton jar d'origine et donner un autre nom pour signedjar car je ne pense pas que tu puisses l'écraser lui-même. Et c'est vraiment pas une bonne idée de le mettre dans -do-jar-with-libraries. Faut le mettre dans post-jar

  5. #5
    Membre averti
    Homme Profil pro
    Consultant finance
    Inscrit en
    Mars 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant finance
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 12
    Par défaut
    Citation Envoyé par vbrabant
    T'as déclaré ${JavaGene.jar} quelque part ?
    Logiquement, tu devrais utiliser ${dist.jar} pour ton jar d'origine et donner un autre nom pour signedjar car je ne pense pas que tu puisses l'écraser lui-même. Et c'est vraiment pas une bonne idée de le mettre dans -do-jar-with-libraries. Faut le mettre dans post-jar
    Salutations,

    J'ai fait comme tu m'as dit, c'est dire placer la structure dans le pot-jar, avec ${dist.jar} pour le jar d'origine, il ne me ressort pas d'érreurs, mais refuse de signer mon applet. POurtant, j'ai fait :
    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
     
     
    <target name="-post-jar" depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries" >
            <!-- Empty placeholder for easier customization. -->
     
             <signjar  
                 jar="${dist.jar}"  
                 alias="tata"  
                 storepass="bob"  
                 keystore="C:\Documents and Settings\toto\Bureau\Ketstore.jks"  
                 signedjar="${SignedJar.jar}"  
                 />
     
    <!-- You can override this target in the ../build.xml file. -->
        </target>
    je crois que c'est le SignedJar, qu'il apprécie pas, car il me le ressort dans nbproject, et je voudrais qu'il me le ressorte dans le dist. Est ce que je dois retaper dist.jar ?

  6. #6
    Membre averti
    Homme Profil pro
    Consultant finance
    Inscrit en
    Mars 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant finance
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 12
    Par défaut
    Salut,

    Bon ben finalement, j'ai trouvé la réponse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     <target name="-post-jar" depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries" >
            <!-- Empty placeholder for easier customization. -->
            <property name="SignedJar.Jar" location="dist/project_signed.jar"/>
            <signjar  
                 jar="dist/JavaGene.jar" 
                 alias="toto"  
                 storepass="tutu"  
                 keystore="C:\Documents and Settings\navarro\bob\Ketstore.jks"  
                 signedjar="SignedJar.jar"  
                 />
     
            <!-- You can override this target in the ../build.xml file. -->
        </target>
    Et maintenant, j'ai un .jar qui est signé, et stocké dans le dossier principal.

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

Discussions similaires

  1. Etudes sur les signatures numériques
    Par Delbeke dans le forum Vos contributions VB6
    Réponses: 8
    Dernier message: 19/06/2008, 19h05
  2. [GD] ajouter un texte sur une image uniquement à l'impression signature numérique
    Par DrHelmut dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 05/10/2006, 16h13
  3. [thunderbird] Signature numérique facétieuse
    Par Eusebius dans le forum Thunderbird
    Réponses: 6
    Dernier message: 20/07/2006, 13h56
  4. Inserer une signature numérique
    Par spopofes dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 05/06/2006, 19h05
  5. [VB6] Ajouter une signature numérique VB
    Par alexxx69 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 03/06/2006, 18h28

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