Java 9 dépréciant les certificats SHA1, ou un autre problème au travail?


[MISE À JOUR ] Oracle vient de réviser la feuille de route crypto (https://www.java.com/en/jre-jdk-cryptoroadmap.html), ils vont pas déprécier SHA-1 pour codesigning: 2017-03-14 Target date changed from 2017-04-18 to 2017-07-18. Narrowed scope from all SHA-1 usage: only TLS will be affected, *code signing will not not be affected at this time*.

Cela n'affecte en rien la bonne réponse que j'ai reçue ci-dessous, car elle s'appliquera sans aucun doute à l'avenir.

--

Message original:

En essayant d'exécuter notre application Java déployée par Webstart sur JRE 9 ea 153, j'obtiens ce qui suit popup:

entrez la description de l'image ici

En regardant plus en détail, je vois que le certificat sera toujours valide pendant un certain temps:

entrez la description de l'image ici

, par conséquent, je me demande si la dépréciation de SHA1 est la raison?

Cela ressemble certainement à une politique en ligne avec ( d'autres dans l'industrie), mais le message ne semble pas vraiment adapté aux néophytes (surtout s'il est destiné à faire face aux utilisateurs finaux), donc je me demande.

, j'ai cherché un feuille de route. Ce est ce que j'ai trouvé, mais je ne sais pas si j'interprète correctement ce paragraphe correctement:

Disable SHA-1 in certificate chains anchored by roots included by default in Oracle's JDK; local or enterprise CAs are not affected. Signed code that is timestamped before 2017-01-01 is not affected.

, Comme la raison de l'échec ci-dessus. J'apprécierais beaucoup une confirmation.

FWIW, notre certificat est délivré par une autorité de certification, ce qui, je suppose, est différent d'une autorité de certification "entreprise".

Merci.

Author: Community, 2017-01-26

1 answers

Si ce Jar signé est destiné à être utilisé par les utilisateurs finaux, il n'y a aucun moyen qu'un paquet signé SHA1 en 2017 fonctionne.

La suppression progressive de SHA1 a été annoncée il y a longtemps. Seul moyen serait d'installer une autorité de certification locale ou quelque chose, mais cela ne va pas arriver sur les machines des utilisateurs (il devrait).

Pour signer un Jar pour vos utilisateurs finaux, vous avez besoin d'un nouveau certificat SHA-256 valide de votre autorité de certification, et signez à nouveau tout Jar qui a été signé avec l'ancien APRÈS LE 31.12.2016. Votre certificat le ferait ont expiré dans quelques mois de toute façon.

Que vous deviez associer vos jars dépend de la version la plus ancienne de la JVM que vous ciblez. Pour autant que je comprends, tout > =1.4.2 prend en charge SHA-256. Si vous voulez cibler des versions encore plus anciennes (l'enfer quand j'ai commencé à programmer java 1.5 était déjà considéré comme ANCIEN), vous auriez besoin de quelque chose comme la double signature. Plus d'Informations peuvent être trouvées ici et ici

"Comment signer deux fois un pot" est probablement un nouveau sujet car il est à peine lié à cette question, je pense.

 6
Author: Timmeey, 2017-01-27 11:48:08