त्रुटि - TrustAnchors पैरामीटर गैर-रिक्त होना चाहिए


492

मैं जेनकिन्स / हडसन पर अपने ई-मेल को कॉन्फ़िगर करने की कोशिश कर रहा हूं, और मुझे लगातार त्रुटि प्राप्त होती है:

java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be
    non-empty

मैंने त्रुटि के बारे में ऑनलाइन अच्छी मात्रा में जानकारी देखी है, लेकिन मुझे काम करने के लिए कोई मौका नहीं मिला है। मैं फेडोरा लिनक्स (नहीं OpenJDK) पर सन की JDK का उपयोग कर रहा हूं।

यहाँ कुछ चीजें मैंने कोशिश की हैं। मैंने इस पोस्ट से सलाह का पालन करने की कोशिश की , लेकिन जेनकिन्स की मेजबानी के लिए मेरे फेडोरा बॉक्स की मेजबानी करने के लिए विंडोज से कैसर्ट की नकल करना काम नहीं आया। जब मैंने Gmail को अपने SMTP सर्वर के रूप में कॉन्फ़िगर करने की कोशिश की, तो मैंने इस गाइड का अनुसरण करने की कोशिश की , लेकिन यह काम नहीं किया। मैंने उन पुस्तिका फ़ाइलों को मैन्युअल रूप से डाउनलोड करने और स्थानांतरित करने का प्रयास किया और इस गाइड पर विभिन्न प्रकार के कमांड का उपयोग करके उन्हें अपने जावा फ़ोल्डर में स्थानांतरित कर दिया ।

मैं किसी भी सुझाव के लिए खुला हूं क्योंकि मैं अभी फंसा हुआ हूं। मैंने इसे विंडोज हडसन सर्वर से काम करने के लिए प्राप्त किया है, लेकिन मैं लिनक्स पर संघर्ष कर रहा हूं।

जवाबों:


512

इस विचित्र संदेश का अर्थ है कि आपके द्वारा निर्दिष्ट ट्रस्टस्टोर था:

  • रिक्त होता है,
  • नहीं मिला, या
  • खोला नहीं जा सका (उदाहरण के लिए एक्सेस अनुमति के कारण)।

नीचे @ AdamPlumb का उत्तर भी देखें ।

इस समस्या को डीबग करने के लिए (मैंने इसके बारे में यहां लिखा था ) और समझें कि ट्रस्टस्टोर का उपयोग किया जा रहा है आप संपत्ति javax.net.debug = सभी को जोड़ सकते हैं और फिर ट्रस्टस्टोर के बारे में लॉग फ़िल्टर कर सकते हैं । आप किसी विशिष्ट ट्रस्टस्टोर को निर्दिष्ट करने के लिए संपत्ति javax.net.ssl.trustStore के साथ भी खेल सकते हैं। उदाहरण के लिए :


    java -Djavax.net.debug=all -Djavax.net.ssl.trustStore=/Another/path/to/cacerts -jar test_get_https-0.0.1-SNAPSHOT-jar-with-dependencies.jar https://www.calca.com.py 2>&1| grep -i truststore

1
धन्यवाद EJP, मैंने आपकी पोस्ट यहाँ देखी, लेकिन मुझे यकीन नहीं था कि ट्रस्टस्टोर को कैसे सत्यापित किया जाए। इसके अलावा मैं अपने सर्वर। Xml फ़ाइल को लाया, लेकिन मुझे यकीन नहीं था कि ट्रस्टस्टोर को कैसे सत्यापित किया जाए। क्या मैं सिर्फ कीस्टोरीफाइल की जांच करता हूं = "conf / .Stystore" प्रीफ (keystoreFile उस फाइल में मौजूद नहीं था)?
डेविड गिल

2
जवाब था कि मैं इसे कैसे आयात कर रहा हूं। मुझे लगता है कि एक महत्वपूर्ण कदम याद किया। देखें [जावा त्रुटि InvalidAlgorithmParameterException] [1] [१]: jyotirbhandari.blogspot.com/2011/09/…
डेविड गिल

2
इस उत्तर की पुष्टि सही है। मुझे टॉमकैट के तहत त्रुटि मिल रही थी। मेरे पास मेरा ट्रस्टस्टोर था, ${CATALINA_HOME}\confलेकिन CATALINA_HOMEसेट नहीं हो रहा था इसलिए \confटॉमकैट ट्रस्टस्टोर के लिए देख रहा था ।
सिंगलशॉट

4
@BubblewareTechnology नहीं, फ़ाइल नाम में त्रुटि थी, न कि आपने फ़ाइल में प्रमाण पत्र कैसे आयात किया। आपका ब्लॉग सही नहीं है। आपको JRE $ / cacerts फ़ाइल को संशोधित करने की अनुशंसा नहीं करनी चाहिए। यह अगले जावा अपग्रेड को बदल देगा। आपको एक प्रक्रिया की आवश्यकता है जो इसे कॉपी करता है, कॉपी में अपना प्रमाण पत्र जोड़ता है, और कॉपी को ट्रस्टस्टोर के रूप में उपयोग करता है। हर जावा अपग्रेड को दोहराएं। और आपको अपने स्वयं के भरोसेमंद जावा के बारे में बताने की जरूरत नहीं है, अगर यह अलग है।
लोर्ने का मार्किस

3
मैं एक मोड़ जोड़ूंगा: यहां तक ​​कि जब ट्रस्टस्टोर मौजूद है, तो सुलभ है, सही प्रारूप में है, अगर यह पूरी तरह से सक्षम है, तो यह त्रुटि आपको विभिन्न पुस्तकालयों (अपाचे एचटीटीपी क्लाइंट सहित) के साथ मिल सकती है।
एलन फ्रांजोनी

265

