กำลังเรียกใช้รหัส javaws ที่ไม่ได้ลงชื่อ


19

สำหรับคอนโซลระยะไกลของ KVM ฉันต้องสามารถเรียกใช้jnlpไฟล์ได้ เมื่อฉันเรียกใช้ฉันจะได้รับ:

net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize application. 
at net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:797)
at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:555)
at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:908)
Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Application Error: Cannot grant permissions to unsigned jars. Application requested security permissions, but jars are not signed.
at net.sourceforge.jnlp.runtime.JNLPClassLoader.setSecurity(JNLPClassLoader.java:319)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.<init>(JNLPClassLoader.java:239)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:381)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:337)
at net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:789)
... 2 more

ฉันเข้าใจว่าทำไมคุณไม่ต้องการให้เบราว์เซอร์ของคุณเรียกใช้โค้ดที่ไม่ได้ลงนามเอง

แต่ในสถานการณ์เช่นนี้ฉันไม่มีโอกาสที่จะไม่เปลี่ยนแปลงหรือลงนามรหัสเนื่องจากมันมาจากอุปกรณ์ KVM

  • ฉันบอก Java ได้ไหมว่าแอปเพล็ตอันนี้ทำงานได้โดยไม่ได้ลงนาม?
    • หากไม่: ฉันสามารถบอกให้ Java รันแอปเพล็ตทั้งหมดจากโดเมนนั้นตกลงเพื่อเรียกใช้ที่ไม่ได้ลงชื่อหรือไม่?
      • ถ้าไม่ใช่: ฉันสามารถบอกให้ Java รันแอปเพล็ตทั้งหมดได้หรือไม่หากไม่ได้ลงชื่อ?
  • มีตัวเลือกที่ดีกว่าหรือไม่เพราะฉันไม่สามารถเปลี่ยนรหัสได้?

ขณะนี้ฉันใช้ Linux Mint และ Chrome

คำตอบ:


11

อนุญาต JARS ที่ไม่ได้ลงชื่อ

ถึง:

.java / การใช้งาน / deployment.properties

เพิ่ม:

deployment.security.level=ALLOW_UNSIGNED

บันทึก:

.java / การใช้งาน

เป็นชื่อแทน

.config / IcedTea เว็บ


อนุญาต JARS ที่ลงนามแบบอ่อน:

หากด้านบนใช้งานไม่ได้ลองแสดงความคิดเห็นในบรรทัดรวมถึง

disabledAlgorithms

ตัวอย่าง

jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024

จากjava.security

/etc/java-*-openjdk/security/java.security


สิ่งนี้ใช้ได้สำหรับฉัน ขอบคุณ ดูเหมือนว่าข้อความแสดงข้อผิดพลาดดั้งเดิมอาจหมายถึงสิ่งต่าง ๆ มากมาย
Dustin Oprea

สำหรับ Dell Poweredge M1000e การลบออกMD5จากการjdk.jar.disabledAlgorithmsแก้ไขjavaรีโมตคอนโซลไปยังเบลดเซิร์ฟเวอร์
Stuart Cardall

6

ฉันได้รับข้อผิดพลาดเดียวกันใน Red Hat 2.6.32-573

Caused by: net.sourceforge.jnlp.LaunchException:  
Fatal: Application Error: Cannot grant permissions to unsigned jars. 
Application requested security permissions, but jars are not signed.

ฉันกำลังใช้jre-1.8.0-openjdk.x86_64และicedtea icedtea-web 1.6.2 (rhel-1.el6-x86_64)

ฉันวิ่งไปแล้ว

$ javaws -nosecurity main.jnlp

โพสต์นี้แก้ไขปัญหาของฉันฉันแก้ไขไฟล์ java.security ของฉัน:
https://velenux.wordpress.com/2017/06/07/workaround-for-javaws-jnpl-error-cannot-grant-permissions-to-unsigned- ขวด /


โพสต์นี้แก้ไขปัญหาของฉันฉันแก้ไขไฟล์ java.security ของฉัน velenux.wordpress.com/2017/06/07/…
Code_G

ฉันแก้ไขความคิดเห็นของคุณเป็นคำตอบ คุณสามารถแทนที่ลิงก์ด้วยคำอธิบายของสิ่งที่คุณทำหรือไม่? (ลิงก์หยุด)
Volker Siegel

-nosecurityแทน-nonsecurity
asdmin

5

icedTea เวอร์ชั่นที่รวมอยู่ใน Ubuntu 14.04 มีแผงควบคุมใหม่ที่รวมความเป็นไปได้ในการกำหนดค่านโยบายที่ใช้งานได้จริง

ขณะนี้แผงควบคุมอนุญาตให้แก้ไขไฟล์นโยบายได้แล้ว

ตอนนี้คุณสามารถช่วยให้การดำเนินการของรหัสที่ไม่มีเจ้าของ หากคุณกังวลเกี่ยวกับความปลอดภัยให้อนุญาตสิทธิ์นั้นจาก CodeBase เฉพาะของแอปพลิเคชันของคุณเท่านั้น

อนุญาตให้เรียกใช้งานโค้ดที่ไม่มีเจ้าของ

ฉันได้ลองทำสิ่งเดียวกันใน Ubuntu 12.04.x ​​โดยไม่ประสบความสำเร็จเลย ใน Ubuntu รุ่นก่อนหน้าดูเหมือนว่าไฟล์ java.policy จะถูกละเว้น


3
ฉันจะชี้ให้เห็นว่าคุณเปิดใช้งานการกำหนดค่าด้วย/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/itweb-settingsหากไม่มีวิธี GUI ที่ทำได้ง่าย
Radovan Garabík

ฉันสามารถใช้คำสั่งใดเพื่อเปิดหน้าต่างการตั้งค่านี้ ฉันใช้ icedtea
matiu

1
/usr/bin/itweb-settingsเรียกใช้ IcedTea Web Control Panel
ปลา
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.