ভিতরে উবুন্টু 18.04 , এই ত্রুটির একটি ভিন্ন কারণ আছে (থেকে JEP 229, সুইচ jks
করতে কীস্টোর ডিফল্ট বিন্যাস pkcs12
বিন্যাস, এবং ডেবিয়ান নতুন ফাইলের জন্য ডিফল্ট ব্যবহার ফাইল প্রজন্ম cacerts) এবং কার্যসংক্রান্ত :
# Ubuntu 18.04 and various Docker images such as openjdk:9-jdk throw exceptions when
# Java applications use SSL and HTTPS, because Java 9 changed a file format, if you
# create that file from scratch, like Debian / Ubuntu do.
#
# Before applying, run your application with the Java command line parameter
# java -Djavax.net.ssl.trustStorePassword=changeit ...
# to verify that this workaround is relevant to your particular issue.
#
# The parameter by itself can be used as a workaround, as well.
# 0. First make yourself root with 'sudo bash'.
# 1. Save an empty JKS file with the default 'changeit' password for Java cacerts.
# Use 'printf' instead of 'echo' for Dockerfile RUN compatibility.
/usr/bin/printf '\xfe\xed\xfe\xed\x00\x00\x00\x02\x00\x00\x00\x00\xe2\x68\x6e\x45\xfb\x43\xdf\xa4\xd9\x92\xdd\x41\xce\xb6\xb2\x1c\x63\x30\xd7\x92' > /etc/ssl/certs/java/cacerts
# 2. Re-add all the CA certs into the previously empty file.
/var/lib/dpkg/info/ca-certificates-java.postinst configure
স্থিতি (2018-08-07) , বাগটি উবুন্টু বায়োনিক এলটিএস 18.04.1 এবং উবুন্টু কসমিক 18.10 এ স্থির করা হয়েছে।
Bu উবুন্টু 1770553: [এসআরইউ] কসমিক থেকে ব্যাকপোর্ট সিএ-শংসাপত্র-জাভা (20180413ubuntu1)
Bu উবুন্টু 1769013: দয়া করে সিবি-শংসাপত্র-জাভা 20180413 (প্রধান) থেকে দেবিয়ান অস্থির (মূল) থেকে মার্জ করুন
Bu উবুন্টু 1739631: জেডিকে 9 দিয়ে নতুন করে ইনস্টল করা উত্পন্ন পিকেসিএস 12 কেসেটস কীস্টোর ফাইলটি ব্যবহার করতে পারে না
Ock ডকার-লাইব্রেরি 145: 9-jdk চিত্রটিতে এসএসএল সমস্যা রয়েছে
Bian দেবিয়ান 894979: সিএ-শংসাপত্র-জাভা: ওপেনজেডকে 9 এর সাথে কাজ করে না, অ্যাপ্লিকেশনগুলি অবৈধ-অ্যালগোরিদমপ্যারামিটার এক্সেক্সশন সহ ব্যর্থ হয়েছে: ট্রাস্টআন্টার্স প্যারামিটারটি খালি থাকতে হবে না
🗹 JDK-8044445: JEP 229: ডিফল্ট দ্বারা পিকেসিএস 12 কীস্টোরগুলি তৈরি করুন
🖺 229: ডিফল্ট দ্বারা পিকেসিএস 12 কীস্টোর তৈরি করুন
সমস্যাটি যদি এই কর্মবিরতির পরেও অব্যাহত থাকে, আপনি সম্ভবত এটি সুনির্দিষ্টভাবে ঠিক করেছেন জাভা বিতরণটি চালাচ্ছেন তা নিশ্চিত করতে চাইবেন।
$ which java
/usr/bin/java
আপনি জাভা বিকল্পগুলি এর সাথে 'অটো' তে সেট করতে পারেন:
$ sudo update-java-alternatives -a
update-alternatives: error: no alternatives for mozilla-javaplugin.so
আপনি যে জাভা সংস্করণটি চালাচ্ছেন তার দ্বিগুণ চেক করতে পারেন:
$ java --version
openjdk 10.0.1 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)
পাশাপাশি বিকল্প কাজের ক্ষেত্র রয়েছে, তবে তাদের নিজস্ব পার্শ্ব প্রতিক্রিয়া রয়েছে যার জন্য অতিরিক্ত ভবিষ্যতের রক্ষণাবেক্ষণের প্রয়োজন হবে, যা কোনও বেতন দেবে না।
পরের সেরা সর্বোত্তম কাজটি সারিটি যুক্ত করা
javax.net.ssl.trustStorePassword=changeit
ফাইলগুলিতে
/etc/java-9-openjdk/management/management.properties
/etc/java-11-openjdk/management/management.properties
যা কিছু বিদ্যমান।
তৃতীয় সর্বনিম্ন সমস্যা সমাধানের মানটি পরিবর্তন করা
keystore.type=pkcs12
প্রতি
keystore.type=jks
ফাইলগুলিতে
/etc/java-9-openjdk/security/java.security
/etc/java-11-openjdk/security/java.security
যা কিছু বিদ্যমান আছে এবং তারপরে cacerts
ফাইলটি সরিয়ে পোস্টের শীর্ষে ওয়ার্কআরউন্ড স্ক্রিপ্টের শেষ সারিটিতে বর্ণিত পদ্ধতিতে পুনরায় জেনারেট করুন।