में उबंटू 18.04 , इस त्रुटि का कारण भिन्न होता है (से JEP 229, स्विच jksकरने के लिए कुंजी संग्रह डिफ़ॉल्ट प्रारूप pkcs12प्रारूप, और Debian नई फ़ाइलों के लिए डिफ़ॉल्ट का उपयोग कर फ़ाइल पीढ़ी 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) , बग को Ubuntu Bionic LTS 18.04.1 और Ubuntu Cosmic 18.10 में तय किया गया है।


🗹 उबंटू 1770553: [एसआरयू] ​​कॉस्मिक से बैकपोर्ट सीए-सर्टिफिकेट-जावा (20180413ubuntu1)

🗹 उबंटू 1769013: कृपया डेब्यू अस्थिर (मुख्य) से सीए-सर्टिफिकेट-जावा 20180413 (मुख्य) को मर्ज करें

🗹 उबंटू 1739631: JDK 9 के साथ ताजा इंस्टॉल जेनरेट किए गए PKCS12 कैसैटर्स कीस्टोर फाइल का उपयोग नहीं कर सकता है

K डॉक -लाइब्रेरी 145: 9-jdk इमेज में SSL समस्याएँ हैं

🗹 डेबियन 🗹 ९ ४ ९: ९: सीए-सर्टिफिकेट-जावा: ओपनजेडके ९ के साथ काम नहीं करता है, आवेदन अमान्य के साथ विफल होते हैं। एल्गोरिथ्मपैरमीटेप्शन अपवाद: ट्रस्ट एंकर पैरामीटर गैर-रिक्त होना चाहिए

🗹 JDK-8044445: JEP 229: डिफ़ॉल्ट रूप से PKCS12 कीस्टोर्स बनाएं

🖺 JEP 229: डिफ़ॉल्ट रूप से PKCS12 कीस्टोर्स बनाएं


यदि समस्या इस समाधान के बाद भी जारी रहती है, तो आप यह सुनिश्चित कर सकते हैं कि आप वास्तव में जावा वितरण को चला रहे हैं जिसे आपने अभी तय किया है।

$ 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फ़ाइल को हटा दें और पोस्ट के शीर्ष पर वर्कअराउंड स्क्रिप्ट की अंतिम पंक्ति में वर्णित तरीके से इसे पुन: उत्पन्न करें।


50
Ubuntu 18 उपयोगकर्ताओं, यह पढ़ें! यह आपके जीवन के कई घंटे बचाएगा! धन्यवाद!
वक

5
इस उत्तर ने मुझे उबंटू 18.04 पर मावेन के साथ एक ही त्रुटि को ठीक करने में मदद की। मुझे इसे लिखने में सक्षम होने के लिए / etc / ssl / certs / java / cacerts फ़ाइल के स्वामी को रूट से स्वयं को बदलना पड़ा। फिर मैंने उसे वापस घुमाया।
यूरी गोर

77
मैं sudo rm / etc / ssl / certs / java / cacerts चलाता था और फिर sudo अपडेट- कै -सर्टिफिकेट -f और यह kubuntu 18.04 में मेरा इश्यू तय करता था।
jsn

2
@jsn, समाधान के लिए धन्यवाद, linux टकसाल 19 पर काम करता है, जो कि ubuntu 18.04 पर आधारित है
सम्राट

2
@ जे एस एन समाधान भी डेबियन खिंचाव + openjdk8 के लिए काम किया
HRJ

105

इसने मेरे लिए उबंटू पर समस्या तय की:

sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure

(यहां पाया गया: https://bugs.launchpad.net/ubuntu/+source/ca-certports-java/+bug/1396760 )

ca-certificates-java Oracle JDK / JRE में निर्भरता नहीं है इसलिए इसे स्पष्ट रूप से स्थापित किया जाना चाहिए।


2
धन्यवाद, मेरे लिए यह समस्या तब तय हुई जब मैं उबंटू 15.04 पर भाग गया।
मैकिल

रास्पबेरी पाई पर रास्पबियन पर काम किया
डेफोज़ो

1
OpenJDK8 के साथ डेबियन जेसे स्थिर बैकपोर्ट के साथ इस मुद्दे में भाग गया और इस मुद्दे को तय किया। डॉकर छवियों का निर्माण करते समय इसका उपयोग कर रहा था। :)
Tuxdude

9
दुख की बात है कि उबंटू मेट 18.04 पर काम नहीं करता है। मैं जावा को पुनः स्थापित करने का प्रयास करूंगा।
प्रणव ए।

1
@codefx - मैंने वही किया है जो आप सुझाते हैं और यह काम नहीं करता है - जावा 10 (डिफ़ॉल्ट) के साथ Ubuntu 18.x पर।
मेज़ेलर

69

उबंटू 18.04 पर मूल कारण Openjdk-11-jdk (जो डिफ़ॉल्ट है) और इसके आधार पर अन्य पैकेजों के बीच एक संघर्ष है। यह पहले से ही डेबियन में तय किया गया है और जल्द ही उबंटू में शामिल किया जाएगा। इस बीच सबसे आसान वर्कअवे अपने जावा को संस्करण 8 में आवंटित करना हैca-certificates-java है। बहुत अधिक जटिल हैं।

पहले परस्पर विरोधी पैकेज निकालें:

sudo apt-get remove --purge openjdk* java-common default-jdk
sudo apt-get autoremove --purge

जांचें कि क्या आपने सभी संबंधित पैकेजों को सफलतापूर्वक निकाल दिया है:

sudo update-alternatives --config java

सिस्टम आपको संकेत देगा कि कॉन्फ़िगर करने के लिए कोई जावा उपलब्ध नहीं है , अन्यथा यह समाधान विफल हो जाता है

फिर आवश्यक पैकेजों को फिर से स्थापित करें:

sudo apt-get install openjdk-8-jdk

