인증 기관에 대한 Exchange Server 인증서 요청 만들기

인증서 요청을 만드는 것은 하나 이상의 Exchange 서비스에 대한 TLS(전송 계층 보안) 암호화를 구성하기 위해 Exchange 서버에 새 인증서를 설치하는 첫 번째 단계입니다. 인증서 요청(인증서 서명 요청 또는 CSR이라고도 함)을 사용하여 CA(인증 기관)에서 인증서를 가져옵니다. 절차는 내부 CA(예: Active Directory 인증서 서비스) 또는 상용 CA에서 인증서를 가져오는 경우 동일합니다. 인증서 요청을 만든 후 CA에 결과를 보내고 CA는 정보를 사용하여 나중에 설치하는 실제 인증서를 발급합니다.

EAC(Exchange 관리 센터) 또는 Exchange 관리 셸에서 인증서 요청을 만들 수 있습니다. EAC의 새 Exchange 인증서 마법사는 인증서에 필요한 호스트 이름을 선택하는 데 도움이 될 수 있습니다.

시작하기 전에 알아야 할 사항은 무엇인가요?

  • 이러한 절차를 수행하려면 먼저 사용 권한을 할당받아야 합니다. 필요한 권한에 대한 자세한 내용은 클라이언트 및 모바일 디바이스 권한 문서의 "클라이언트 액세스 서비스 보안" 항목을 참조하세요.

  • 예상 완료 시간: 새 인증서 요청을 완료하는 데 5분입니다. 그러나 요청이 인증서 발급으로 이어지기 전에 더 많은 시간이 필요합니다. 자세한 내용은 다음 단계를 참조하세요.

  • 원하는 인증서 유형과 인증서에 필요한 호스트 이름을 선택하려면 신중하게 계획해야 합니다. 자세한 내용은 Exchange Server 디지털 인증서 및 암호화를 참조하세요.

  • CA의 인증서 요청 요구 사항을 확인합니다. Exchange는 1024, 2048(기본값) 또는 4096비트의 RSA 공개 키를 사용하여 Base64(기본값) 또는 DISTINGUISHED ENCODING RULES(DER) 인코딩을 사용하는 PKCS #10 요청(.req) 파일을 생성합니다. 인코딩 및 공개 키 옵션은 Exchange 관리 셸에서만 사용할 수 있습니다. 자세한 내용은 New-ExchangeCertificate를 참조하세요.

  • EAC에서 인증서 요청 파일을 UNC 경로(\\<Server>\<Share>\ 또는 \\<LocalServerName>\c$\)에 저장해야 합니다. Exchange 관리 셸에서 로컬 경로를 지정할 수 있습니다.

  • 온-프레미스 Exchange 조직에서 Exchange 관리 셸을 여는 방법을 확인하려면 Exchange 관리 셸 열기를 참조하세요.

  • 이 문서의 절차에 적용될 수 있는 바로 가기 키에 대한 자세한 내용은 Exchange 관리 센터의 바로 가기 키를 참조하세요.

문제가 있습니까? Exchange Server, Exchange Online 또는 Exchange Online Protection. 무슨 작업을 하고 싶으십니까?

EAC를 사용하여 새 인증서 요청 만들기

참고

ECP 인증서 요청은 Exchange 2019 CU12 이상 및 Exchange 2016 CU23 이상에서 더 이상 사용되지 않습니다.

  1. EAC를 열고 서버>인증서로 이동합니다.

  2. 서버 선택 드롭다운 목록에서 인증서를 설치할 Exchange 서버를 선택한 다음 추가추가 아이콘을 선택합니다.

