Tomcat中的SSL/TLS证书使用<Connector>标记在server.xml中配置,如下所示:
<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文件中定义。项目使用扩展来实现SSO。要求在SAML服务提供者(SP)元数据中使用相同的证书。
有单独的团队管理Tomcat服务器的SSL/TLS证书。它们可能更改密钥存储文件或密码的位置。我希望我的申请不受这些变化的影响。
我正在使用catalina.properties从我的应用程序中的@PropertySource("file:/path/to/catalina.properties")文件中读取上述资源。这个方法好吗?对于TLS和SAML是否有更好的/推荐的方法来使用相同的证书配置?
发布于 2017-11-09 21:19:17
终于找到了答案。
Tomcat将catalina.properties中的属性公开为系统属性。因此,System.getProperty()可以用来读取它们。
参考文献:https://tomcat.apache.org/tomcat-8.0-doc/config/index.html
所有系统属性都是可用的,包括使用-D语法设置的属性、JVM自动提供的属性以及在$CATALINA_BASE/conf/catalina.properties文件中配置的属性。
其次,Spring文档表明,可以使用SSL/TLS证书进行SAML消息签名和加密。
参考文献:Spring证书配置文档
私钥(带有自签名证书或CA签名证书)用于对SAML消息进行数字签名、加密其内容,并在某些情况下用于服务提供者应用程序的SSL/TLS客户端身份验证。
https://stackoverflow.com/questions/47152593
复制相似问题