Exportar (0) Imprimir
Expandir todo

Agregar certificado de servicio

Actualizado: abril de 2014

La operación Add Service Certificate agregar un certificado a un servicio hospedado.

La operación Add Service Certificate es asincrónica. Para determinar si el servicio de administración ha terminado de procesar la solicitud, llame a Obtener estado de la operación. Para obtener más información sobre las llamadas a operaciones asincrónicas, vea Realizar seguimiento de solicitudes asincrónicas de administración de servicios.

La solicitud Add Service Certificate se puede especificar como sigue. Reemplace <subscription-id> con el identificador de la suscripción y <service-name> con el nombre del prefijo DNS del servicio:

 

Método URI de solicitud Versión de HTTP

POST

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

HTTP/1.1

Ninguno.

En la tabla siguiente se describen los encabezados de solicitud requeridos y opcionales.

 

Encabezado de solicitud Descripción

Content-Type

Obligatorio. Establezca este encabezado en application/xml.

x-ms-version

Obligatorio. Especifica la versión de la operación que se utiliza para esta solicitud. Este encabezado debe establecerse en 2009-10-01 o posterior. Para obtener más información acerca de los encabezados de control de versiones, vea Control de versiones de la administración del servicio.

El formato del cuerpo de solicitud es el siguiente:


<?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
El orden de los elementos en el cuerpo de la solicitud es importante. Si se necesita un elemento, debe aparecer en el XML en el orden mostrado anteriormente.

 

Nombre del elemento Descripción

Datos

Forma del archivo .cer o pfx codificada en base 64.

noteNota
El certificado del servicio se agrega como un archivo .pfx o .cer. Al recuperar el certificado del servicio mediante la operación Enumerar certificados de servicio utilizando o Obtener certificado del servicio, solo se devuelve la parte pública del certificado como archivo .cer.

CertificateFormat

Formato del certificado del servicio. Windows Azure admite los formatos de archivo pfx y cer.

Contraseña

Contraseña para un certificado .pfx. Un certificado .cer no precisa una contraseña.

La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta.

Dado que Add Service Certificate es una operación asincrónica, debe llamar a Obtener estado de la operación para determinar si la operación se completa, se ha generado un error o aún está en curso.

Dado que Add Service Certificate es una operación asincrónica, siempre devuelve el código de estado 202 (Aceptado). Para determinar el código de estado de la operación una vez que se ha completado, llame a Obtener estado de la operación. El código de estado se inserta en la respuesta para esta operación; si se realiza correctamente, será el código de estado 200 (CORRECTO).

Para obtener información acerca de los códigos de estado, vea Estado y códigos de error de administración del servicio.

La respuesta para esta operación incluye los encabezados siguientes. La respuesta también puede incluir otros encabezados HTTP estándar. Todos los encabezados estándar cumplen la especificación del protocolo HTTP/1.1.

 

Encabezado de respuesta Descripción

x-ms-request-id

Valor que identifica de forma exclusiva una solicitud realizada ante el servicio de administración. Para una operación asincrónica, puede llamar a obtener el estado de la operación con el valor del encabezado para determinar si la operación se ha completado, ha generado un error o aún está en curso. Para obtener más información, vea Realizar seguimiento de solicitudes asincrónicas de administración de servicios.

Cualquier certificado de administración asociado a la suscripción especificada por <identificador de la suscripción> se puede usar para autenticar esta operación. Para obtener detalles adicionales, vea Autenticar solicitudes de administración del servicio.

Utilice la operación Add Service Certificate para agregar un certificado X.509 a un servicio hospedado para el acceso seguro a las aplicaciones del rol web y del rol de trabajo. La operación se devuelve inmediatamente con un identificador de solicitud en el encabezado x-ms-request-id de la respuesta a una solicitud correcta, mientras Windows Azure realiza la asociación del certificado al servicio hospedado de forma asincrónica. Para averiguar cuándo se ha completado la operación asíncrona para agregar el certificado de servicio, puede sondear la operación Obtener estado de la operación con el identificador de la solicitud. Esto devolverá un cuerpo XML con un elemento Operation que contenga un elemento Status que tendrá un valor de InProgress, Failed o Succeeded, dependiendo del estado de la operación asíncrona. Si se sondea hasta que el estado sea Failed o Succeeded, el elemento Operation contendrá un código de estado que representa el estado final de la operación en el elemento StatusCode y las operaciones con errores contendrán información adicional sobre el error en el elemento Error. Vea Obtener estado de la operación para obtener más detalles.

El método siguiente genera una solicitud para agregar un certificado de servicio, envía la solicitud al servicio, y devuelve el identificador de la solicitud.


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