새 Exchange 인증서 마법사가 열립니다.

  1. 이 마법사에서 새 인증서 또는 인증서 요청 파일 페이지를 만들고 인증 기관에서 인증서에 대한 요청 만들기가 선택되어 있는지 확인한 다음, 다음을 선택합니다.

    참고

    새 자체 서명된 인증서를 만들려면 새 Exchange Server 자체 서명된 인증서 만들기를 참조하세요.

  2. 이 인증서의 이름 페이지에서 인증서에 대한 설명이 포함된 이름을 입력한 다음, 다음을 선택합니다.

  3. 와일드카드 인증서 요청 페이지에서 다음 중 하나를 선택합니다.

    • 와일드카드 인증서를 원하는 경우: 와일드카드 인증서 요청을 선택하고 루트 도메인 상자에 와일드카드 문자(*) 및 도메인(예: *.contoso.com 또는 *.eu.contoso.com)을 입력합니다. 완료되면 다음을 선택합니다.
    • SAN(주체 대체 이름) 인증서를 원하는 경우: 이 페이지에서 선택하지 않고 다음을 선택합니다.
    • 단일 호스트에 대한 인증서를 원하는 경우: 이 페이지에서 선택하지 않고 다음을 선택합니다.
  4. 이 서버의 인증서 요청 저장 페이지에서 찾아보기를 선택하고 인증서 요청을 저장할 Exchange 서버를 선택합니다(인증서를 설치하려는 위치). 그런 다음 , 확인다음을 선택합니다.

    참고

    7단계와 8단계는 SAN 인증서 요청 또는 단일 호스트에 대한 인증서에만 적용됩니다. 와일드카드 인증서 요청을 선택한 경우 9단계로 건너뜁니다.

인증서에 포함할 도메인 지정 페이지가 나타납니다. 이 페이지는 기본적으로 다음 Exchange 서비스에 대한 인증서에 필요한 내부 및 외부 호스트 이름을 확인하는 데 도움이 되는 워크시트입니다.

  • 웹용 Outlook
  • OAB(오프라인 주소록 생성)
  • Exchange 웹 서비스
  • Exchange ActiveSync
  • Autodiscover
  • IMAP
  • Outlook Anywhere
  1. 위치(내부 또는 외부)에 따라 각 서비스에 대한 값을 입력합니다. 그런 다음 마법사는 인증서에 필요한 호스트 이름을 결정하며 정보는 다음 페이지에 표시됩니다.

  2. 서비스의 값을 수정하려면 편집 (편집 아이콘)을 선택하고 사용하려는 호스트 이름 값을 입력합니다(또는 값 삭제). 완료되면 다음을 선택합니다.

    참고

    인증서에 필요한 호스트 이름 값을 이미 결정한 경우 이 페이지의 정보를 작성할 필요가 없습니다. 대신 다음 을 선택하여 다음 페이지에서 호스트 이름을 수동으로 입력합니다.

선택한 항목에 따라 다음 도메인이 인증서 페이지에 포함됩니다. 이 페이지에는 인증서 요청에 포함될 호스트 이름이 나열됩니다. 인증서의 주체 상자에 사용되는 호스트 이름은 굵게 표시되므로 해당 호스트 이름이 선택되어 있는지 확인하기 어려울 수 있습니다.

  1. 이전 페이지에서 선택한 항목을 참조하여 인증서에 필요한 호스트 이름 항목을 확인합니다.

    인증서 요청에 포함할 호스트 이름 목록을 고려하지 않으려면 10단계로 이동합니다.

  2. 마지막 페이지에서 값을 무시하고 다음 단계를 수행하여 호스트 이름 값을 추가, 편집 또는 제거합니다. SAN 인증서를 원하는 경우: 인증서의 주체 필드에 대한 호스트 이름을 선택하려면 값을 선택하고 일반 이름으로 설정을 선택합니다(확인 표시). 이제 값이 굵게 표시됩니다. b. 단일 호스트 이름에 대한 인증서를 원하는 경우: 한 번에 하나씩 다른 값을 선택하고 제거 (제거 아이콘)를 선택합니다.

    참고

    인증서의 주체 상자에 사용할 굵은 호스트 이름 값은 삭제할 수 없습니다. 먼저 다른 호스트 이름을 선택하거나 추가한 다음 일반 이름으로 설정 상자를 선택해야 합니다. 뒤로 단추를 선택하면 이 페이지에서 변경한 내용이 손실될 수 있습니다.

  3. 조직에 대한 정보 지정 페이지에서 다음 값을 입력합니다.

  • 조직 이름
  • 부서 이름
  • 구/군/시
  • 시/도
  • 국가/지역 이름