यह विवरण तथ्यात्मक रूप से गलत है, और केवल समस्या को उसी अर्थ में ठीक करता है जैसे कि Windows को पुनर्स्थापित करना किसी समस्या को ठीक कर सकता है। सभी जावा पैकेज को हटाने की कोई आवश्यकता नहीं है। यदि आप इस तरह से जाना चाहते हैं, तो आपको केवल openjdk-8-jdkपैकेज को स्थापित करने , /etc/ssl/certs/java/cacertsफ़ाइल को निकालने और चलाने की आवश्यकता है, sudo update-ca-certificates -fजो एक pkcs12स्वरूपित कैसर्ट फ़ाइल से एक jksस्वरूपित एक में स्विच करने का गोल चक्कर रास्ता है , जैसा कि इस धागे में कहीं और वर्णित है।
मिकेल ग्यूक

1
@MikaelGueck जबकि तर्क आपके पक्ष में प्रतीत होता है, मैं आपको यह आश्वस्त करने के लिए यहां हूं कि मैंने पहले वही किया था जो आपकी टिप्पणी में वर्णित है और सबसे अधिक वोट किए गए उत्तर में, और 18.04 में यह एकमात्र उत्तर है जिसने काम किया । मुझे लगता है कि आपके डाउनवोट को एक अपवोट में बदलना चाहिए, या कम से कम लुप्त हो जाना चाहिए, क्योंकि यह अत्यधिक अवांछनीय है।
एंड्रिया लिगियोस

@AndreaLigios, आप स्वयं स्क्रिप्ट के माध्यम से पढ़ सकते हैं, वे बहुत कम हैं। उनके पास 8 से 10 तक JAVA_HOME रास्तों का एक हार्डकोड सेट है, वे एक समय में एक कोशिश करते हैं, वे डेबियन सीए फाइल जनरेटर कहते हैं जिसे आप भी पढ़ सकते हैं, जो मौजूदा फ़ाइल प्रारूप का उपयोग करता है, क्योंकि JDKFfile हैंडलर कोड, जो आप के माध्यम से पढ़ सकते हैं, एक संगतता कमबैक मोड है। यदि आपका कंप्यूटर इस सरल सॉफ़्टवेयर को अलग तरीके से चलाता है, तो आपको इसके साथ अन्य समस्याएं हो सकती हैं। क्या आपने अपने जावा विकल्प को संशोधित किया, और कुछ अन्य JVM को कॉल किया, क्योंकि तब हटाने से विकल्प रीसेट हो सकते थे?
मिकेल ग्यूक

1
@MikaelGueck हाँ, पिछले प्रयासों में से एक में मैंने अपने जावा विकल्प को संशोधित किया है, इसलिए शायद यही था। मैं पहला व्यक्ति हूं जो स्रोत कोड में खुदाई करना पसंद करता है और पाता है कि सामान कैसे काम करता है, लेकिन यह आज मेरा लक्ष्य नहीं था, यह मेरे वास्तविक लक्ष्य के रास्ते में 5-6 विभिन्न अप्रत्याशित बाधाओं के बीच सिर्फ एक था। इस उत्तर ने मुझे 2 मिनट से भी कम समय में समस्या हल करने की अनुमति दी! मुझे स्क्रिप्ट देखने और बेहतर समाधान खोजने में कितना समय लगाना चाहिए था? और किस लिए, कुछ मेगाबाइट बचाने के लिए? यह कठोर है, लेकिन काम करता है (और कोई फर्क नहीं पड़ता कि समस्या क्या है), इसलिए ओपी के लिए नरक के रूप में व्यस्त लोगों के लिए एक बड़ा धन्यवाद
एंड्रिया लिगियोस

1
मैं 2 दिनों के लिए एक समाधान के लिए देख रहा हूँ, और आपके उत्तर ने मेरे मुद्दे को हल कर दिया, धन्यवाद। मैं सिर्फ कुबंता 18.04 में जाता हूं, इस पर काम किया।
ग्यूपर्डोमर

55

EJP ने मूल रूप से प्रश्न का उत्तर दिया (और मुझे पता है कि यह एक स्वीकृत उत्तर है), लेकिन मैंने अभी इस किनारे-केस गेटा से निपटा है और अपने समाधान को अमर करना चाहता हूं।

मेरे पास InvalidAlgorithmParameterExceptionहोस्टेड जीरा सर्वर पर त्रुटि थी जिसे मैंने पहले केवल एसएसएल-एक्सेस के लिए सेट किया था। मुद्दा यह था कि मैंने PKCS # 12 प्रारूप में अपना कीस्टोर स्थापित किया था, लेकिन मेरा ट्रस्टस्टोर JKS प्रारूप में था।

मेरे मामले में, मैंने अपनी server.xmlफ़ाइल को PKCS के लिए कीस्टोरीटाइप निर्दिष्ट करने के लिए संपादित किया था, लेकिन मैंने ट्रस्टस्टोरोराइप को निर्दिष्ट नहीं किया था, इसलिए यह कीस्टटोरटाइप जो भी है, उसे डिफॉल्ट करता है। जेएसके ने इसे मेरे लिए हल किया है, स्पष्ट रूप से ट्रस्टस्टोर टाइप निर्दिष्ट करना।


ठीक है, मैं आपको अपने किनारे-केस गेटा को अमर समाधान देने में मदद करता हूं। यही वह जगह है जहाँ यह दिलचस्प है।
n611x007 16

2
यह वास्तव में मेरी समस्या थी। मैं स्प्रिंग बूट 1.4.2 का उपयोग कर रहा था। कृपया, और एक हार्डवेयर कीस्टॉर और सॉफ्टवेयर ट्रस्टस्टोर था। मैंने कीस्टर के लिए प्रदाता और प्रकार निर्दिष्ट किया, लेकिन ट्रस्टस्टोर नहीं। नतीजतन, ट्रस्ट प्रदाता द्वारा गलत प्रदाता और प्रकार का उपयोग किया गया था। उन (SUN और JKS) को निर्दिष्ट करने से समस्या हल हो गई।
केनको

12
आपने वास्तव में यह कैसे किया? (विंडोज़ यहाँ)
tatsu

2
आज मेरे एंड्रॉइड दादाजी के साथ इसे चलाएं, मैं लगभग समझ गया कि आप क्या कहते हैं लेकिन आप इसे हल करने का तरीका नहीं कहते हैं। गैर सहायक जवाब
लोथर

