Azure 云服务 - SSL 签名证书
Azure Cloud Service - SSL Signing Certificate
我 运行 遇到了 Azure 云服务的一个问题,这让我有点困惑。我正在开发一个与第三方 REST API 交互的项目,该项目要求所有请求都使用 SSL 证书进行签名。在开发或生产 VM 中,这不是问题。证书通常安装在适当的商店中,然后可以通过指纹、磁盘上的文件或嵌入式资源加载,如下所示:
_certificate = new X509Certificate2(Properties.Resources.Cert,
"password, X509KeyStorageFlags.MachineKeySet);
我现在正尝试将系统的一部分迁移到 Azure,但我很难让证书正常工作。我认为问题是来自 Symantec 的中间证书尚未安装。到目前为止,我已经尝试编写 Powershell 和批处理文件(即 certutil),我编写了 C# 代码来遍历证书链以及遍历证书集合并执行各种导入,但是 none 其中有允许使用证书成功调用。
有没有人在 Azure 云服务中自动安装和使用签名证书?如果有,您介意分享解决方案吗?
我所做的是在 Azure 云服务上获取证书文件,然后 运行 启动任务(在提升模式下)将证书安装到机器商店中。
所以,您可能需要做的是:
- 编写安装证书的 .cmd 或 powershell 脚本。是
确保将其与您的应用程序捆绑在一起(type = content,copy local = true
)
- 确保将证书与您的应用程序捆绑在一起,或者编写一个 powershell 脚本/cmd 脚本,将证书下载到 azure
云服务
- 编写调用安装脚本的启动任务,在计算机上安装证书。
此处有关启动任务的信息:https://msdn.microsoft.com/en-us/library/azure/hh180155.aspx。注意:您需要在 'elevated' 模式下 运行 才能安装证书。
<Startup>
<Task commandLine="Startup.cmd" executionContext="elevated" taskType="simple" >
</Task>
</Startup>
在您的 Startup.cmd
内 - 例如:
certutil -addstore -enterprise -f -v root Certificates\mycert.cer
摘自 here。再次 - 确保将证书捆绑在您的主机应用程序中,或者编写一个脚本从某个地方下载证书 - 在调用 certutil
命令之前。
我 运行 遇到了 Azure 云服务的一个问题,这让我有点困惑。我正在开发一个与第三方 REST API 交互的项目,该项目要求所有请求都使用 SSL 证书进行签名。在开发或生产 VM 中,这不是问题。证书通常安装在适当的商店中,然后可以通过指纹、磁盘上的文件或嵌入式资源加载,如下所示:
_certificate = new X509Certificate2(Properties.Resources.Cert,
"password, X509KeyStorageFlags.MachineKeySet);
我现在正尝试将系统的一部分迁移到 Azure,但我很难让证书正常工作。我认为问题是来自 Symantec 的中间证书尚未安装。到目前为止,我已经尝试编写 Powershell 和批处理文件(即 certutil),我编写了 C# 代码来遍历证书链以及遍历证书集合并执行各种导入,但是 none 其中有允许使用证书成功调用。
有没有人在 Azure 云服务中自动安装和使用签名证书?如果有,您介意分享解决方案吗?
我所做的是在 Azure 云服务上获取证书文件,然后 运行 启动任务(在提升模式下)将证书安装到机器商店中。
所以,您可能需要做的是:
- 编写安装证书的 .cmd 或 powershell 脚本。是 确保将其与您的应用程序捆绑在一起(type = content,copy local = true )
- 确保将证书与您的应用程序捆绑在一起,或者编写一个 powershell 脚本/cmd 脚本,将证书下载到 azure 云服务
- 编写调用安装脚本的启动任务,在计算机上安装证书。
此处有关启动任务的信息:https://msdn.microsoft.com/en-us/library/azure/hh180155.aspx。注意:您需要在 'elevated' 模式下 运行 才能安装证书。
<Startup>
<Task commandLine="Startup.cmd" executionContext="elevated" taskType="simple" >
</Task>
</Startup>
在您的 Startup.cmd
内 - 例如:
certutil -addstore -enterprise -f -v root Certificates\mycert.cer
摘自 here。再次 - 确保将证书捆绑在您的主机应用程序中,或者编写一个脚本从某个地方下载证书 - 在调用 certutil
命令之前。