참고

이러한 X.500 값은 인증서의 주체 상자에 포함됩니다. 계속 진행하려면 모든 필드에 값이 필요하지만 CA는 특정 필드(예: 부서 이름)에 대해 신경 쓰지 않을 수 있지만 다른 필드는 중요합니다(예: 국가/지역 이름조직 이름). CA의 주체 상자 요구 사항을 선택합니다.

  1. 완료되면 다음을 선택합니다.

  2. 인증서 요청을 다음 파일에 저장 페이지에서 인증서 요청에 대한 UNC 경로 및 파일 이름(예\\FileServer01\Data\ExchCertRequest.req: )을 입력합니다. 완료되면 마침을 선택합니다.

인증서 요청은 상태 값이 보류 중인 Exchange 인증서 목록에 표시됩니다. 다음 단계에 대한 자세한 내용은 다음 단계 섹션을 참조하세요.

Exchange 관리 셸을 사용하여 새 인증서 요청 만들기

와일드카드 인증서, SAN 인증서 또는 단일 호스트에 대한 인증서에 대한 새 요청을 만들려면 다음 구문을 사용합니다.

  • 인증서 요청 파일의 콘텐츠를 CA에 보내야 하는 경우 다음 구문을 사용하여 Base64로 인코딩된 요청 파일을 만듭니다.

    $txtrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest [-FriendlyName <DescriptiveName>] -SubjectName C=<CountryOrRegion>[,S=<StateOrProvince>,L=<LocalityOrCity>,O=<Organization>,OU=<Department>],CN=<HostNameOrFQDN> [-DomainName <Host1>,<Host2>...] [-KeySize <1024 | 2048 | 4096>] [-Server <ServerIdentity>]
    [System.IO.File]::WriteAllBytes('<FilePathOrUNCPath>\<FileName>.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))
    
  • 인증서 요청 파일을 CA로 보내야 하는 경우 다음 구문을 사용하여 DER로 인코딩된 요청 파일을 만듭니다.

    $binrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -BinaryEncoded [-FriendlyName <DescriptiveName>] -SubjectName C=<CountryOrRegion>[,S=<StateOrProvince>,L=<LocalityOrCity>,O=<Organization>,OU=<Department>],CN=<HostNameOrFQDN> [-DomainName <Host1>,<Host2>...] [-KeySize <1024 | 2048 | 4096>] [-Server <ServerIdentity>]
    [System.IO.File]::WriteAllBytes('<FilePathOrUNCPath>\<FileName>.pfx', $binrequest.FileData)
    

참고

X.500 SubjectName 매개 변수 값(인증서의 주체 상자)에서 명령을 실행하는 데 필요한 유일한 부분은 입니다 CN=<HostNameOrFQDN>. 하지만 항상 값을 포함 C=<CountryOrRegion> 해야 합니다. 그렇지 않으면 인증서를 갱신하지 못할 수 있습니다. CA의 주체 상자 요구 사항을 선택합니다. KeySize 매개 변수를 사용하지 않는 경우 인증서 요청에는 2048비트 RSA 공개 키가 있습니다. Server 매개 변수를 사용하지 않는 경우 명령은 로컬 Exchange 서버에서 실행됩니다.

구문과 매개 변수에 대한 자세한 내용은 New-ExchangeCertificate를 참조하십시오.

와일드카드 인증서 요청

다음 예제에서는 다음 속성을 사용하여 와일드카드 인증서에 대한 인증서 요청 파일을 만듭니다.

  • SubjectName: 값C=US,CN=*.contoso.com이 필요한 미국 *.contoso.com.
  • RequestFile: \\FileServer01\Data\Contoso Wildcard Cert.<cer or pfx>
  • FriendlyName: Contoso.com 와일드카드 인증서

와일드카드 인증서에 대한 Base64로 인코딩된 요청 파일을 만들려면 다음 명령을 실행합니다.

$txtrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -FriendlyName "Contoso.com Wildcard Cert" -SubjectName "C=US,CN=*.contoso.com"
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Contoso Wildcard Cert.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))