52

मैं ओएस एक्स पर OpenJDK 7 को चलाने के दौरान विश्वास पोस्टर्स को ठीक करना ब्लॉग पोस्ट से इस समाधान में भाग गया :

OS X पर OpenJDK 7 को चलाते समय TrustAnchors समस्या को ठीक करना। यदि आप OSJ पर OpenJDK 7 चला रहे हैं और यह अपवाद देखा है:

Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors
    parameter must be non-empty

एक साधारण तय है। बस उसी कैचर्ट फ़ाइल में लिंक करें जिसे Apple का JDK 1.6 उपयोग करता है:

cd $(/usr/libexec/java_home -v 1.7)/jre/lib/security
ln -fsh /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/cacerts

आपको अपने द्वारा इंस्टॉल किए गए प्रत्येक OpenJDK संस्करण के लिए ऐसा करने की आवश्यकता है। बस -v 1.7उस संस्करण को बदलें जिसे आप ठीक करना चाहते हैं। /usr/libexec/java_home -Vआपके द्वारा स्थापित सभी JRE और JDK को देखने के लिए चलाएँ ।

शायद OpenJDK लोग इसे अपनी इंस्टॉल स्क्रिप्ट में जोड़ सकते हैं।


1
मेरे "ln" कमांड (OSX 10.6.8 पर) में "h" विकल्प नहीं है; इसका क्या मतलब है?
एंड्रयू स्वैन

1
आह, मेरे पास दो "ln" कमांड थे, एक / usr / बिन (डिफ़ॉल्ट) और एक / बिन में; उत्तरार्द्ध में एक "एच" विकल्प था और काम किया।
एंड्रयू स्वैन

मैंने अपने टूटे हुए 1.6 इंस्टालेशन को इस ln तकनीक के साथ सिस्टम 1.8 इंस्टालेशन से कैसर्ट से लिंक किया। धन्यवाद!
A21z

1
भविष्य पाठकों के लिए: ऐसा लगता है कि आपके पास उस में हैं अन्य 3 फ़ाइलों की जरूरत securityफ़ोल्डर ( blacklisted.certs, local_policy.jar, और US_export_policy.jarजावा के लिए) खुश होने के लिए।
awksp

@Peter क्रिएन्स, cacertsअंडर jreडाइरेक्टरी से क्यों जुड़े ?
बीएई

45

में उबंटू 12.10 (Quantal Quetzal) या बाद में, प्रमाण पत्र में आयोजित की जाती हैं ca-प्रमाण पत्र-जावा पैकेज। -Djavax.net.ssl.trustStore=/etc/ssl/certs/java/cacertsJDK आप का उपयोग कर रहे हैं की परवाह किए बिना उन्हें लेने का उपयोग करेगा।


54
मैंने पाया कि मुझे update-ca-certificates -fमैन्युअल रूप से चलाने की आवश्यकता थी , कैसर्ट फ़ाइल को पॉप्युलेट करने के लिए
पोर्टेबलजिम

4
@Portablejim धन्यवाद। आपकी टिप्पणी ने पहला मुद्दा हल किया जिसमें मैंने अपाचे स्पार्क को Ubuntu 15.04beta पर बनाया।
पॉल

1
धन्यवाद @Portablejim, आपकी टिप्पणी ने मेरे लिए Ubuntu 15.04 पर काम किया।
डेविड बर्ग

धन्यवाद। यह मेरी समस्या तय हो गई है PhpStrom + पैच JDK के साथ। मैंने यह कुंजी "phpstorm64.vmoptions" फ़ाइल में लिखी है।
Vijit

Ubuntu 18.04 और JDK में मेरे लिए काम नहीं कर रहा है 1.8.0_62
देवेंद्र

34

मैं OS X v10.9 (Mavericks) में अपग्रेड करने के बाद, JDK 1.7 का उपयोग करके OS X पर इस सटीक समस्या में भाग गया । मेरे लिए काम करने वाला फिक्स केवल http://support.apple.com/kb/DL1572 पर उपलब्ध जावा के Apple संस्करण को पुन: स्थापित करने के लिए था ।


मुझे OSX पर ग्रेल्स द्वारा उपयोग किए गए जावा 6 के साथ इसका सामना करना पड़ा। मैंने ओरेकल से जावा 7 भी स्थापित किया और मैवरिक्स में भी अपग्रेड किया। Apple वेबसाइट से जावा 6 को फिर से इंस्टॉल करना भी मेरे लिए समस्या तय कर रहा है।
pm_labs

एक ubuntu बादल बॉक्स पर खुला jdk 6 स्थापित करते समय इस में भाग गया। एक परिचित चेहरा, बीटीडब्ल्यू
बेन हचिसन

30

मैं भागा

sudo update-ca-certificates -f

एक प्रमाण पत्र फ़ाइल बनाने के लिए, और फिर:

sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure

मैं व्यापार में वापस आ गया था, धन्यवाद दोस्तों। यह एक दया है कि यह स्थापना में शामिल नहीं है, लेकिन मैं अंत में वहां गया।


जब मैं दौड़ता sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure**हूं तो मुझे मिलता हैsudo: /var/lib/dpkg/info/ca-certificates-java.postinst: command not found
मैजिक

बस sudo update-ca-certificates -fडेबी जेसी पर पर्याप्त है जैसे कि openjdk-8-jre-headlessजेसी-बैकपोर्ट से, जब तक ca-certificates-javaस्थापित किया गया है। मुझे लगता है कि इंस्टॉलेशन मामलों का आदेश (जेआरई के बाद ca-certificates-javaइसका कारण हो सकता है, क्योंकि बाद वाले के पास पिछले 8 जावा के लिए कोई ट्रिगर नहीं है)।
mirabilos

2
sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure सितारों के बिना **
यू जियाओ

