내보내기(0) 인쇄
모두 확장

서비스 인증서 추가

업데이트 날짜: 2014년 9월

Add Service Certificate 비동기 작업은 클라우드 서비스에 인증서를 추가합니다.

다음과 같이 Add Service Certificate 요청을 지정할 수 있습니다. <subscription-id>를 구독 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

필수 사항입니다. 이 요청에 사용할 작업의 버전을 지정합니다. 이 헤더는 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>

다음 표에서는 요청 본문의 요소에 대해 설명합니다.

 

요소 이름 설명

Data

필수 사항입니다. Base-64로 인코딩된 .pfx 또는 .cer 파일을 지정합니다.

note참고
서비스 인증서는 .pfx 또는 .cer 파일로 추가됩니다. 서비스 인증서 나열 또는 서비스 인증서 가져오기 작업을 사용하여 서비스 인증서를 검색하면 인증서의 공용 부분만 .cer 파일로 반환됩니다.

CertificateFormat

필수 사항입니다. 서비스 인증서의 형식을 지정합니다.

가능한 값은 다음과 같습니다.

  • pfx

  • cer

Password

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