添加服务证书
折叠目录
展开目录
本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

添加服务证书

 

添加服务证书 异步操作将证书添加到云服务。

添加服务证书 可能指定请求,如下所示。 替换 <subscription-id> 替换为订阅 ID 和 <service-name> 使用 DNS 名称的前缀的云服务。

方法

请求 URI

开机自检

https://management.core.windows.net/<subscription-id>/services/hostedservices/<service-name>/certificates

必须确保向管理服务发出请求的安全性。 有关其他详细信息,请参阅 进行身份验证服务管理请求

None。

下表介绍请求标头。

请求标头

说明

Content-Type

必需。 将此标头设置为 应用程序/xml

x-ms-version

必需。 指定要用于此请求的操作的版本。 此标头应设置为 2009-10-01 或更高版本。 有关版本控制标头的详细信息,请参阅 服务管理版本控制

请求正文的格式为,如下所示:


<?xml version="1.0" encoding="utf-8"?>
<CertificateFile xmlns=”http://schemas.microsoft.com/windowsazure”>
  <Data>base64-encoded-file</Data>
  <CertificateFormat>file-format</CertificateFormat>
  <Password>pfx-file-password</Password>
</CertificateFile>

下表描述了请求正文中的元素。

元素名称

说明

数据

必需。 指定.pfx 或.cer 文件的 base-64 编码的形式。

System_CAPS_note注意

作为.pfx 或.cer 文件添加服务证书。 检索服务证书使用时 列出服务证书获取服务证书 操作,只有证书的公共部分返回为.cer 文件。

CertificateFormat

必需。 指定服务证书的格式。

可能值有:

  • pfx

  • cer

密码

指定.pfx 证书的密码。 .Cer 证书不需要密码。

响应包括 HTTP 状态代码和一组响应标头。

此操作成功后返回状态代码 200 (正常)。 有关状态代码的信息,请参阅 服务管理状态和错误代码

此操作的响应包括以下标头。 响应还可能包括其他标准 HTTP 标头。 所有标准标头都符合 HTTP/1.1 协议规范

响应标头

说明

x-ms-request-id

一个值,唯一标识针对管理服务发出的请求。 对异步操作,您可以调用 获取操作状态 标头以确定该操作已完成的值,已失败,或仍在进行。

下面的方法构建请求以添加服务证书、 将请求提交到该服务,并返回请求 id。


public static string AddCertificate(string subscriptionId, string applicationName, X509Certificate2 managementCertificate, string pfxPath, string password)
{
    // Construct the request URI.    var req = (HttpWebRequest)WebRequest.Create(string.Format("https://management.core.windows.net/{0}/services/hostedservices/{1}/certificates", subscriptionId, applicationName));

    // Set the request method and the content type for the request.
    req.Method = "POST";
    req.ContentType = "application/xml";

    // Add the x-ms-version header.
    req.Headers.Add("x-ms-version", "2009-10-01");

    // Add the certificate.
    req.ClientCertificates.Add(managementCertificate);

    // Construct the request body.
    using (var writer = new StreamWriter(req.GetRequestStream()))
    {
        writer.Write(string.Format(@"<?xml version=""1.0"" encoding=""utf-8""?>
                                   <CertificateFilehttp://schemas.microsoft.com/windowsazure"">
                                   <Data>{0}</Data>
                                   <CertificateFormat>pfx</CertificateFormat>
                                   <Password>{1}</Password>
                                   </CertificateFile>", 
                                   Convert.ToBase64String(File.ReadAllBytes(pfxPath)), 
                                   password));
    }

    // Submit the request and return the request ID.
    return req.GetResponse().Headers["x-ms-request-id"];
}

显示:
© 2016 Microsoft