update-ca-certificates -fवह चीज है जिसने इसे तय किया है। मुझे
मार्क जेरोनिमस

17

त्रुटि बताती है कि सिस्टम पैरामीटर के साथ प्रदान किए गए पथ में ट्रस्टस्टोर को नहीं ढूंढ सकता है javax.net.ssl.trustStore

विंडोज के तहत मैंने cacertsफाइल jre/lib/securityको एक्लिप्स इंस्‍टॉल डायरेक्टरी ( eclipse.iniफाइल के रूप में एक ही जगह ) से कॉपी किया और इसमें निम्नलिखित सेटिंग्स जोड़ी eclipse.ini:

-Djavax.net.ssl.trustStore=cacerts
-Djavax.net.ssl.trustStorePassword=changeit
-Djavax.net.ssl.trustStoreType=JKS

मुझे कैचर्स के रास्ते में कुछ परेशानी थी (% java_home% पर्यावरण चर को किसी तरह अधिलेखित कर दिया गया), इसलिए मैंने इस तुच्छ समाधान का उपयोग किया।

ट्रस्टस्टोर फ़ाइल को एक वैध मार्ग प्रदान करने के लिए विचार है - आदर्श रूप से यह एक रिश्तेदार का उपयोग करना होगा। आप एक निरपेक्ष पथ का उपयोग भी कर सकते हैं।

यह सुनिश्चित करने के लिए कि स्टोर प्रकार JKS है, आप निम्न कमांड चलाएंगे:

keytool -list -keystore cacerts

Keystore type: JKS
Keystore provider: SUN

2
यह एकमात्र उत्तर है जो वास्तव में काम करता है। धन्यवाद @razvanone
अक्षर पटेल

1
मैं एक छोटी "गेटचा" हिट करने में कामयाब रहा: eclipse.ini फ़ाइल में तीन लाइनें वास्तविक तीन अलग-अलग लाइनों पर होनी चाहिए। मैंने शुरू में उन सभी को एक पंक्ति में रखा और ग्रहण ने उसे नहीं उठाया।
SiKing

16

सीए-सर्टिफिकेट-जावा पैकेज को हटाने और इसे फिर से स्थापित करने के लिए मेरे लिए काम किया ( उबंटू मेट 17.10) (आर्टफुल एर्डवार्क)।

sudo dpkg --purge --force-depends ca-certificates-java

sudo apt-get install ca-certificates-java

धन्यवाद, jdstrand: बग 983302 के लिए टिप्पणी 1, पुन: सीए-सर्टिफिकेट-जावा वनैरिक ओसेलॉट पर जावा कैसर्ट स्थापित करने में विफल रहता है


11

OS X v10.9 (Mavericks) में अपग्रेड करने के बाद मेरे पास बहुत सारे सुरक्षा मुद्दे हैं :

  • Amazon AWS के साथ SSL समस्या
  • मोरेन और ग्रहण के साथ सहकर्मी प्रमाणित नहीं है
  • trustAnchors पैरामीटर गैर-रिक्त होना चाहिए

मैंने इस जावा अपडेट को लागू किया और इसने मेरे सभी मुद्दों को ठीक कर दिया: http://support.apple.com/kb/DL1572?viewlocale=enUSUS


5
ओह। जावा 6 कई वर्षों के सार्वजनिक समर्थन के अंत में है, और निश्चित रूप से सुरक्षा छेदों से भरा हुआ है। ऐप्पल इसे डाउनलोड के लिए उपलब्ध कराता है ताकि पुराने सॉफ्टवेयर जो जावा 7/8 के साथ नहीं चलाए जा सकते हैं, वे निष्पादित करना जारी रख सकें, लेकिन इसका उपयोग सार्वजनिक इंटरनेट पर सेवाओं से SSL कनेक्शन बनाने के लिए नहीं किया जाना चाहिए, जैसे 1. AWS, 2. मावेन केंद्रीय, 3. और कुछ।
Zac थॉम्पसन

10

मुझे इस तरह की चीजों की उम्मीद थी, क्योंकि मैं अपने टैलेंड ओपन स्टूडियो में वैकल्पिक जेवीएम का उपयोग करता हूं (फिलहाल समर्थन केवल जेडीके 1.7 तक मौजूद है)। मैं सुरक्षा उद्देश्यों के लिए 8 का उपयोग करता हूं ... वैसे भी

  • अपना प्रमाणपत्र स्टोर अपडेट करें:

    sudo update-ca-certificates -f

फिर

  • अपने आरंभीकरण मापदंडों में एक नया मान जोड़ें

    sudo gedit $(path to your architecture specific ini i.e. TOS_DI...ini)
    
    Djavax.net.ssl.trustStore=/etc/ssl/certs/java/cacerts

मेरे लिए, दूसरी प्रविष्टि ने काम किया। मुझे लगता है, टैलेंड ओपन स्टूडियो / टीईएनटी + जेवीएम के संस्करण के आधार पर, इसका एक अलग पैरामीटर नाम है, लेकिन यह एक ही कीस्टोर फ़ाइल के लिए दिखता है।


4
आपको संपत्ति कहां javax.net.ssl.trustAnchorsसे मिली? यह JSSE प्रलेखन में उल्लिखित नहीं है।
लोर्न

10

मेरे लिए यह ट्रस्टस्टोर में एक विश्वसनीयसेंट्री की कमी के कारण हुआ।

परीक्षण करने के लिए, उपयोग करें:

keytool -list -keystore keystore.jks

यह मुझे देता है:

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

cert-alias, 31-Jul-2017, PrivateKeyEntry

हालांकि मेरे PrivateKeyEntry में एक CA शामिल है जिसे अलग से आयात करने की आवश्यकता है :

keytool -import -alias root-ca1 -file rootca.crt -keystore keystore.jks

यह प्रमाण पत्र आयात करता है, और फिर keytool -list -keystore keystore.jksअब चल रहा है:

Your keystore contains 2 entries

