我可以在Tomcat catalina.properties中设置https.protocols吗?

我可以在Tomcat catalina.properties中设置https.protocols吗?,tomcat,ssl,pci-compliance,Tomcat,Ssl,Pci Compliance,我们在Java1.7.x中使用Tomcat7.0.41。出于PCI合规性原因,我想禁用TLS 1.0。所以我的问题是,我可以在catalina.properties中设置以下值吗? https.protocols=TLSv1.1、TLSv1.2 我主要关心的是我的web应用程序,它通过https向外部供应商发出出站服务调用。在本例中,我的webapp是一个java客户端。 此外,我的webapp还为浏览器提供页面,我计划在我的服务器中控制TLS。xml如果你说的是一个发出呼叫的服务,那么这与To

我们在Java1.7.x中使用Tomcat7.0.41。出于PCI合规性原因,我想禁用TLS 1.0。所以我的问题是,我可以在catalina.properties中设置以下值吗? https.protocols=TLSv1.1、TLSv1.2 我主要关心的是我的web应用程序,它通过https向外部供应商发出出站服务调用。在本例中,我的webapp是一个java客户端。
此外,我的webapp还为浏览器提供页面,我计划在我的服务器中控制TLS。xml如果你说的是一个发出呼叫的服务,那么这与Tomcat没有任何关系。在Tomcat中,您只需在
上配置
sslEnabledProtocols
,即可限制/启用任意协议

对于为传出连接配置可用协议,最好是与正在使用的客户端库(例如
httpclient
等)交互以设置协议,但如果要在JVM级别执行此操作,则实际上需要将
jdk.tls.disabledAlgorithms
设置为包含
TLSv1
(适用于Java8+)或
https.protocols
,如您在我们的问题中所述


Tomcat不允许您在
catalina.properties
中设置任意系统属性。您必须在其他地方设置它们,例如在
$catalina_BASE/bin/setenv中。(sh|bat)
或在您使用的任何服务启动工具中。

谢谢您的提示。我可能会使用setenv.sh设置-Dhttps.protocols=TLSv1.1,TLSv1.2。我发现setenv.sh默认不存在,所以我必须创建它(至少在Tomcat 7中)我正在对所有设置进行更多的分析。非常感谢!是的,您必须自己创建
setenv.sh
。不要害羞!还请记住
setenv.sh
不是运行的,是您使用
jsvc
启动Tomcat,或者可能是您的操作系统包管理器提供的服务启动器。