Azure-将证书添加到 CloudService

标签 azure xmlhttprequest certificate ssl-certificate x509certificate

我想通过 REST API 将服务证书添加到我的 Azure CloudService。目前我有这个:

这是我的请求正文:基于此 documentation

<?xml version="1.0" encoding="utf-8"?>
<CertificateFile xmlns="http://schemas.microsoft.com/windowsazure">
<Data>MIIB3TCCAUagAwIBAgIQfgPuTBadfItGHpKyYRiRoTANBgkqhkiG9w0BAQUFADAtMSswKQYDVQQDHiIAYwBlAGQAdgBpAGwAbABcAGMAZQBkAHYAaQBsAGwAMAAwMB4XDTEzMDcxNTA4MjIwN1oXDTE0MDcxNTE0MjIwN1owLTErMCkGA1UEAx4iAGMAZQBkAHYAaQBsAGwAXABjAGUAZAB2AGkAbABsADAAMDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2AB6hYWdqu/IG2Jo17tuHpmVsxNqGG5ROnNTtKZd4c7UtQ287EW5McRXqkfBmiwGIe3Pb3S0bd0q51YhT1WhQkGMMwwYLiAmALBct4OK3KNodl0t+rSO5R0Wq9YIaLq3o5HTGAR4wdKhaC/n1uJWPzD+TjkRRHnfEagWPtVjsMECAwEAATANBgkqhkiG9w0BAQUFAAOBgQCBLwjd3e1PaxvEy+Y1nqpTX8q/0ZsS2jVjCgRti0vehLGFlDEbL2rMhzGMo9zjQbXFzGCInMukFUhEI+OWkOBnBIIiYvTkKIFQWpLN7imIiRVuuqGFwslmESBySSO40M56jPXZ7/D0g8d8WDCfO1YoneDv4CuJE97lMTTyEjUJwg==</Data>
  <CertificateFormat>cer</CertificateFormat>
</CertificateFile>

但它给了我错误:指定的证书的文件格式无效。证书文件必须是 Base64 编码的 .pfx 文件。

我确信 Base64 中的证书。我所做的就是使用并将相同的 My.cer 文件手动上传到不同的云服务并使用 List Service Certificate查看其 Base64。

最佳答案

您的问题的简单答案是服务管理 API 文档搞砸了。本质上,API 不关心 CertificateFormat 节点,并且您必须始终向那里传递 pfx。您还需要提供没有值的 Password 节点,因为您正在上传 cer 文件。因此,基于所有这些,请尝试将以下内容作为您的请求正文:

<?xml version="1.0" encoding="utf-8"?>
<CertificateFile xmlns="http://schemas.microsoft.com/windowsazure">
<Data>MIIB3TCCAUagAwIBAgIQfgPuTBadfItGHpKyYRiRoTANBgkqhkiG9w0BAQUFADAtMSswKQYDVQQDHiIAYwBlAGQAdgBpAGwAbABcAGMAZQBkAHYAaQBsAGwAMAAwMB4XDTEzMDcxNTA4MjIwN1oXDTE0MDcxNTE0MjIwN1owLTErMCkGA1UEAx4iAGMAZQBkAHYAaQBsAGwAXABjAGUAZAB2AGkAbABsADAAMDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2AB6hYWdqu/IG2Jo17tuHpmVsxNqGG5ROnNTtKZd4c7UtQ287EW5McRXqkfBmiwGIe3Pb3S0bd0q51YhT1WhQkGMMwwYLiAmALBct4OK3KNodl0t+rSO5R0Wq9YIaLq3o5HTGAR4wdKhaC/n1uJWPzD+TjkRRHnfEagWPtVjsMECAwEAATANBgkqhkiG9w0BAQUFAAOBgQCBLwjd3e1PaxvEy+Y1nqpTX8q/0ZsS2jVjCgRti0vehLGFlDEbL2rMhzGMo9zjQbXFzGCInMukFUhEI+OWkOBnBIIiYvTkKIFQWpLN7imIiRVuuqGFwslmESBySSO40M56jPXZ7/D0g8d8WDCfO1YoneDv4CuJE97lMTTyEjUJwg==</Data>
  <CertificateFormat>pfx</CertificateFormat>
  <Password></Password>
</CertificateFile>

非常感谢@AzureCoder来自http://elastacloud.com/让我朝着正确的方向前进。

关于Azure-将证书添加到 CloudService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18117578/

相关文章:

Javascript CORS JSON/JSONP 请求

javascript - 使用 XMLHttpRequest 时如何向用户显示实际的网络错误?

grails - 如何在Grails中读取CERT.RSA文件的内容?

ios - 推送通知的证书和私钥

ssl - 是否可以签署 key 长度比 CA 证书更长的服务器证书

azure - HIVE 和 Parquet 文件

linux - Docker 容器无法在适用于 Linux 的 Azure WebApps 上正常运行,但它可以在本地运行。

angularjs - XMLHttpRequest 无法加载 .... 预检响应具有无效的 HTTP 状态代码 401

azure - 自动 azure sql 导出失败

azure 二头肌 : for-loop in variable definition not possible?