Exportar (0) Imprimir
Expandir Tudo

Adicionar certificado de serviço

Atualizado: abril de 2014

A operação Add Service Certificate adiciona um certificado a um serviço hospedado.

A operação Add Service Certificate é assíncrona. Para determinar se o serviço de gerenciamento concluiu o processamento da solicitação, chame Obter status da operação. Para obter mais informações sobre operações assíncronas, consulte Controlando solicitações assíncronas de gerenciamento de serviço.

A solicitação Add Service Certificate pode ser especificada da seguinte maneira. Substitua <subscription-id> por sua ID da assinatura e <service-name> pelo nome do prefixo DNS do seu serviço:

 

Método URI de solicitação Versão HTTP

POST

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

HTTP/1.1

A tabela a seguir descreve os cabeçalhos de solicitação obrigatórios e opcionais.

 

Cabeçalho de solicitação Descrição

Content-Type

Obrigatório. Defina este cabeçalho como application/xml.

x-ms-version

Obrigatório. Especifica a versão da operação a ser usada para esta solicitação. Este cabeçalho deve ser definido como 2009-10-01 ou posterior. Para obter mais informações sobre cabeçalhos de controle de versão, consulte Controle de versão de gerenciamento de serviço.

Formato do corpo da solicitação:


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

ImportantImportante
A ordem dos elementos no corpo de solicitação é importante. Se um elemento for necessário, ele deverá aparecer no XML na ordem mostrada acima.

 

Nome do elemento Descrição

Dados

A forma codificada em base 64 do arquivo pfx ou .cer.

noteObservação
O certificado de serviço é adicionado como um arquivo .pfx ou .cer. Ao recuperar o certificado de serviço usando a operação Listar certificados de serviço serviço ou Obter certificado de serviço, apenas a parte pública do certificado é retornada como um arquivo .cer.

CertificateFormat

O formato do certificado de serviço. O Azure oferece suporte aos formatos de arquivo pfx e cer.

Senha

A senha para um certificado .pfx. Um certificado .cer não exige uma senha.

A resposta inclui um código de status HTTP e um conjunto de cabeçalhos de resposta.

Como Add Service Certificate é uma operação assíncrona, você deverá chamar Obter status da operação para determinar se a operação foi concluída, se falhou ou se ainda está em andamento.

Como Add Service Certificate é uma operação assíncrona, sempre retornará o código de status 202 (aceito). Para determinar o código de status da operação assim que ela for concluída, chame Obter status da operação. O código de status é incorporado na resposta para esta operação; se for bem-sucedido, será código de status 200 (OK).

Para obter informações sobre códigos de status, consulte Status de Gerenciamento de Serviço e códigos de erro.

A resposta para esta operação inclui os cabeçalhos a seguir. A resposta também pode incluir cabeçalhos padrão HTTP adicionais. Todos os cabeçalhos padrão obedecem à especificação de protocolo HTTP/1.1.

 

Cabeçalho de resposta Descrição

x-ms-request-id

Um valor que identifica exclusivamente uma solicitação feita no serviço de Gerenciamento. Para uma operação assíncrona, você pode obter o status da operação com o valor do cabeçalho para determinar se a operação foi concluída, se falhou ou se ainda está em andamento. Consulte Controlando solicitações assíncronas de gerenciamento de serviço para obter mais informações.

Qualquer certificado de gerenciamento associado à assinatura especificada por <id-assinatura> pode ser usado para autenticar esta operação. Para obter mais detalhes, consulte Autenticando solicitações do gerenciamento de serviços.

Use a operação Add Service Certificate para adicionar um certificado X.509 a um serviço hospedado para obter acesso seguro a sua função da Web e aplicativos de função de trabalho. A operação será retornada imediatamente com uma ID de solicitação no cabeçalho x-ms-request-id da resposta para uma solicitação bem-sucedida, embora a associação de certificado com o serviço hospedado seja executada de forma assíncrona pelo Windows Azure. Para descobrir quando a operação assíncrona de adicionar certificado de serviço tiver sido concluída, você poderá sondar a operação Obter status da operação com a ID da solicitação. Isto retornará um corpo XML com um elemento Operation que contém um elemento Status que tem um valor de InProgress, Failed ou Succeeded, dependendo do status da operação assíncrona. Se você sondar até o status ser Failed ou Succeeded, o elemento Operation conterá um código de status representando o status final da operação no elemento StatusCode e as operações com falha conterão informações de erro adicionais no elemento Error. Consulte Obter status da operação para obter mais detalhes.

O método a seguir constrói uma solicitação para adicionar um certificado de serviço, envia a solicitação para o serviço e retorna a ID da solicitação.


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"];
}

Mostrar:
© 2014 Microsoft