首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache从错误开始- protocol_version

Apache从错误开始- protocol_version
EN

Stack Overflow用户
提问于 2020-07-28 12:20:32
回答 1查看 165关注 0票数 1

我使用的是Java1.7和Apache 4.0.1。当我抓住卡拉夫的时候,我得到了以下信息:

无法安装功能的org.apache.cxf.dosgi:cxf-dosgi:xml:features:1.7.0::错误解析工件java.io.IOException无法将工件org.apache.cxf.dosgi:cxf-dosgi:xml:features:1.7.0传输到中央(https://repo.maven.apache.org/maven2/):收到致命警报: protocol_version : mvn:org.apache.cxf.dosgi/cxf-dosgi/1.7.0/xml/features

我有什么办法解决这个问题吗?

在进行maven构建时,我尝试设置TLS版本:

代码语言:javascript
复制
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8 -Dhttps.protocols=TLSv1.2 -Xmx2048m -XX:MaxPermSize=1024m -Xms1024m"
export MAVEN_OPTS="-Dhttps.protocols=TLSv1.2"
mvn clean install -DskipTests -Dfile.encoding=UTF8 -Dhttps.protocols=TLSv1.2;
EN

回答 1

Stack Overflow用户

发布于 2020-07-29 10:17:32

首先,您应该真正停止使用JDK1.7

但我知道你可能有理由-我也有。

Karaf的特性部署程序使用pax-url-aether,它使用乙醚解析器,它使用Apache http客户机4。

"-Dhttps.protocols=TLSv1.2"系统属性只能用于配置使用java.net.URL#openConnection()获得的连接,在这里不会有帮助。

但是,通过使用BouncyCastle安全提供程序,我能够在这种情况下与TLS1.2存储库联系。你必须做几件事:

property

  • prepare

  • 将bcprov-jdk15on-1.60.jar和bctls-jdk15on-1.60.jar放入$JAVA_HOME/jre/lib/ext或其他目录中,如/path/to/ext ,通过复制原始$JAVA_HOME/jre/lib/security/java.security并添加:

g 213,在-Djava.ext.dirs=/path/to/ext系统-Djava.ext.dirs=/path/to/ext java.policy文件中使用该目录。

代码语言:javascript
复制
security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider 
security.provider.2=org.bouncycastle.jsse.provider.BouncyCastleJsseProvider

和(在这个文件的底部):

代码语言:javascript
复制
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, SSLv2Hello, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL
jdk.tls.client.protocols=TLSv1.2

对于弹跳城堡,你也不应该使用-Dhttps.protocols=TLSv1.2

它对我有效,所有的TLS通信都是使用BC提供程序完成的。

编辑:您不能使用更新版本的邦西城堡,因为有https://github.com/bcgit/bc-java/issues/557

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63134015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档