0

我们正在使用工作角色来托管 Java 应用程序,这些应用程序本质上是一个 azure 包中的 Tompact 和应用程序代码。

我们希望能够设置 SSL,而不必以类似于 .Net 端的方式将证书烘焙到应用程序包中,您可以在其中引用证书存储中的证书。

如何做到这一点?

我已经阅读了这篇博文 http://blogs.msdn.com/b/avkashchauhan/archive/2010/11/07/adding-ssl-https-security-with-tomcat-java-solution-in-windows-azure。 aspx说明我们需要从证书创建一个 keystore.bin 文件并将其包含在包中。

问题是,当将代码推出到具有不同证书等的多个环境时,我不想将证书烘焙到包中以便于管理,而且从管理角度来看,证书到期等也是如此。

谢谢阿米特

4

1 回答 1

0

关键是您希望如何将证书带到 Azure VM 中以供 Tomcat 配置和使用。另一个关键问题是 Tomcat/Java 不使用标准的 Windows CertStore 作为证书,而是使用密钥库(Java 运行时的扩展部分),所以如果您没有在 Windows Azure 包中使用密钥库配置,那么您需要在运行期间创建Windows Azure 虚拟机配置。

虽然其他人可能有不同的想法,但我可以提出以下解决方案:

  1. 此时您需要完成 Tomcat 安装,您可以使用 Azure 包打包 Tomcat,或者您需要通过启动任务下载并安装 Tomcat
  2. 将证书文件放在 Windows Azure 存储(或 Internet 上的其他位置)上
  3. 创建启动任务以从 Windows Azure 存储或您的下载位置下载证书
  4. 将证书下载到本地计算机后,在启动任务中的 Azure VM 中运行相同的命令来构建密钥库,并确保在您的 tomcat 将要查看它的位置创建密钥库。
  5. 这样,当 Tomcat 启动时,它就知道在哪里寻找密钥库并正确配置端点。

还有另一种方法是将整个 Tomcat 设置与密钥库等放在 Windows Azure 存储中,并通过启动任务下载并在 Azure VM 中进行设置。我已经在我的博客中描述了这个过程以及示例源。

在上述两种方式中,只要您想更改 Tomcat/证书,只需在下载位置更新包,然后重新映像/重新启动 Azure VM,您将使用新代码更新 VM,而您真的不需要重新创建 Windows Azure 包。

于 2012-09-12T18:26:59.753 回答