سؤال

يتم إيقاف منتجاتنا في إصدار Java 1.5.0_13 ونود الترقية. ينشر برنامجنا عددا كبيرا من الجرار عبر بدء تشغيل Java Web؛ يجب توقيع كل هذه الجرار. ومع ذلك، فإن زوجين من الجرار لا تحتوي على ملفات فئة، وبدءا من جافا الإصدار 1.5.0_14، يبدو أن الأداة المساعدة Jersign تختار عدم تسجيل أي جرة لا تحتوي على ملفات فئة.

ماذا يمكنني أن أفعل لإجبار Jersign على توقيع هذه الجرار؟ أو ماذا يمكنني أن أفعل لتوزيع هذه الجرار من خلال بداية ويب Java دون توقيعها؟ وهما يوجد في أي مكان حيث يتغير هذا التغيير إلى EXISIGN مع الإصدارات 1.5.0_14 وما فوق؟ لا أستطيع العثور عليه في ملاحظات الإصدار.

هل كانت مفيدة؟

المحلول

أنا غير قادر على التحقق من وجود أي مشكلة. يمكنك أن تنظر من خلال ونرى ما قد يكون مختلفا في بيئتك؟ أنا أركض على نظام التشغيل Windows 7 RC.

دعنا نتحقق من الإصدار:

C:  Temp> إصدار Java -version Java "1.5.0_14" Java (TM) بيئة وقت التشغيل، الإصدار القياسي (Build 1.5.0_14-B03) Java Hotspot (TM) عميل VM (Build 1.5.0_14-B03، الوضع المختلط ، مشاركة)

دعونا نرى ما سوف أكون في جرة لدينا:

ج:  temp> dir / s / b com c:  temp  com  rdc c:  temp  com  rdc  test c:  temp  com  rdc  test  log.properties.properties

دعونا نجعل الجرة:

ج:  temp> jar-cffv test-source.jar com / * تمت إضافة واضحة مضيفا: COM / RDC / (IN = 0) (خارج = 0) (تخزين 0٪) إضافة: com / rdc / اختبار / (في = 0) (خارج = 0) (تخزين 0٪) إضافة: COM / RDC / اختبار / تسجيل .properties (في = 13) (خارج = 15) (متفاوج -15٪)

دعنا نتوقع جرة: أنا أستخدم شهادة موقعة ذاتيا.

ج:  temp> jarsigner -signedjar test-dest.jar test-source.jar vinay أدخل عبارة المرور عن keystore: تحذير: سوف تنتهي صلاحية شهادة الموقع في غضون ستة أشهر.

دعونا نرى ما هو في جرة موقعنا الموقعة:

C:  Temp> Temp> JAR TVF TEST-DEST.JAR 155 Wed Jul 15 23:39:12 BST 2009 Meta INF / بيان 276 Wed Jul 15 23:39:12 BST 2009 META-INF / VINAY.SF 1130 الأربعاء Jul 15 23:39:12 BST 2009 Meta-INF / Vinay.dsa 0 Wed Jul 15 23:37:18 BST 2009 Meta INF / 0 Wed Jul 15 19:44:44 BST 2009 COM / RDC / 0 Wed Jul 15 19:44:58 BST 2009 COM / RDC / Test / 13 Wed Jul 15 23:37:10 BST 2009 COM / RDC / اختبار / تسجيل

حسنا، يبدو أنه تم توقيعه بالتأكيد، وليس له فصول. دعونا ننظر إلى محتويات MANIFEST.MF:

بيان بيان: 1.0 تم إنشاؤه بواسطة: 1.5.0_14 (Sun Microsystems Inc.) الاسم: COM / RDC / TEST / LOGGING.Properties Sha1-Digest: OB / S + A7TLH + AKYGEFIDUGM12S88 =

ومحتويات VINAY.SF:

Signature-Version: 1.0 Created-by: 1.5.0_14 (Sun Microsystems Inc.) SHA1-Digest-Spanest-Main- السمات الرئيسية: 4BEKZE9MHMMGFBOY + FNOS1V9BRPS = Sha1-Digest-Watchest: YB8QKIAQPJEYH8PKUGA5G8PW3TW = الاسم: COM / RDC / اختبار / تسجيل. خصائص Sha1-Digest: Qxcyruvualii7sbneq4r7g8lvqq =

الآن، دعنا نتحقق من الجرة:

C:  temp> jarsigner -very -very -verbose Test-dest.jar 155 Wed Jul 15 23:51:34 BST 2009 Meta-INF / بيان 276 Wed Jul 15 23:51:34 BST 2009 META-INF / VINAY. SF 1131 WED JUL 15 23:51:34 BST 2009 Meta-INF / VINAY.DSA 0 Wed Jul 15 23:37:18 BST 2009 Meta INF / 0 Wed Jul 15 19:44:44 BST 2009 COM / RDC / 0 Wed Jul 15 19:44:58 BST 2009 COM / RDC / TEST / SMK 13 WED JUL 15 23:37:10 BST 2009 COM / RDC / اختبار / تسجيل / تسجيل (تم التحقق من التوقيع M = الإدخال مدرج في البيان = تم العثور على شهادة واحدة على الأقل في KEYSTORE I = تم العثور على شهادة واحدة على الأقل في جرة على نطاق الهوية. تحذير: يحتوي هذا الجرة على إدخالات ستنتهي صلاحية شهادة الموقع التي تنتهي صلاحيتها في غضون ستة أشهر. أعد تشغيل خيارات -Verbose وخياراتك لمزيد من التفاصيل.

على وجهها، يبدو أن كل شيء في النظام. يمكنك التحقق مما إذا كانت شهادتك قد انتهت صلاحيتها، أو تم إلغاؤها؟ هل تستخدم certs الموقعة ذاتيا أو شهادات حقيقية؟ أو هل أسيء فهم ما هي مشكلتك؟

نصائح أخرى

لأي شخص يبحث في هذه المسألة، قررنا أنه يؤثر فقط على إصدارات لاحقة معينة من Java 1.5، أولئك من 1.5.0_14 فصاعدا، أعتقد. يبدو أنه ثابت في أحدث إصدارات 1.5، وبالتأكيد ثابتة في 1.6.

يمكنك وضع ملفات الطبقة وهمية في إذا كنت بحاجة إلى ذلك. ربما بغيض ولكن ربما ضروري.

راجع للشغل، لقد جربت نفس الشيء Vinay، ولكن مع JDK 1.5.0_17 Jarsigner، وشهادة فيريسين مناسبة، وحصلت على نفس النتائج. عمل Jarsigner، ويتم التحقق من جرة باستخدام Jarsigner، ففر.

إضافة عن ذلك: أنا أستخدم ابدأ Web Java، ولدي جرة تحتوي على صور فقط. مع JDK 1.6_05 (07، 10، TOO)، وتوليد النمل، يتم توقيعه دون مشكلة (مع سيرتك موقعة ذاتيا). لذلك، مثل الآخرين الموصوفين، لا يبدو أنه مرتبط بجرة تحتوي على ملفات .class أم لا.

إنها طلقة طويلة، ولكن النملة مهمة signjar قد تكون قادرة على إقناع Jersign للقيام بالأشياء الصحيحة. هناك مجموعة من الخيارات التي قد تذبذب الرصيد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top