SSL त्रुटियों को अनदेखा करने के लिए मावेन को कैसे बताएं (और सभी वर्गों पर भरोसा)?


106

मुझे अक्सर "mvan" कमांड चलाने की आवश्यकता होती है:

mvn -f pom.xml clean install -Dmaven.test.skip=false --settings /Users/myhome/settings.xml -X -Djavax.net.ssl.trustStore=/Users/myhome/truststore.jks -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStorePassword=dummy -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol -U

जैसा कि मुझे विभिन्न अन्य डोमेन के साथ एकीकृत करने की आवश्यकता है, इसलिए वर्तमान में हर बार मुझे एसएसएल हैंडशेक त्रुटियों को रोकने के लिए अपने प्रमाणपत्र को अपने ट्रस्टस्टोर.जेक्स में जोड़ना होगा।

क्या कोई तरीका है जिससे मैं SSL त्रुटियों को अनदेखा करने के लिए mvn को कॉन्फ़िगर कर सकता हूं।

जवाबों:


236

आप इन कमांड लाइन मापदंडों में से एक या अधिक जोड़कर SSL प्रमाणपत्र जाँच को अक्षम कर सकते हैं:

  • -Dmaven.wagon.http.ssl.insecure=true - उपयोगकर्ता द्वारा निर्मित प्रमाणपत्रों के लिए आराम से एसएसएल चेक का उपयोग सक्षम करें।
  • -Dmaven.wagon.http.ssl.allowall=true- होस्टनाम के साथ सर्वर के X.509 प्रमाण पत्र का मिलान सक्षम करें। अक्षम होने पर, चेक जैसे ब्राउज़र का उपयोग किया जाएगा।
  • -Dmaven.wagon.http.ssl.ignore.validity.dates=true - प्रमाण पत्र की तारीखों के साथ मुद्दों को नजरअंदाज करें।

आधिकारिक दस्तावेज: http://maven.apache.org/wagon/wagon-providers/wagon-http/

यहाँ एक आसान कॉपी और पेस्ट के लिए oneliner है:

-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true

अजय गौतम ने सुझाव दिया कि आप ~/.mavenrcफाइल में उपरोक्त को भी जोड़ सकते हैं क्योंकि इसे हर बार कमांड लाइन पर निर्दिष्ट नहीं करना है:

$ cat ~/.mavenrc 
MAVEN_OPTS="-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true"

1
मेरे पास स्प्रिंग बूट / मावेन परियोजना है और मैं जाले सेवा के स्रोतों को उत्पन्न करने के लिए मावेन-जक्सब 2-प्लगइन का उपयोग कर रहा हूं। लेकिन प्रमाणपत्र समाप्त हो गया। इसलिए मैंने ग्रहण में उपरोक्त आन्दोलनों के साथ मावेन उत्पन्न स्रोतों को चलाने की कोशिश की। लेकिन मुझे अभी भी त्रुटि मिलती है "टाइमस्टैम्प चेक विफल" किसी भी विचार को कैसे ग्रहण / मावेन वातावरण में हल करना है।
मुकुन

14
जवाब मेरे काम नहीं आता। मैं मावेन 3.5.0 का उपयोग कर रहा हूं और मुझे जो अपवाद मिला वह था PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target। वैगन MAven 3.5.0 के साथ काम करता है?
thlim

इसके बजाय, मैंने एक ट्रस्टस्टोर jks बनाया और इस jks फ़ाइल में मावेन को इंगित किया।
thlim

3
जावा क्रिप्टोग्राफी एक्सटेंशन (JCE) अनलिमिटेड स्ट्रेंथ ( JDK7 के लिए ) JDK8 के लिए इंस्टॉल करके मेरे लिए
मैवेन

1
Netbeans 6.8 का उपयोग करते हुए मैंने UI के माध्यम से 'ग्लोबल एक्ज़ेक्यूशन ऑप्शन्स' के तहत netbeans मावेन विकल्पों में विकल्प जोड़े और मैं https का उपयोग करके रिपॉजिटरी से डाउनलोड करने में सक्षम था।
Dan675

46

मेरे लिए काम करने वाला एक विकल्प मावेन को http: के बजाय http का उपयोग करने के लिए कहना है: जब सेटिंग में निम्न को जोड़कर मावेन सेंट्रल का उपयोग किया जाता है। xml :

<settings>
   .
   .
   .
  <mirrors>
    <mirror>
        <id>central-no-ssl</id>
        <name>Central without ssl</name>
        <url>http://repo.maven.apache.org/maven2</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
   .
   .
   .
</settings>

सचमुच में, आपका माइलेज अलग अलग हो सकता है।


2
धन्यवाद, यह काम किया! और कृपया एक बार SSL काम करने के लिए नोट करें क्योंकि इससे उपयोगकर्ता गैर-मानक रिपॉजिटरी जोड़ सकते हैं जो होस्ट कर सकता है जो जानता है कि क्या है
asgs

3
यह जनवरी 2020 से काम नहीं करता है क्योंकि मावेन रेपो ने http कनेक्शन को निष्क्रिय कर दिया था
जस्टिन

1
जनवरी 2020 से यह त्रुटि मिलेगी: ReasonPhrase: HTTPS आवश्यक ", क्योंकि मावेन रेपो ने Http कनेक्शन को निष्क्रिय कर दिया था
जस्टिन

8

एक फ़ोल्डर बनाएं ${USER_HOME}/.mvn और उसमें एक फ़ाइल डालें maven.config

सामग्री होनी चाहिए:

-Dmaven.wagon.http.ssl.insecure=true
-Dmaven.wagon.http.ssl.allowall=true
-Dmaven.wagon.http.ssl.ignore.validity.dates=true

उम्मीद है की यह मदद करेगा।


मैं सीधे कमांड लाइन पर उन मापदंडों का उपयोग करने में सफल होता हूं, लेकिन फिर भी उन्हें फ़ाइल में जोड़ते समय विफल रहा
जस्टिन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.