Tomcat &引用;签名与“不匹配”;将证书导入密钥库时出错-为什么?
原则上,这是一个关键工具问题,与Shibboleth无关,但了解我的目的可能会有所帮助(如果Shibboleth的内容对您没有任何意义,请跳到粗体部分): 我正在尝试设置Shibboleth SSO配置。IdP已经建立,我已经建立了一个SP与之对话。到目前为止(经过多次黑客攻击),很好-SP(链接到apache反向代理)拦截对安全资源的调用,并正确重定向到IdP,这将显示一个登录页面。登录后,IdP会回复并向SP发送令牌 然后,SP应联系IdP,以将令牌转换为对登录者有效的属性,但在此,IdP抱怨消息不符合安全要求 据我所知,这是因为tomcat不接受SP的自签名证书 相反,我尝试生成一个CA证书,并使用它对证书进行签名。我已将CA证书添加到$JAVA_HOME/jre/lib/security/cacerts中,因此keytool应该信任它,但当我尝试将已签名的SP证书导入密钥库时,出现错误: keytool错误:java.security.SignatureException:签名不匹配。 我正在使用的导入命令是: keytool-import-v-alias sp_signed_cert-keystore idp.jks-trustcacerts-file server.crt 其中server.crt是已签名的SP证书 我为什么会出现此错误,我能做些什么? 我似乎剩下的唯一选择是:Tomcat &引用;签名与“不匹配”;将证书导入密钥库时出错-为什么?,tomcat,ssl-certificate,keytool,Tomcat,Ssl Certificate,Keytool,原则上,这是一个关键工具问题,与Shibboleth无关,但了解我的目的可能会有所帮助(如果Shibboleth的内容对您没有任何意义,请跳到粗体部分): 我正在尝试设置Shibboleth SSO配置。IdP已经建立,我已经建立了一个SP与之对话。到目前为止(经过多次黑客攻击),很好-SP(链接到apache反向代理)拦截对安全资源的调用,并正确重定向到IdP,这将显示一个登录页面。登录后,IdP会回复并向SP发送令牌 然后,SP应联系IdP,以将令牌转换为对登录者有效的属性,但在此,IdP抱
- 将apache放在运行IdP的Tomcat前面,并使用其“可选的\u no\u ca”设置来使用自签名证书
- 支付知名CA签署证书的费用(但并不真正适合概念验证)
默认情况下,cacerts拥有所有受信任CA的证书,例如Verisign。
另外,您在帖子中提到的import命令正试图导入到
idp.jks
而不是cacerts
将apache放在运行IdP的Tomcat前面,并使用其
“可选的\u no\u ca”设置,以便能够使用自签名证书
你不需要在tomcat面前使用apache,Shibboleth的人也说不需要
支付著名的CA来签署证书(不是真的
但是,适合用于概念验证)
需要一个全球知名的CA,只是因为o信任链,如果你不想,你永远不需要支付
尝试在没有加密的情况下首先进行通信,因为您正在进行概念验证
错误是在执行导入时?
为什么不导入CA证书而不是特定的SP?IdP已经设置好了(以前的PoC),所以加密已经设置好了,可以很好地处理重定向的登录请求,但我同意你的观点。目前看来,我可以通过我们的技术支持“借用”GoDaddy签名的证书。目前看来,我们的技术支持可以为我提供GoDaddy签名的证书。我将CA证书导入到信任库(以及cacerts文件-因此java应该将其视为受信任的根CA),然后尝试导入签名服务器(SP)证书进入idp.jks密钥库。CA证书是自签名的(由我创建)。