와일드카드 인증서에 대한 DER 인코딩 요청 파일을 만들려면 다음 명령을 실행합니다.

$binrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -BinaryEncoded -FriendlyName "Contoso.com Wildcard Cert" -SubjectName "C=US,CN=*.contoso.com"
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Contoso Wildcard Cert.pfx', $binrequest.FileData)

SAN 인증서 요청

다음 예제에서는 다음 속성을 사용하여 SAN 인증서에 대한 인증서 요청 파일을 만듭니다.

  • SubjectName: 값C=US,CN=mail.contoso.com이 필요한 미국 mail.contoso.com. 이 CN 값은 DomainName 매개 변수( 주체 대체 이름 필드)에 자동으로 포함됩니다.
  • 기타 주체 대체 이름 필드 값:
    • autodiscover.contoso.com
    • legacy.contoso.com
    • mail.contoso.net
    • autodiscover.contoso.net
    • legacy.contoso.net
  • RequestFile: \\FileServer01\Data\Contoso SAN Cert.<cer or pfx>
  • FriendlyName: Contoso.com SAN Cert
  • DomainName: 따옴표가 지정되지 않은 쉼표로 구분된 도메인 목록

SAN 인증서에 대한 Base64로 인코딩된 요청 파일을 만들려면 다음 명령을 실행합니다.

$txtrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -FriendlyName "Contoso.com SAN Cert" -SubjectName "C=US,CN=mail.contoso.com" -DomainName autodiscover.contoso.com,legacy.contoso.com,mail.contoso.net,autodiscover.contoso.net,legacy.contoso.net
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Contoso SAN Cert.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))

SAN 인증서에 대한 DER 인코딩 요청 파일을 만들려면 다음 명령을 실행합니다.

$binrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -BinaryEncoded -FriendlyName "Contoso.com SAN Cert" -SubjectName "C=US,CN=mail.contoso.com" -DomainName autodiscover.contoso.com,legacy.contoso.com,mail.contoso.net,autodiscover.contoso.net,legacy.contoso.net
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Contoso SAN Cert.pfx', $binrequest.FileData)

단일 주체 인증서 요청

다음 예제에서는 다음 속성을 사용하여 단일 주체 인증서에 대한 인증서 요청 파일을 만듭니다.

  • SubjectName: 값C=US,CN=mail.contoso.com이 필요한 미국 mail.contoso.com.
  • RequestFile: \\FileServer01\Data\Mail.contoso.com Cert.<cer or pfx>
  • FriendlyName: Mail.contoso.com 인증서

단일 주체 인증서에 대한 Base64로 인코딩된 요청 파일을 만들려면 다음 명령을 실행합니다.

$txtrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -FriendlyName "Mail.contoso.com Cert" -SubjectName "C=US,CN=mail.contoso.com"
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Mail.contoso.com Cert.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))

단일 주체 인증서에 대한 DER 인코딩 요청 파일을 만들려면 다음 명령을 실행합니다.

$binrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -BinaryEncoded -FriendlyName "Mail.contoso.com Cert" -SubjectName "C=US,CN=mail.contoso.com"
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Mail.contoso.com Cert.pfx', $binrequest.FileData)

이러한 명령이 작동했음을 어떻게 알 수 있나요?

새 인증서 요청을 성공적으로 만들 수 있는지 확인하려면 다음 단계 중 하나를 수행합니다.

  • 서버> 인증서의 EAC에서 인증서 요청을 저장한 서버가 선택되었는지 확인합니다. 요청은 Status 매개 변수의 값이 보류 중인 요청으로 설정된 인증서 목록에 있어야 합니다.

  • 인증서 요청을 저장한 서버의 Exchange 관리 셸에서 다음 명령을 실행합니다.

    Get-ExchangeCertificate | where {$_.Status -eq "PendingRequest" -and $_.IsSelfSigned -eq $false} | Format-List FriendlyName,Subject,CertificateDomains,Thumbprint
    

