Как сказать 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
Поскольку мне нужно интегрироваться с различными другими доменами, поэтому в настоящее время каждый раз, когда я должен добавить свой сертификат в свой truststore.jks, чтобы предотвратить ошибки установления связи SSL.
Можно ли каким-либо образом настроить mvn для игнорирования ошибок SSL.
Ответы
Ответ 1
Вы можете отключить проверку сертификатов 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"
Ответ 2
Альтернатива, которая сработала для меня, - сказать Maven использовать http: вместо https: при использовании Maven Central, добавив следующее в settings.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>
Ваш пробег может меняться, конечно.
Ответ 3
Вы также можете настроить m2e для использования HTTP вместо HTTPS
force-m2e-to-use-http-instead-of-https
Ответ 4
Создайте папку ${USER_HOME}/.mvn
и поместите в maven.config
файл с именем maven.config
.
Содержание должно быть:
-Dmaven.wagon.http.ssl.insecure=true
-Dmaven.wagon.http.ssl.allowall=true
-Dmaven.wagon.http.ssl.ignore.validity.dates=true
Надеюсь это поможет.
Ответ 5
Не могу прокомментировать ответ выше, но: