windows - 是否可以配置 Tomcat 7 SSL 以通过 SunMSCAPI 访问证书?

标签 windows tomcat azure ssl

是否可以配置 Tomcat 7 SSL 以通过 SunMSCAPI 访问证书?

我们目前正在将 Tomcat 7 部署到 Azure PAAS 云服务,该服务将所有实例创建为 Windows 服务器。

我们在 Tomcat 中配置了 SSL,以便它使用 JSSE(而非 APR)从 keystore 文件访问证书:

<Connector port="443" 
           protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" 
           scheme="https" 
           secure="true"
           keystoreFile="xxxxx" keystorePass="xxxxx" keystoreType="PKCS12"
           clientAuth="false" 
           SSLEnabled="true"
           sslProtocol="TLS" />

我们希望将 Tomcat 配置为访问 Windows Server 证书管理器,因为 MS Azure 工具提供了通过 Powershell/REST API 将证书部署到实例的简单方法。我知道这可以通过使用 Java SunMSCAPI 的码头来完成。

这也可以在 Tomcat 7 中完成吗?

如有任何帮助,我们将不胜感激。

最佳答案

尚未测试:告诉 Tomcat 使用 SubMSCAPI keystoreprovider:

--JvmOptions="-Djavax.net.ssl.keyStoreProvider=SunMSCAPI -Djavax.net.ssl.trustStoreProvider=SunMSCAPI -Djavax.net.ssl.trustStoreType=Windows-Root"

将连接器配置为

<Connector ...
   keyAlias="my.www.server" keyStoreFile="" keyStoreType="Windows-My"

keyAlias的值为证书的通用名,见

keytool -list -providername SunMSCAPI -storetype Windows-My

关于windows - 是否可以配置 Tomcat 7 SSL 以通过 SunMSCAPI 访问证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19415305/

相关文章:

python - 使用 Python 在 Firefox (win) 选项卡上启动网页

windows - 创建 WMI 类并添加静态属性或默认值

apache - Tomcat servlet 日志记录

azure - 如何在 AzureML 上使用管道参数

windows - 如何以编程方式确定用户帐户是否是 Windows 中特定组的成员?

Java (maven) 将 SSL 与 Shiro 结合使用 - Tomcat 7 的 https 端口插件无法正常工作

java - 将 Spring 项目上传到有/没有服务器的 github 帐户以及如何嵌入 mysql 数据库

azure - 在哪里可以从 Azure 门户找到服务主体 GUID

Azure DevOps - 在部署组中的目标计算机上设置环境变量

windows - 如何移动.AndroidStudio3.1文件夹?