كيف يمكنني "الانتقال إلى نموذج أمان Java 2 بدلاً من ذلك"؟

StackOverflow https://stackoverflow.com/questions/4307422

  •  29-09-2019
  •  | 
  •  

سؤال

يمكنني استخدام applet Java يتم تحميل الملفات من المتصفح مع السحب والإفلات. أعلم أن هذا تطبيق موقّع. بالأمس قمت بتحميل بعض الملفات ، لكن اليوم أعطي خطأ في وحدة التحكم:

Netscape security model is no longer supported. 
Please migrate to the Java 2 security model instead

لم أقم أبدًا بترقية JRE و أنا متأكد تقريبًا من أن إصدار Java كان دائمًا 1.6.0_22.
هل هو ممكن ؟

أنا لست مبرمج Java ولكن يجب علي تحرير الكود للسماح للتطبيق العمل. هذا التطبيق ببساطة يمكنه الوصول إلى نظام الملفات لإنشاء مجلد ، وتغيير حجم بعض الصور في هذا المجلد وتحميل الصور المغيّرة والتواصل مع JS لإرسال بعض الرسائل إلى صفحة الويب.

لقد وجدت فقط هذا الرمز المتعلق بالأمان:

import netscape.security.PrivilegeManager;
import java.text.DateFormat;
import java.security.AccessController;
import java.security.PrivilegedExceptionAction;
import java.security.PrivilegedActionException;

public void init() {
    try {
        netscape.security.PrivilegeManager.enablePrivilege("UniversalJavaPermissions");
        ...
    } catch (JSException e1) {
        ...
    }
}

ووجدت في ملف ReadMe كيفية التوقيع على التطبيق المترجم:

keytool -export -alias signFiles -file myCert.crt -storepass mypass
javac -cp C:\Programmi\Java\jdk1.6.0_18\jre\lib\plugin.jar; .\MyApplet.java -Xlint:unchecked
jar -cvf MyApplet.jar test
jarsigner MyApplet.jar signFiles

هل يمكنك تقديم بعض التعليقات للموارد التي يمكن أن تساعدني على فهم كيفية الترحيل إلى "نموذج أمان Java 2"؟

هل هناك طريقة بسيطة لتجنب هذا الخطأ دون تحرير وإعادة ترجمة الكود المصدري (على سبيل المثال لإجبار نموذج الأمان القديم)؟

أي فكرة يمكن أن تساعدني في التعامل مع المشكلة هي موضع تقدير حقًا

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

المحلول

netscape.security.privilegemanager.enableprivilege ("UniversalJavaperMissions") ؛

فقط قم بإزالة ذلك واتبع إرشادات توقيع التطبيق.

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