小编Sor*_*row的帖子

m2e使用基于证书的ssl身份验证

TL; DR

如何使Eclipse的内置Maven连接到使用基于证书的身份验证的HTTPS存储库?

似乎m2e能够找到密钥库,但无法连接.命令行Maven就像使用完全相同的密钥库的魅力一样.Run as -> Maven build适用于外部Maven,而不适用于嵌入式Maven.

问题

我有一个依赖的Maven项目.除了常规用户名 - 密码组合之外,该依赖关系在使用基于SSL证书的身份验证的存储库中可用.我需要在Eclipse Luna中使用内置的Maven.我能得到的只是handshake_failure.对日志的调查表明,内置Maven无法找到匹配的证书.

当我使用Run as -> Maven build外部Maven或命令行Maven时,它成功连接到存储库并完全根据需要获取工件.

有趣的是,外置和嵌入式Mavens都有相同的版本(3.2.3).

建立

我将这些参数传递给eclipse.ini:

-Djavax.net.ssl.trustStore=java.cacerts
-Djavax.net.ssl.trustStorePassword=******
-Djavax.net.ssl.keyStore=private.cacerts
-Djavax.net.ssl.keyStorePassword=******
-Djavax.net.debug=ssl,handshake
Run Code Online (Sandbox Code Playgroud)

trustStore文件包含:

  • 我连接到的存储库的整个证书链(链以自签名证书结束),其中一个存储在别名下repository.location.url(文本存储库位置,例如myrepository.com)
  • maven central证书

keyStore文件包含存储库别名下的导入PKCS证书.

设置似乎没有问题,因为命令行Maven工作.如果我使用外部Maven或命令行,它可以工作.如果我开始嵌入一个(它总是用于解析依赖关系),则handshake error显示出来.

我究竟做错了什么?我可能会遗漏一些完全明显的东西.任何帮助,将不胜感激.

java eclipse ssl-certificate maven m2e

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

eclipse ×1

java ×1

m2e ×1

maven ×1

ssl-certificate ×1