galera to com um problemão aqui… preciso assinar 26 arquivos da pasta lib do meu projeto. Por linha de comando eu ate consigo, mas por questões de praticidade e economia de tempo, ao atualizar o projeto eu já tento assinar pelo NetBeans 6.7.1 e é ai que a coisa complica… Dos 26 jars ele assina apenas 22, LOGO, ao executar via web start surge o erro: Os jars não foram assinados com o mesmo certificados
Os 4 jars recebem outrou tipo de assinatura, assim eu fico com 2 certificados diferentes 0o
Preciso mesmo é assinar todos pelo NetBeans, mas não sei o que esta acontecendo
Dei uma pesquisada aqui, e acho q tem q modificar as tags em jnlp-impl.xml para "FORÇAR" o NetBeans assinar determinado jar.. mas não sei onde modificar exatamente..
<!-- Security --><targetname="-security-props-check"><conditionproperty="jnlp.signed.true"><istruevalue="${jnlp.signed}"/></condition></target><targetname="-jnlp-init-keystore"depends="-jnlp-init-keystore-props,-check-keystore-exists"unless="jnlp.signjar.keystore.exists"><echomessage="${application.vendor}"file="${helper.file}"/><loadfileproperty="application.vendor.filtered"srcfile="${helper.file}"><filterchain><deletecharacterschars=","/></filterchain></loadfile><deletefile="${helper.file}"/><propertyname="jnlp.signjar.vendor"value="CN=${application.vendor.filtered}"/><echomessage="Going to create default keystore in ${jnlp.signjar.keystore}"/><genkeydname="${jnlp.signjar.vendor}"alias="${jnlp.signjar.alias}"keystore="${jnlp.signjar.keystore}"storepass="${jnlp.signjar.storepass}"keypass="${jnlp.signjar.keypass}"/></target><targetname="-check-keystore-exists"><availableproperty="jnlp.signjar.keystore.exists"file="${jnlp.signjar.keystore}"/></target><targetname="-jnlp-init-keystore-props"><propertyname="jnlp.signjar.keystore"value="${basedir}/build/roberto.ks"/><propertyname="jnlp.signjar.storepass"value="cateto"/><propertyname="jnlp.signjar.keypass"value="cateto"/><propertyname="jnlp.signjar.alias"value="roberto"/></target><!-- Signing --><targetname="-test-signjars-task-available"><availableproperty="signjars.task.available"classname="org.netbeans.modules.javawebstart.anttasks.SignJarsTask"classpath="${libs.JWSAntTasks.classpath}"/></target><targetname="-check-signing-possible"depends="-security-props-check,-test-signjars-task-available,-unavailable-signjars-task"><conditionproperty="jnlp.signed.true+signjars.task.available"><and><issetproperty="jnlp.signed.true"/><issetproperty="signjars.task.available"/></and></condition></target><targetname="-unavailable-signjars-task"depends="-test-signjars-task-available"unless="signjars.task.available"><echomessage="Task required to sign JAR file is missing, probably the library 'JWS Ant Tasks' is missing either from shared folder or from IDE installation. JAR files will not be signed."/></target><targetname="sign-jars"depends="-jnlp-init-keystore,-check-signing-possible"if="jnlp.signed.true+signjars.task.available"><taskdefname="sign-jars"classname="org.netbeans.modules.javawebstart.anttasks.SignJarsTask"classpath="${libs.JWSAntTasks.classpath}"/><sign-jarskeystore="${jnlp.signjar.keystore}"storepass="${jnlp.signjar.storepass}"keypass="${jnlp.signjar.keypass}"alias="${jnlp.signjar.alias}"mainjar="${dist.jar}"destdir="dist"codebase="${jnlp.codebase.value}"signedjarsprop="jnlp.signed.jars"componentsprop="jnlp.components"><filesetdir="dist/lib"><includename="*.jar"/></fileset></sign-jars></target>
e assim, ao construir o projeto no NB as biblitecas ele não assina
Na verdade, eu sempre assinei os jars quando eu configurava para WebStart mas agora ele simplesmente “ignora” 3 bibliotecas e gera o erro: os jars devem ser assinados pelo mesmo certificado… Nessas 3 bibliotecas, em META-INF existe dois arquivos SUN-MICR.DSA e SUN-MICR.SF, enquanto todas as outras tem ROBERTO.DSA e ROBERTO.SF
Onde você coloca exatamente essa tag… ?
tentei muito aqui mas até agora nada =/
e o curioso é que quando contruo o projeto no nb, ele gera DOIS arquivos jnlp (launch.jnlp e jnlpcomponent1.jnlp). E no arquivo jnlpcomponent.jnlp ele declara JUSTAMENTE os jars que ele não consegue assinar :?