cert-alias, 31-Jul-2017, PrivateKeyEntry,
Certificate fingerprint (SHA1):
<fingerprint>
root-ca1, 04-Aug-2017, trustedCertEntry,
Certificate fingerprint (SHA1):
<fingerprint>

अब इसमें एक विश्वसनीयसेंट्री है, और टॉमकैट सफलतापूर्वक शुरू होगा।


नायब जांच baeldung एक उपयोगी Makefile साथ ट्यूटोरियल कुंजीस्टोर और truststore (वसंत-सुरक्षा-X509 परियोजना) बनाने के लिए शॉर्टकट के रूप में baeldung.com/x-509-authentication-in-spring-security
hello_earth

9

कुछ OpenJDK विक्रेताओं ने cacertsबाइनरी के साथ वितरित एक खाली फ़ाइल होने के कारण इसे जारी किया । बग यहाँ समझाया गया है: https://github.com/AdoptOpenJDK/openjdk-build/issues/555

आप adoptOpenJdk8\jre\lib\security\cacertsफ़ाइल को पुराने इंस्टालेशन जैसे फ़ाइल से कॉपी कर सकते हैंc:\Program Files\Java\jdk1.8.0_192\jre\lib\security\cacerts

AdoptOpenJDK छोटी गाड़ी संस्करण https://github.com/AdoptOpenJDK/openjdk8-releases/releases/download/jdk8u172-b11/OpenJDK8_x64_Win_jdk8u172-b11.zip है।


मुझे लगता है कि यह मेरे लिए भी यही था। AdoptOpenJDK 202 में यह बग मौजूद है, और 222 में यह काम करता है। इसलिए हो सके तो अपने jdk को अपडेट करें।
मार्टी

6

यदि आप इसे JDK9 और मावेन के साथ उबंटू पर अनुभव करते हैं, तो आप इस JVM विकल्प को जोड़ सकते हैं - पहले जाँच लें कि क्या पथ मौजूद है:

-Djavax.net.ssl.trustStore=/etc/ssl/certs/java/cacerts

यदि फ़ाइल गायब है, तो ca-प्रमाणपत्र-जावा स्थापित करने का प्रयास करें जैसा कि किसी ने नोट किया है:

sudo apt install ca-certificates-java

यदि आप docker का उपयोग करते हैं तो आप "maven: 3-jdk-9-slim" छवि को "maven: 3-jdk-9" के बजाय आज़मा सकते हैं
Konstantin Pavlov

धन्यवाद, यह मेरे लिए ubuntu 18.04 में Openjdk-8-jdk के लिए काम किया
आफताब नवीद

4

