Esporta (0) Stampa
Espandi tutto

Aggiungere un certificato di servizio

Aggiornamento: aprile 2014

L'operazione Add Service Certificate aggiunge un certificato a un servizio ospitato.

L'operazione Add Service Certificate è un'operazione asincrona. Per determinare se il servizio di gestione ha terminato l'elaborazione della richiesta, chiamare Ottenere lo stato delle operazioni. Per ulteriori informazioni sulle operazioni asincrone, vedere Rilevamento delle richieste asincrone di gestione del servizio.

La richiesta di Add Service Certificate può essere specificata come indicato di seguito. Sostituire <subscription-id> con l'ID sottoscrizione e <service-name> con il nome del prefisso DNS del servizio:

 

Metodo URI della richiesta Versione HTTP

POST

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

HTTP/1.1

Nessuno.

Nella tabella seguente vengono descritte le intestazioni di richiesta obbligatorie e facoltative.

 

Intestazione della richiesta Descrizione

Content-Type

Obbligatoria. Impostare questa intestazione su application/xml.

x-ms-version

Obbligatoria. Specifica la versione dell'operazione da utilizzare per questa richiesta. Questa intestazione deve essere impostata su 2009-10-01 o una versione successiva. Per ulteriori informazioni sulle intestazioni di controllo delle versioni, vedere Controllo delle versioni di gestione del servizio.

Il formato del corpo della richiesta è il seguente:


<?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
L'ordine degli elementi nel corpo della richiesta è significativo. Se un elemento è necessario, deve essere visualizzato nel contenuto XML nell'ordine sopra indicato.

 

Nome elemento Descrizione

Dati

File con estensione pfx o cer nel formato con Base 64.

noteNota
Il certificato di servizio viene aggiunto come file con estensione pfx o cer. Quando si recupera il certificato del servizio tramite l'operazione Elencare i certificati di servizio o Ottenere il certificato del servizio, solo la parte pubblica del certificato viene restituita come file con estensione cer.

CertificateFormat

Il formato del certificato di servizio. Azure supporta i formati di file pfx e cer.

Password

Password per un certificato pfx. Un certificato cer non richiede una password.

Nella risposta sono inclusi un codice di stato HTTP e un set di intestazioni per la risposta.

Poiché Add Service Certificate è un'operazione asincrona, è necessario chiamare Ottenere lo stato delle operazioni per determinare se l'operazione è completata, non riuscita o in corso.

Poiché Add Service Certificate è un'operazione asincrona, restituisce sempre il codice di stato 202 (Accettato). Per determinare il codice di stato per l'operazione dopo che è stata completata, chiamare Ottenere lo stato delle operazioni. Il codice di stato è incorporato nella risposta per questa operazione; se ha esito positivo, sarà 200 (OK).

Per informazioni sui codici di stato, vedere Codici di stato e di errore relativi alla gestione dei servizi.

Nella risposta per questa operazione sono incluse le intestazioni riportate di seguito; inoltre, possono essere incluse intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1.

 

Intestazione della risposta Descrizione

x-ms-request-id

Valore che identifica in modo univoco una richiesta effettuata nel servizio di gestione. Per un'operazione asincrona, è possibile chiamare lo stato di operazione get con il valore dell'intestazione per determinare se l'operazione è completata, non riuscita o in corso. Per ulteriori informazioni, vedere Rilevamento delle richieste asincrone di gestione del servizio.

Per eseguire l'autenticazione di questa operazione, è possibile utilizzare un qualsiasi certificato di gestione associato alla sottoscrizione specificata da <subscription-id>. Per ulteriori dettagli, vedere Autenticazione di richieste di gestione dei servizi.

Utilizzare l'operazione Add Service Certificate per aggiungere un certificato X.509 a un servizio ospitato per l'accesso sicuro alle applicazioni con ruoli Web e di lavoro. L'operazione restituisce immediatamente un ID di richiesta nell'intestazione x-ms-request-id della risposta a una richiesta completata, mentre l'associazione del certificato al servizio ospitato viene eseguita in modo asincrono da Windows Azure. Per verificare se l'operazione asincrona di aggiunta del certificato di servizio è stata completata, è possibile eseguire il polling dell'operazione Ottenere lo stato delle operazioni con l'ID richiesta. Verrà restituito un corpo XML con un elemento Operation che contiene un elemento Status che avrà un valore InProgress, Failed o Succeeded, a seconda dello stato dell'operazione asincrona. Se si esegue il polling finché lo stato non sarà Failed o Succeeded, l'elemento Operation contiene un codice di stato che rappresenta lo stato finale dell'operazione nell'elemento StatusCode e le operazioni non riuscite conterranno informazioni aggiuntive sull'errore nell'elemento Error. Per informazioni dettagliate, vedere Ottenere lo stato delle operazioni.

Il metodo seguente costruisce una richiesta per aggiungere un certificato di servizio, invia la richiesta al servizio e restituisce l'ID di richiesta


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

Mostra:
© 2014 Microsoft