[maven] Maven에게 SSL 오류를 무시하고 모든 인증서를 신뢰하도록 지시하는 방법은 무엇입니까?

“mvn”명령을 자주 실행해야합니다.

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 핸드 셰이크 오류를 방지하기 위해 내 truststore.jks에 인증서를 추가해야 할 때마다.

SSL 오류를 무시하도록 mvn을 구성 할 수있는 방법이 있습니까?



답변

다음 명령 줄 매개 변수 중 하나 이상을 추가하여 SSL 인증서 검사를 비활성화 할 수 있습니다.

  • -Dmaven.wagon.http.ssl.insecure=true -사용자 생성 인증서에 대해 완화 된 SSL 검사를 사용합니다.
  • -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

Ajay Gautam~/.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"


답변

나를 위해 일한 대안은 settings.xml에 다음을 추가하여 Maven Central을 사용할 때 https : 대신 http :를 사용하도록 Maven에 지시하는 것입니다 .

<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>

귀하의 마일리지는 물론 다를 수 있습니다.


답변

폴더를 ${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

도움이 되었기를 바랍니다.


답변

HTTPS 대신 HTTP를 사용하도록 m2e를 구성 할 수도 있습니다.

force-m2e-to-use-http-instead-of-https


답변