मेरे पास लिनक्स पर जावा 9.0.1 पर यह त्रुटि संदेश था। यह JDK के एक ज्ञात बग के कारण था, जहाँ cacerts फ़ाइल .tar.gz बाइनरी पैकेज ( http://jdk.java.net/9/ से डाउनलोड ) में खाली है ।

JDK 9.0.1 रिलीज़ नोट्स के "ज्ञात मुद्दे" पैराग्राफ देखें OpenSDK 9 पर टीएलएस डिफ़ॉल्ट रूप से काम नहीं करता है"।

डेबियन / उबंटू (और शायद अन्य व्युत्पन्नियां) पर, कैस्केर्ट फ़ाइल को "सीए-सर्टिफिकेट-जावा" पैकेज से एक के साथ बदलने के लिए एक सरल समाधान है:

sudo apt install ca-certificates-java
cp /etc/ssl/certs/java/cacerts /path/to/jdk-9.0.1/lib/security/cacerts

Red Hat Linux / CentOS पर, आप "कै-सर्टिफिकेट" पैकेज से ऐसा कर सकते हैं:

sudo yum install ca-certificates
cp /etc/pki/java/cacerts /path/to/jdk-9.0.1/lib/security/cacerts

4

मेरे पास यह मुद्दा था जब उबंटू 16.04 LTS (Xenial Xerus) से Ubuntu U.04 में अपग्रेड करने के बाद मावेन 3 का उपयोग करने की कोशिश की जा रही थी। LTS (बायोनिक ऊदबिलाव)।

जाँच / usr / lib / jvm / java-8-oracle / jre / lib / security से पता चला कि मेरी कैसर्ट फ़ाइल एक सांकेतिक लिंक थी जो इंगित करता है /etc/ssl/certs/java/cacerts

मेरे पास भी संदिग्ध रूप से एक फाइल थी cacerts.original

मैंने नाम बदल cacerts.originalदिया cacerts, और इस मुद्दे को तय किया।


cacerts.originalफ़ाइल में था jksप्रारूप, और Ubuntu 16.04 के जावा 8, जो अपने डिफ़ॉल्ट के रूप में है कि प्रारूप का प्रयोग किया साथ जनरेट किया गया था। cacertsफ़ाइल में था pkcs12प्रारूप, उबंटू 18.04 द्वारा उत्पन्न जावा 10 है, जो अपने डिफ़ॉल्ट के रूप में इस प्रारूप का उपयोग करता है। जैसा कि इस थ्रेड में कहीं और समझाया गया है, नए फॉर्मेट के लिए आपको एक्जीक्यूटेबल को पासवर्ड पास करना होगा। लेकिन जब तक आप या तो एक नई खाली jks cacertsफ़ाइल जनरेट करते हैं या एक पुरानी कॉपी करते हैं, तो अगली कैचर जनरेशन प्रक्रिया मौजूदा फ़ाइल को खाली कर देगी, और इसे फ़ाइल सिस्टम से CA सर्टिफिकेट के साथ फिर से भरना होगा।
मिकेल ग्यूक

3

मैंने OS X v10.9 (Mavericks) को अपडेट करने के बाद OS X पर भी इसका सामना किया, जब पुराने Java 6 का उपयोग किया जा रहा था और HTTPS URL तक पहुँचने का प्रयास किया गया था। यह फिक्स पीटर क्रिएन्स का विलोम था; मैं cacerts1.6 संस्करण से जुड़े स्थान के लिए 1.7 अंतरिक्ष से कॉपी करने की जरूरत है :

(as root)
umask 022
mkdir -p /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security
cp $(/usr/libexec/java_home -v 1.7)/jre/lib/security/cacerts \
    /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security

1
यहां कमांड किसी डायरेक्टरी को फाइल में कॉपी करने की कोशिश करता है; इसका कोई भी मतलब नहीं है।
praseodym

मैं एक रिवर्स समाधान का उपयोग करने के मूल्यांकन के साथ सहमत हूं। मैंने पाया कि jdk1.6 में एक टूटा हुआ सॉफ्टलिंक / लवाज / Java /JavaVirtualMachines/1.6.0_33-b03-424.jdk/Contents/Home/lib/siburity/cacerts -> /System/Library/Java/Support/CoreDeploy है। / सामग्री / होम / lib / सुरक्षा / cacerts। इसलिए मैंने टूटी हुई नरम लिंक को rm'ed किया, फिर jdk1.7 इंस्टॉलेशन से कैसर्ट पर कॉपी किया।
जेम्स ए विल्सन

ध्यान दें: जब आप कर रहे हैं तो आपको उन कैशेर्ट फ़ाइल को कैट करने में सक्षम होना चाहिए जिन्हें आपने अनुमतियों को मान्य करने के लिए कॉपी किया था।
ग्रे

इसके अलावा, सही दिशा में जाने के लिए cp को ठीक किया और mkdir और cp के लिए umask जोड़ा।
ग्रे

3

मेरे मामले में क्लाइंट एप्लिकेशन में उपयोग की गई जेकेएस फाइल दूषित हो गई थी। मैंने एक नया बनाया और उसमें गंतव्य सर्वर एसएसएल प्रमाणपत्रों को आयात किया। फिर मैंने एक ट्रस्ट स्टोर के रूप में क्लाइंट एप्लिकेशन में नई जेकेएस फ़ाइल का उपयोग किया, जैसे:

System.setProperty("javax.net.ssl.trustStore",path_to_your_cacerts_file);

स्रोत: जावा एसएसएल और प्रमाणपत्र कीस्टोर

मैं नया JKS बनाने के लिए (KeyStore एक्सप्लोरर) टूल का उपयोग करता हूं। आप इसे इस लिंक से डाउनलोड कर सकते हैं, KeyStore एक्सप्लोरर


कीस्टोर-एक्सप्लोरर ने मेरे लिए काम किया। आपको बस डिफ़ॉल्ट कीस्टोर बनाना है और साइट / होस्ट के लिए प्रमाणपत्र फ़ाइल को जांचना और सहेजना है।
शांता कुमारा

3

आप स्प्रिंग बूट 1.4.1 (या नए) में अपग्रेड करने के बाद इस त्रुटि का सामना भी कर सकते हैं क्योंकि यह अपने निर्भरता के हिस्से के रूप में Tomcat 8.5.5 के साथ लाता है ।

समस्या उस तरीके के कारण है जो टॉमकैट ट्रस्ट स्टोर से संबंधित है। यदि आप अपने ट्रस्ट स्टोर स्थान को स्प्रिंग बूट कॉन्फ़िगरेशन में अपने कीस्टोर के समान निर्दिष्ट करते हैं, तो आपको trustAnchors parameter must be non-emptyआवेदन शुरू करते समय संदेश प्राप्त होने की संभावना होगी ।

server.ssl.key-store=classpath:server.jks
server.ssl.trust-store=classpath:server.jks

बस server.ssl.trust-storeकॉन्फ़िगरेशन को हटा दें जब तक कि आपको पता न हो कि आपको इसकी आवश्यकता है, इस स्थिति में नीचे दिए गए लिंक से परामर्श करें।

निम्नलिखित समस्याओं में समस्या के बारे में अधिक विवरण हैं:


3

मुझे Android SDK sdkmanager के साथ इस समस्या का सामना करना पड़ा। मेरे लिए इस समाधान ने काम किया:

  1. के लिए जाओ /usr/lib/jvm/java-8-oracle/jre/lib/security/
  2. बदलें cacertके साथcacert.original

cacertफ़ाइल एक छोटे से एक (22B) था। मैंने इस मैनुअल के अनुसार स्थापित किया oracle-java8-installerहै ppa:webupd8team/java: https://docs.nativescript.org/start/ns-setup-linux )।


2

रिकॉर्ड के लिए, यहां किसी भी जवाब ने मेरे लिए काम नहीं किया। मेरी ग्रेड बिल्ड ने इस त्रुटि के साथ रहस्यमय तरीके से विफल करना शुरू कर दिया, एक विशेष पीओएम फ़ाइल के लिए मावेन केंद्रीय से HEAD लाने में असमर्थ ।

यह पता चला कि मेरे पास JAVA_HOME है जो OpenJDK के अपने निजी निर्माण में सेट है, जिसे मैंने एक javac मुद्दे को डीबग करने के लिए बनाया था। मेरे सिस्टम पर स्थापित JDK पर इसे वापस सेट करके इसे ठीक कर दिया।


... जिसके कारण ट्रस्टस्टोर अन्य उत्तरों के अनुसार नहीं मिला।
लोरेन

1
हाँ, लेकिन यह जानते हुए कि ट्रस्टस्टोर नहीं पाया जा सकता है, अगर आप यह नहीं समझ पा रहे हैं कि यह क्यों नहीं मिल रहा है तो यह पूरी तरह से बेकार है। ऐसे कई संभावित तरीके हैं जो गलत हो सकते हैं, और यह निराशा होती है जब उनमें से कोई भी ऐसा विशेष तरीका नहीं होता है जो आपके स्वयं के सिस्टम के लिए विफल हो।
user3562927

वे सभी एक ही त्रुटि होने के लिए होते हैं: निर्दिष्ट ट्रस्टस्टोर खोला नहीं जा सकता था या खाली नहीं था। एक लाख तरीके हैं जिससे यह स्थिति पैदा हो सकती है, और एसओ पर पर्याप्त स्थान नहीं है कि उन सभी को एन्यूमरेट कर सके।
लोर्न

1

Red Hat Linux पर मैंने प्रमाणपत्रों को आयात करके इस समस्या को हल किया /etc/pki/java/cacerts


1
System.setProperty("javax.net.ssl.trustStore", "C:\\Users\\user-id\\Desktop\\tomcat\\cacerts");
System.setProperty("javax.net.ssl.trustStorePassword", "passwd");

आपको अपने कोड में उपरोक्त दो पंक्तियों को जोड़ना होगा। यह ट्रस्टस्टोर को खोजने में सक्षम नहीं है।


2
यदि आप नहीं करते हैं, तो यह JRE ट्रस्टस्टोर का उपयोग करेगा, और यह निश्चित रूप से इसे खोजने में सक्षम होगा। त्रुटि इन मापदंडों में गलत मान के कारण होती है, उनकी अनुपस्थिति में नहीं। आपके कोड में नामित फ़ाइल केवल आपके इंस्टॉलेशन पर लागू होती है, आम तौर पर नहीं।
लोर्ने

उन संपत्तियों को सेट करने का उचित तरीका उन्हें कमांड लाइन पर पास करके है: java -Djavax.net.ssl.trustStore=/tmp/cacerts ...या यदि आप उन्हें JDK के साथ चलने वाले सभी कार्यक्रमों के लिए विश्व स्तर पर सेट करना चाहते हैं, तो पंक्ति को JDK की management.propertiesफ़ाइल में जोड़ें।
मिकेल ग्यूक

1

Ubuntu 14.04 (भरोसेमंद तहर) पर परीक्षण के लिए एंड्रॉइड के एक विशेष सूट को चलाते समय मुझे इस समस्या का सामना करना पड़ा । शाहीन द्वारा सुझाई गई दो बातें:

sudo update-ca-certificates -f

sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure

1

इंटरनेट पर मुझे मिला कोई भी समाधान काम नहीं करता, लेकिन पीटर क्रिएन्स के जवाब का एक संशोधित संस्करण काम करने लगता है।

सबसे पहले अपने Java फोल्डर को रन करके ढूंढें /usr/libexec/java_home। मेरे लिए यह 1.6.0.jdkसंस्करण था । फिर इसके lib/securityसबफ़ोल्डर (मेरे लिए /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/security) पर जाएं।

cacertsयदि कोई एक पहले से है तो फ़ाइल को हटा दें और सिस्टम पर एक को खोजें sudo find / -name "cacerts"। यह मेरे लिए कई आइटम मिला, एक्सकोड या अन्य अनुप्रयोगों के संस्करणों में जो मैंने स्थापित किया था, लेकिन यह भी /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/security/cacertsकि मैंने किसको चुना।

उस फ़ाइल का उपयोग करें और उससे एक प्रतीकात्मक लिंक बनाएं (जबकि जावा फ़ोल्डर के अंदर से पहले) sudo ln -fsh "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/security/cacerts", और यह काम करना चाहिए।

मेरे पास दोनों हैं - Apple के 2017-001 डाउनलोड से जावा ( https://support.apple.com/kb/dl1572 - मेरा मानना ​​है कि जहां से सही प्रमाण पत्र हैं) और Oracle का Mac OS X v10.12 (Sierra) पर स्थापित ।


1

पर ubuntu 14.04 के साथ Openjdk 11 ppa से: openjdk-r / ppa इसने मेरे लिए काम किया:

java.security में कीस्टोर प्रकार बदल कर

keystore.type=jks

फिर:

sudo dpkg --purge --force-depends ca-certificates-java
sudo apt-get install ca-certificates-java

जब आप जाँच करें कि क्या यह काम किया है, तो सुनिश्चित करें कि आप अभी भी पुराने जावा के साथ किसी भी डेमन का उपयोग नहीं कर रहे हैं। --no-daemon कि ग्रेडेल के लिए विकल्प

यह बग सब कुछ अच्छी तरह से वर्णन करता है और आपको यह समझने में मदद करेगा कि https://bugs.launchpad.net/ubuntu/+source/ca-certports-java/+bug/1739631 क्या चल रहा है


1

उबंटू 18.04 पर मुझे एक पुरानी परियोजना के रखरखाव के लिए OpenJDK 1.7 का उपयोग करने की आवश्यकता थी। मैंने बाइनरी पैकेज डाउनलोड किया। लेकिन जब मैंने इस पर अपनी स्क्रिप्ट निष्पादित की तो मुझे वही त्रुटि मिली।

इसका समाधान फ़ोल्डर cacertsमें डाउनलोड किए गए JDK की फ़ाइल को निकालना jre/lib/securityऔर फिर इसे सिस्टम cacertsफ़ाइल में सिमलिंक के रूप में बनाना है /etc/ssl/certs/java/:

sudo ln -s /etc/ssl/certs/java/cacerts /path/to/downloaded/java/jre/lib/security/cacerts


1

पतला मौका यह किसी को भी मदद करेगा लेकिन .... किसी रास्पबेरी पाई (डॉक्यू सीपीयू का उपयोग करके) पर डॉकर छवि से जावा 8 चलाने वाले किसी के लिए, मुझे मेरे लिए सफलतापूर्वक बनाने और चलाने के लिए निम्नलिखित डॉकरफाइल मिला।

FROM hypriot/rpi-java
USER root

WORKDIR /usr/build/

RUN /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
RUN update-ca-certificates -f
RUN /var/lib/dpkg/info/ca-certificates-java.postinst configure

EXPOSE 8080

ARG JAR_FILE=target/app-0.0.1-SNAPSHOT.jar

ADD ${JAR_FILE} app.jar

ENTRYPOINT ["java", "-Djavax.net.ssl.trustStorePassword=changeit", "-Djavax.net.ssl.trustStore=/etc/ssl/certs/java/cacerts", "-jar", "app.jar"]
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.