1

我们计划在 Azure Web 角色上创建和安装自签名证书。我们需要在 Web 角色本身上创建证书并在那里安装。但是我们在 azure web 和 worker 角色上找不到 makecert.exe。我们在 azure 角色上做了远程桌面,发现 makecert.exe 丢失了。在 azure 角色上创建和安装证书的任何方向都会有帮助吗?

如果有任何管理 API 可用于在 Web 角色上创建证书,请与我分享,因为我无法在 msdn 中找到。

4

2 回答 2

1

您有几个选项来创建自签名证书:

  • 将makecert.exe与您的应用程序一起部署(将其包含在您的 VS 项目中,设置 Copy Local = true)
  • 自己写一些东西来生成证书(这里的例子:https ://github.com/mono/mono/blob/master/mcs/tools/security/makecert.cs )

但它不仅仅是生成证书。如果您有多个实例在运行,您会怎么做?您会在 1 个实例上安装证书吗?还是您需要所有实例都拥有证书?如果重新部署应用程序会怎样?...

在这些情况下,您可能需要向前看。是否可以选择将所有这些证书存储在 blob 存储中?也许您可以在每个实例上运行一个进程,将证书与当前实例“同步”。您还可以使用 AppFabric ServiceBus 主题在生成新证书时通知其他实例...

于 2012-05-03T11:31:54.477 回答
0

您的问题的直接答案是 Makecert.exe 是一个实用程序,可以通过安装 Visual Studio 或 Windows SDK 安装,也可以从 Microsoft 站点直接下载。Windows Azure VM 肯定没有这个 makecert.exe,因为它不是基础 Windows 部署的一部分,如果你想在 Windows Azure VM 中使用/运行 Makecert,你真的需要在你的项目中添加并部署它。

但是,如果您需要将证书部署到 Windows Azure,您真的不需要即时生成它(即使用 Makecert.exe),因为还有其他更简单的方法可以做到这一点。您只需将 PFX 证书添加(或部署)到您的 Windows Azure 服务 -> 证书部分,当您的 VM 将被初始化时,证书将被配置到您的 Windows Azure 角色(Web 或 Worker 或 VM),因此没有需要将 Makecert.exe 添加到您的项目中,然后使用启动任务来运行它。

与其依赖 Makecert.exe 或任何其他方法来获得您的角色证书,我建议使用上述方法,该方法实际上是为此类要求设计的。如果您不知道如何直接将证书部署到您的 Windows Azure 服务到门户或使用 PowerShell,请告诉我。

于 2012-05-03T16:45:23.223 回答