首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Tomcat仅双向SSL信任特定证书,不导入CA证书

Tomcat仅双向SSL信任特定证书,不导入CA证书
EN

Stack Overflow用户
提问于 2014-12-11 17:24:17
回答 1查看 1.1K关注 0票数 0

我对tomcat的双向ssl连接有一些问题,

我需要设置一个使用双向ssl连接的web服务。将使用两个不同的证书,一个用于ssl连接,另一个用于soap签名。规则是,用于soap签名的证书不能用于ssl连接,反之亦然。

客户端有三个证书,即ssl证书、soap证书和他们自己的CA证书,用来签署他们的ssl和soap证书。

问题出在ssl连接上,当我只将客户端的ssl证书导入到tomcat的配置文件中指定的tomcat的自定义信任库时,连接抛出了一个ssl证书错误异常。但是当我尝试只导入CA证书时,tomcat也接受了使用SOAP证书的ssl连接,这违反了规则。

让我感到困惑的是,当我没有指定任何自定义信任库文件时--我假设tomcat将使用默认的cacerts文件--并且没有向cacerts文件导入任何客户端证书,连接就会被tomcat接受。这怎麽可能?我已经在tomcat的配置中将"clientAuth“设置为"true”。

有人能帮我吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-12-11 18:09:27

看看这个(http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html#Installing_a_Certificate_from_a_Certificate_Authority)。基本上需要做的是将CA根证书(因为SSL证书由根用户签署)& SSL证书导入到密钥存储中,并为tomcat上的SSL配置密钥存储(上面的文档详细介绍了这些步骤)。这应该可以解决您的SSL问题。

现在,谈到SOAP问题,SOAP相关的签名本质上是XML签名,而Tomcat不能处理相同的签名。这些签名遵循本规范(http://www.w3.org/TR/SOAP-dsig/),该规范本质上是一个扩展。SOAP服务实现(例如Apache CXF )处理这些签名(参见:http://cxf.apache.org/docs/ws-security.html)。虽然您可能没有使用CXF,但服务器库实际上将使用您提供的证书进行签名(此证书的存储是另一回事)。

至于问题的最后部分,请检查请求是否使用SSL发出,除非配置了证书,否则Tomcat通常不会在443/8443上接受SSL请求。

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

https://stackoverflow.com/questions/27419277

复制
相关文章

相似问题

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