【发布时间】:2018-04-19 12:57:12
【问题描述】:
Tomcat 中的 SSL/TLS 证书使用server.xml 中的<Connector> 标签配置如下:
<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="${path.to.my.keystore.file}"
keystorePass="${my.keystore.password}"
clientAuth="false" sslProtocol="TLS"/>
资源 path.to.my.keystore.file 和 my.keystore.password 在 Tomcat 的 catalina.properties 文件中定义。项目使用 Spring Security SAML 扩展来实现 SSO。要求是在 SAML 服务提供商 (SP) 元数据中使用相同的证书。
有一个单独的团队负责管理 Tomcat 服务器的 SSL/TLS 证书。他们可能会更改密钥存储文件或密码的位置。我希望我的应用程序不受这些更改的影响。
我正在使用@PropertySource("file:/path/to/catalina.properties") 在我的应用程序中从catalina.properties 文件中读取上述资源。这种方法好吗?有没有更好/推荐的方式来为 TLS 和 SAML 使用相同的证书配置?
【问题讨论】:
-
您想使用 TLS 证书对 SAML 消息进行签名还是只使用相同的密钥库?
-
我想用 TLS 证书签署 SAML 消息。
-
检查您的证书的密钥使用情况和证书颁发机构的政策是否允许数字签名。 TLS 证书的预期用途是服务器身份验证,而不是数字签名
-
允许使用密钥进行签名。
KeyUsage [ DigitalSignature Key_Encipherment Data_Encipherment Key_Agreement ]
标签: tomcat ssl certificate single-sign-on spring-saml