-tsa ou -tsacert horodatage de l'applet jar auto-signé

Quand j'ai essayé de signer dans le pot comme ci-dessous.

jarsigner -keystore my keystore myjar.jar myalias

Il donne l'avertissement de la forme:

No -tsa ou -tsacert est fourni et ce pot n'est pas datées. Sans horodatage, il se peut que les utilisateurs ne soient pas en mesure de valider ce jar après la date d'expiration du certificat du signataire (2014-05-08) ou après toute date de révocation future.

s'il vous Plaît aider à résoudre le problème.

45
demandé sur Benoit Duffez 2014-02-11 11:18:35

4 réponses

le récent Java 7 fournit une (courtoisie?) mise en garde à propos de quelque chose qui est en place depuis une décennie...

Trusted Timestamping a été introduit dans Java 5 (2004). La motivation était de faire en sorte que les développeurs ne soient pas obligés "de signer à nouveau les fichiers JAR déployés chaque année" lorsque les certificats expiraient.

http://docs.oracle.com/javase/1.5.0/docs/guide/security/time-of-signing.html

une autorisation D'horodatage basée sur L'URL (TSA) est habituellement fourni par l'autorité de Certification (AC) émettrice travailler avec les mêmes certificats l'autorité de certification émis. Par exemple, l'url digicert tsa peut être accessible comme suit:

jarsigner -tsa http://timestamp.digicert.com [.. other options]

http://www.digicert.com/code-signing/java-code-signing-guide.htm

horodatage avec certificat auto-signé peut-être un objectif insaisissable puisque (1) un horodatage TSA doit être une transaction fiable sans lien de dépendance (ce qui exclut "auto timestamping"), et (2) les URLs TSA typiques sont configurées pour fonctionner avec les certificats fournis par la même organisation de L'AC (c.-à-d. L'URL TSA ne traite pas un certificat auto-signé)

mise à Jour:

Url de l'essayer pour l'horodatage des certificats auto-signés:

  • Symantec: -tsa http://sha256timestamp.ws.symantec.com/sha256/timestamp (par commentaire par brad-turek)

Pour un réseau privé, on pourrait envisager un Horodatage interne Autorité telle que Thales (nCipher) Time Stamp Server (ou historiquement OpenTSA)

57
répondu l --marc l 2017-10-17 20:42:49

cet avertissement vous indique que votre certificat jar expirera en mai. Par conséquent, les utilisateurs ne seront pas en mesure d'exécuter votre programme après cette date.

pour améliorer la situation, la fonctionnalité timestamp a été ajoutée. De cette façon, vous pouvez dire aux utilisateurs: "j'ai utilisé le certificat à ce moment - là (qui est fourni et vérifié par la time stamp agency-tsa), quand il était encore valide!"Tant que vous ne changez pas et de démissionner de votre pot, il continue à fonctionner, même après l'expiration du certificat, parce que les utilisateurs voient qu'au moment de la création le certificat était en effet valide.

pour référence: http://docs.oracle.com/javase/7/docs/technotes/guides/security/time-of-signing.html

tl; dr: si vous ignorez l'avertissement, votre pot ne court pas après le 14-05-08. Ajoutez un timestamp, et il fonctionnera aussi longtemps que vous ne modifiez rien.

Cordialement

21
répondu Malte 2014-02-25 13:48:54

je faisais face au même problème. Sans le timestamp le pot ne serait pas signé.

quand vous ajoutez -tsa http://timestamp.digicert.com, il ne ferait pas d'avertissement ou d'erreur, mais le pot ne serait pas signé.

mais ensuite j'ai ajouté la partie suivante et ça a marché pour moi.

-tsacert alias

donc, en gros, ma commande finale était

jarsigner -verbose -tsa http://timestamp.digicert.com -tsacert alias  -sigalg SHA256withRSA -digestalg SHA1 -keystore my-release-key.keystore android-release-unsigned.apk alias_name

Souvenir alias_name dans la commande et celui de keystore doit être le même.

0
répondu vedant shirke 2017-10-17 19:15:22

cette erreur est causée si des mises à jour ont été faites avec JDK Java/Oracle 1.7 u51. Ce JDK n'est pas identique au précédent.

vous pouvez installer une version précédente du JDK avant u51 (par exemple 1.7u45), ou installer JDK 6.

puis, lorsque vous recompilez, vous ne verrez pas l'erreur.

-16
répondu Timmy 2018-07-19 21:44:48