Экспорт (0) Печать
Развернуть все

Добавление сертификата службы

Обновлено: Сентябрь 2014 г.

Асинхронная операция Add Service Certificate добавляет сертификат в облачную службу.

Запрос Add Service Certificate можно указать следующим образом. Замените <subscription-id> идентификатором подписки, а <service-name> ― именем префикса DNS облачной службы.

 

Метод URI запроса

POST

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

Необходимо убедиться, что запрос к службе управления безопасен. Дополнительные сведения см. в разделе Проверка подлинности запросов по управлению службами.

В следующей таблице описаны заголовки запросов.

 

Заголовок запроса Описание

Content-Type

Обязательно. Задайте для этого заголовка значение application/xml.

x-ms-version

Обязательно. Задает версию операции, используемой для этого запроса. Этот заголовок должен быть установлен в значение 01.10.2009 или на более позднюю дату. Дополнительные сведения об управлении версиями заголовков см. в разделе Работа с версиями при управлении службами.

Далее приведен формат текста запроса.


<?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.

noteПримечание
Сертификат службы добавляется в виде PFX- или CER-файла. При извлечении сертификата службы с помощью операции Перечисление сертификатов службы или Получение сертификата службы возвращается только открытая часть сертификата в виде CER-файла.

CertificateFormat

Обязательно. Указывает формат сертификата службы.

Возможные значения:

  • pfx

  • cer

Пароль

Указывает пароль для PFX-сертификата. Для CER-сертификата пароль не требуется.

Ответ включает код состояния HTTP и набор заголовков ответа.

Успешная операция возвращает код состояния 200 (ОК). Сведения о кодах состояния см. в разделе Коды состояний и ошибок управления службами.

Ответ для этой операции включает следующие заголовки. Ответ может также включать дополнительные стандартные заголовки HTTP. Все стандартные заголовки соответствуют Спецификации протокола HTTP/1.1.

 

Заголовок ответа Описание

x-ms-request-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""?>
                                   <CertificateFile xmlns=""http://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"];
}

Показ:
© 2015 Microsoft