다음 단계

Base64로 인코딩된 인증서 요청 파일의 내용은 아래에 설명된 예제와 같습니다.

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIEBjCCAu4CAQAwYzEWMBQGA1UEAwwNKi5jb250b3NvLmNvbTELMAkGA1UECwwC
SVQxEDAOBgNVBAoMB0NvbnRvc28xEDAOBgNVBAcMB1NlYXR0bGUxCzAJBgNVBAgM
AldBMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
ANZFK6JxcQMEBitJcEC82vCvr6251o28CMmrpIkl7Z0MnkCrU+BMTLBuZnIgaLvb
jlzORvH6DP/dbyR8gQEAHVrXVWdr3AJIRbqQXWwN++BM5b2O6lIrA8w41XwGNu6r
dtddi+POf8UYwot7PXw6wDsbKaTs1ePVK/0XdemdJCFIXNfCT8LY4p/KryQAyquo
XDa+Acbx7TRxG2kXNAxgPGve+mvyCyizbugXAJIz4nugJ2k/X1kGYDc7f/b80tCv
bPTcGCr09ScsbKmsQcqJ7UxiX2tScpO5AQxNxJHGL+bA6+96FBjPnFZaqPbFgI74
N6hmZdSEDgQlaGfLEGjZBGMCAwEAAaCCAVwwGgYKKwYBBAGCNw0CAzEMFgo2LjEu
NzYwMS4yMEwGCSqGSIb3DQEJDjE/MD0wDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB
/wQCMAAwHQYDVR0OBBYEFNRw1o74zcuGyky33rl7WChgdQrlMHIGCisGAQQBgjcN
AgIxZDBiAgEBHloATQBpAGMAcgBvAHMAbwBmAHQAIABSAFMAQQAgAFMAQwBoAGEA
bgBuAGUAbAAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkA
ZABlAHIDAQAwfAYJKwYBBAGCNxUUMW8wbQIBBQwrRVhIUi0zMjQ4LkVYSFItMzI0
OGRvbS5leHRlc3QubWljcm9zb2Z0LmNvbQwXRVhIUi0zMjQ4RE9NXEVYSFItMzI0
OCQMIk1pY3Jvc29mdC5FeGNoYW5nZS5TZXJ2aWNlSG9zdC5leGUwDQYJKoZIhvcN
AQEFBQADggEBAL63qVj1m2mBz53+nilnlFweOlcltXoxaF28+Kf0hrJVbH5a2Jme
tS0iKU8YXU3mZ3NnWco+5ea024f9awMIzg4z/heE5yEUFf9UtwRGSOc84r2QexPa
zT/rveTTcbliKU0EFhporl3C2uuBCdAewyLj+/k0hABH3djnmMONG6NyC5f+wMun
kkH5naiSLdsTYbq8jkWYuSqL0qdhtmauqWeAPpA0hKDkQk5eDWpOGx3mgxiaQumo
Rqw6dmQ+o8TC+lE3Tvgdfv47A84X8H7Y9h8liS4h0OfbsgEQb8LcM0YHD6yvPgcD
JCmt8A7JFHF9u6mghjiKlXaZ/i+2l10Wsu8=
-----END NEW CERTIFICATE REQUEST-----

이 정보를 CA로 보내야 합니다. 보내는 방법은 CA에 따라 달라지지만 일반적으로 파일의 내용을 이메일 메시지 또는 CA 웹 사이트의 인증서 요청 양식으로 보냅니다.

CA에 DER로 인코딩된 이진 인증서 요청이 필요한 경우(BinaryEncoded 스위치와 함께 New-ExchangeCertificate cmdlet을 사용함) 일반적으로 전체 인증서 요청 파일을 CA로 보냅니다.

CA에서 인증서를 받은 후 보류 중인 인증서 요청을 완료해야 합니다. 자세한 내용은 보류 중인 Exchange Server 인증서 요청 완료를 참조하세요.