New-ExchangeCertificate

 

적용 대상:Exchange Server 2016

마지막으로 수정된 항목:2016-05-24

이 cmdlet은 온-프레미스 Exchange Server 2016에서만 제공됩니다.

New-ExchangeCertificate cmdlet을 사용하여 자체 서명된 인증서를 만들고 갱신하며, CA(인증 기관)에서 새 인증서와 인증서 갱신에 대한 인증서 요청(인증서 서명 요청 또는 CSR이라고도 함)을 만듭니다.

아래 구문 섹션에 있는 매개 변수 집합에 대한 자세한 내용은 Exchange cmdlet 구문을 참조하세요.

New-ExchangeCertificate [-BinaryEncoded <SwitchParameter>] [-GenerateRequest <SwitchParameter>] [-RequestFile <String>] <COMMON PARAMETERS>
New-ExchangeCertificate [-Services <None | IMAP | POP | UM | IIS | SMTP | Federation | UMCallRouter>] <COMMON PARAMETERS>
COMMON PARAMETERS: [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-DomainName <MultiValuedProperty>] [-Force <SwitchParameter>] [-FriendlyName <String>] [-IncludeAcceptedDomains <SwitchParameter>] [-IncludeAutoDiscover <SwitchParameter>] [-IncludeServerFQDN <SwitchParameter>] [-IncludeServerNetBIOSName <SwitchParameter>] [-Instance <X509Certificate2>] [-KeySize <Int32>] [-PrivateKeyExportable <$true | $false>] [-Server <ServerIdParameter>] [-SubjectKeyIdentifier <String>] [-SubjectName <X500DistinguishedName>] [-WhatIf [<SwitchParameter>]]

이 예에서는 다음 설정을 사용하여 자체 서명된 인증서를 만듭니다.

  • Subject 값은 CN=<ServerName>입니다(예: CN=Mailbox01).

  • Domains(주체 대체 이름) 값은 <ServerName>, <ServerFQDN>입니다(예: Mailbox01,Mailbox01.contoso.com).

  • Services 값은 IMAP,POP,SMTP입니다.

  • Services 값에는 SMTP가 포함되어 있으므로 다음이 적용됩니다.

    • 네트워크 서비스 로컬 보안 그룹에 인증서의 개인 키에 대한 읽기 액세스 권한이 부여됩니다.

    • 인증서는 Active Directory에 게시되므로 Exchange 직접 신뢰를 통해 상호 TLS용 서버의 신뢰성을 확인할 수 있습니다. 이것은 Subject 값에 서버 이름이 포함되기 때문입니다.

New-ExchangeCertificate
note참고:
Exchange 설치 중에 만들어진 기존의 자체 서명된 인증서를 대신 이 인증서를 사용하려는 경우가 아니면 기존의 기본 SMTP 인증서를 덮어쓸지 묻는 메시지에서 “아니요”를 선택해야 합니다.

이 예에서는 다음 설정을 갖는 인증 기관에 대한 새 인증서 요청을 만듭니다.

  • 요청은 Base64로 인코딩됩니다.

  • 출력이 화면에 표시되고 텍스트 파일 C:\Cert Requests\woodgrovebank.req에도 기록됩니다.

  • Subject 값은 c=US,o=Woodgrove Bank,cn=mail.woodgrovebank.com입니다.

  • Domains(주체 대체 이름) 값에는 추가로 additional values autodiscover.woodgrovebank.com, mail.fabrikam.com 및 autodiscover.fabrikam.com 값이 포함됩니다.

New-ExchangeCertificate -GenerateRequest -RequestFile "C:\Cert Requests\woodgrovebank.req" -SubjectName "c=US,o=Woodgrove Bank,cn=mail.woodgrovebank.com" -DomainName autodiscover.woodgrovebank.com,mail.fabrikam.com,autodiscover.fabrikam.com 

인증서 요청을 만든 후 CA로 출력을 보냅니다. CA에서 인증서를 받은 후 Import-ExchangeCertificate cmdlet을 사용하여 인증서를 설치하고 Enable-ExchangeCertificate cmdlet을 사용하여 Exchange 서비스에 인증서를 할당하니다.

note참고:
CA에 DER로 인코딩된 인증서 요청이 필요하면 BinaryEncoding 스위치를 사용합니다.

이 예에서는 지문 값이 있는 기존의 자체 서명된 인증서를 갱신합니다. c4248cd7065c87cb942d60f7293feb7d533a4afc. 사용자는 Get-ExchangeCertificate cmdlet을 사용하여 지문 값을 찾을 수 잆습니다. 이제 PrivateKeyExportable 매개 변수를 $true 값으로 설정하면 갱신된 자동 서명된 인증서를 서버에서 내보내고 다른 서버에 가져올 수 있습니다.

Get-ExchangeCertificate -Identity c4248cd7065c87cb942d60f7293feb7d533a4afc | New-ExchangeCertificate -PrivateKeyExportable $true

이 예에서는 인증 기관에서 발급한 기존 인증서를 갱신하라는 요청을 만듭니다. 인증서 요청에는 다음과 같은 설정이 있습니다.

  • 기존 인증서의 지문 값은 8A141F7F2BBA8041973399723BD2598D2ED2D831입니다. Get-ExchangeCertificate cmdlet을 사용하여 지문 값을 찾을 수 있습니다.

  • 요청은 Base64로 인코딩됩니다.

  • 출력이 화면에 표시되고 텍스트 파일 C:\Cert Requests\fabrikam_renewal.req에도 기록됩니다.

Get-ExchangeCertificate -Identity 8A141F7F2BBA8041973399723BD2598D2ED2D831 | New-ExchangeCertificate -GenerateRequest -RequestFile "C:\Cert Requests\fabrikam_renewal.req"

인증서 갱신 요청을 만든 후 CA로 출력을 보냅니다. CA에서 갱신된 인증서를 받은 후에 Import-ExchangeCertificate cmdlet을 사용하여 인증서를 설치합니다.

Exchange에서는 SSL 및 TLS 암호화에 대해 인증서를 사용합니다.

note참고:
TLS(전송 계층 보안)가 컴퓨터 시스템 간에 전송되는 데이터를 암호화하는 데 사용되는 프로토콜로 SSL(Secure Sockets Layer) 대신 사용됩니다. 이 두 개념은 매우 밀접하게 관련되어 있으므로 용어 "SSL" 및 "TLS"(버전 제외)는 상호 교환해서 사용되는 경우가 많습니다 이러한 유사성 때문에 Exchange 항목, Exchange 관리 센터 및 Exchange 관리 셸에서 “SSL”이 SSL 및 TLS 프로토콜을 모두 포괄하는 의미로 사용되어 왔습니다. 일반적으로 "SSL"은 버전이 함께 제공되는 경우에만 실제 SSL 프로토콜을 나타냅니다(예: SSL 3.0). SSL 프로토콜을 사용하지 않도록 설정하고 TLS로 전환해야 이유를 확인하려면 SSL 3.0 취약점으로부터 보호를 참조하세요.

이 cmdlet을 실행하려면 먼저 사용 권한을 할당받아야 합니다. 이 cmdlet의 모든 매개 변수가 이 항목에 나열되지만 사용자에게 할당된 사용 권한에 포함되지 않은 일부 매개 변수에는 액세스할 수 없습니다. 필요한 사용 권한을 확인하려면 다음을 참조하세요.Exchange 인프라 및 PowerShell 사용 권한의 "인증서 관리" 항목

 

매개 변수 필수 종류 설명

BinaryEncoded

선택

System.Management.Automation.SwitchParameter

BinaryEncoded 스위치는 DER(Distinguished Encoding Rule)를 사용하여 새 인증서 요청을 인코딩할지 여부를 지정합니다. 이 스위치를 사용하여 값을 지정할 필요가 없습니다.

이 스위치를 사용하지 않는 경우 요청이 Base64로 인코딩됩니다.

이 스위치는 GenerateRequest 스위치를 사용하는 경우에만 사용할 수 있습니다.

Base 64 인코딩 요청의 경우 파일의 내용을 인증 기관으로 보냅니다. DER로 인코딩된 요청의 경우 인증서 파일 자체를 보냅니다.

Confirm

선택

System.Management.Automation.SwitchParameter

Confirm 스위치는 확인 메시지를 표시할지 여부를 지정합니다. 이 스위치가 cmdlet에 영향을 미치는 방식은 계속하기 전에 cmdlet이 확인을 요구하는지에 따라 달라집니다.

  • 파괴적인 cmdlet(예: Remove-* cmdlet)에는 계속하기 전에 명령을 강제로 승인하도록 하는 일시 중지 기능이 기본 제공되어 있습니다. 이러한 cmdlet의 경우 정확한 구문 -Confirm:$false를 사용하여 확인 메시지를 건너뛸 수 있습니다.

  • 대부분의 다른 cmdlet(예: New-*Set-* cmdlet)에는 일시 중지 기능이 기본 제공되어 있지 않습니다. 이러한 cmdlet의 경우 값 없이 Confirm 스위치를 지정하면 계속하기 전에 명령을 강제로 확인하도록 하는 일시 중지가 추가됩니다.

DomainController

옵션

Microsoft.Exchange.Data.Fqdn

DomainController 매개 변수는 Active Directory에서 데이터를 읽거나 데이터를 쓰기 위해 이 cmdlet이 사용하는 도메인 컨트롤러를 지정합니다. FQDN(정규화 된 도메인 이름)으로 도메인 컨트롤러를 식별합니다. 예: dc01.contoso.com

DomainController 매개 변수는 Edge 전송 서버에서 지원되지 않습니다. Edge 전송 서버는 AD LDS(Active Directory Lightweight Directory Service)의 로컬 인스턴스를 사용하여 데이터를 읽고 씁니다.

DomainName

옵션

Microsoft.Exchange.Data.MultiValuedProperty

DomainName 매개 변수는 인증서 요청이나 자체 서명된 인증서의 Subject Alternative Name 필드(주체 대체 이름 또는 SAN 필드로도 알려져 있음)에 대해 하나 이상의 FQDN 또는 서버 이름을 지정합니다.

인증서의 Subject 필드 값이 대상 서버 이름이나 FQDN과 일치하지 않으면 요청자는 Subject Alternative Name 필드에서 일치하는 항목을 찾습니다.

일반적으로 값에는 서버 이름(예: Mailbox01) 및 FQDN(예: mail.contoso.com)이 포함됩니다. 쉼표로 구분하여 여러 값을 지정할 수 있습니다. 값에는 a~z, 0-9 및 하이픈(-) 문자를 사용할 수 있습니다. 도메인 이름 길이는 255자를 초과할 수 없습니다.

기본값에는 다음 두 가지 조건이 모두 적용될 때 Exchange 서버의 이름 및 FQDN이 포함됩니다.

  • 이 매개 변수는 사용하지 마세요.

  • 다음 매개 변수는 사용하지 않습니다.

    IncludeAcceptedDomains

    IncludeAutoDiscover

    IncludeServerFQDN

    IncludeServerNetBIOSName

Force

선택

System.Management.Automation.SwitchParameter

Force 스위치는 경고 또는 확인 메시지를 생략할지 여부를 지정합니다. 관리 입력에 대한 확인 메시지를 표시하는 것이 부적절한 경우 이 스위치를 사용하여 작업을 프로그래밍 방식으로 실행할 수 있습니다. 이 스위치를 사용하여 값을 지정할 필요가 없습니다.

기본적으로 SMTP에 사용되는 자체 서명된 인증서를 만들 때(Services 매개 변수 또는 Services 매개 변수에는 값 SMTP가 없음) 기존의 기본 SMTP 인증서를 만드는 새 값으로 바꾸라는 메시지가 표시됩니다. Force 스위치를 사용하는 경우 묻지 않고 새 SMTP 인증서가 자동으로 기존 SMTP 인증서를 대체합니다.

FriendlyName

선택

System.String

FriendlyName 매개 변수는 인증서 요청 또는 자체 서명된 인증서의 표시 이름을 지정합니다. 이 값은 64자 미만이어야 합니다.

기본값은 Microsoft Exchange입니다.

GenerateRequest

선택

System.Management.Automation.SwitchParameter

GenerateRequest 스위치는 CA(인증 기관)에 대한 인증서 요청을 만들 것임을 지정합니다. 이 스위치를 사용하여 값을 지정할 필요가 없습니다.

이 스위치와 RequestFile 매개 변수를 함께 사용하면 CA에 보내는 PKCS #10 인증서 요청이 생성됩니다. 정보를 보내는 방법은 CA마다 다르지만 일반적으로 Base64 인코딩 요청의 경우 전자 메일 메시지나 CA 웹 사이트의 요청 양식에 해당 콘텐츠를 붙여 넣습니다.

Import-ExchangeCertificate cmdlet을 사용하여 인증 기관에서 인증서를 설치한 후에는 Enable-ExchangeCertficate cmdlet을 사용하여 Exchange 서비스에 대해 인증서를 사용하도록 설정합니다.

이 스위치를 사용하지 않으면 해당 명령은 Exchange 서버에 새 자체 서명된 인증서를 만듭니다.

IncludeAcceptedDomains

선택

System.Management.Automation.SwitchParameter

IncludeAcceptedDomains 스위치는 인증서 요청 또는 자체 서명된 인증서의 Subject Alternative Name 필드에 Exchange 조직의 모든 허용 도메인을 포함하도록 지정합니다. 이 스위치를 사용하여 값을 지정할 필요가 없습니다.

이 스위치를 사용하는 경우:

  • DomainName 매개 변수에 허용 도메인을 이미 포함한 경우 해당 값이 Subject Alternative Name 필드에서 중복되지 않습니다.

  • 새 자체 서명된 인증서의 경우 Services 매개 변수를 사용하지 않으면 인증서가 SMTP에만 할당됩니다.

IncludeAutoDiscover

선택

System.Management.Automation.SwitchParameter

IncludeAutoDiscover 스위치는 Exchange 조직에서 허용된 각 도메인에 대해 접두사가 autodiscoverSubject Alternative Name 값을 추가할지 여부를 지정합니다. 이 스위치를 사용하여 값을 지정할 필요가 없습니다.

예를 들어 조직에서 도메인 woodgrovebank.comwoodgrovebank.co.uk를 허용한 경우 이 스위치를 사용하면 다음 값이 Subject Alternative Name 필드에 추가됩니다.

  • autodiscover.woodgrovebank.com

  • autodiscover.woodgrovebank.co.uk

이 스위치를 사용하는 경우:

  • DomainName 매개 변수에 autodiscover.<AcceptedDomain> 값을 이미 포함한 경우 해당 값이 Subject Alternative Name 필드에서 중복되지 않습니다.

  • 새 자체 서명된 인증서의 경우 Services 매개 변수를 사용하지 않으면 인증서가 SMTP에만 할당됩니다.

IncludeServerFQDN

선택

System.Management.Automation.SwitchParameter

IncludeServerFQDN 스위치는 새 인증서 요청 또는 자체 서명된 인증서의 Subject Alternative Name 필드에 Exchange 서버의 FQDN이 포함되도록 지정합니다. 이 스위치를 사용하여 값을 지정할 필요가 없습니다.

이 스위치를 사용하며 DomainName 매개 변수에 서버의 FQDN을 이미 포함한 경우 해당 값이 Subject Alternative Name 필드에서 중복되지 않습니다.

IncludeServerNetBIOSName

선택

System.Management.Automation.SwitchParameter

IncludeServerNetBIOSName 스위치는 새 인증서 요청 또는 자체 서명된 인증서의 Subject Alternative Name 필드에 Exchange 서버의 NetBIOS 이름이 포함되도록 지정합니다. 이 스위치를 사용하여 값을 지정할 필요가 없습니다.

이 스위치를 사용하며 DomainName 매개 변수에 서버의 NetBIOS 이름을 이미 포함한 경우 해당 값이 Subject Alternative Name 필드에서 중복되지 않습니다.

Instance

선택

System.Security.Cryptography.X509Certificates.X509Certificate2

Instance 매개 변수는 더 이상 사용되지 않습니다.

KeySize

옵션

System.Int32

KeySize 매개 변수는 새 인증서 요청 또는 자체 서명된 인증서에 연결된 RSA 공개 키의 크기(비트)를 지정합니다. 사용할 수 있는 값은 다음과 같습니다.

  • 1024

  • 2048   이 값은 기본값입니다.

  • 4096

PrivateKeyExportable

선택

System.Boolean

PrivateKeyExportable 매개 변수는 새 자체 서명된 인증서에 내보낼 수 있는 개인 키가 있는지 여부를 지정하고 이 서버에서 인증서를 내보내고 다른 서버에서 해당 인증서를 가져올 수 있는지 여부를 제어합니다. 사용할 수 있는 값은 다음과 같습니다.

  • $true   개인 키를 내보낼 수 있으므로 이 서버에서 인증서를 내보낼 수 있습니다.

  • $false   개인 키를 내보낼 수 없으므로 인증서를 내보낼 수 없습니다. 이 값은 기본값입니다.

이 매개 변수는 자체 서명된 새 인증서에만 의미가 있습니다.

RequestFile

선택

System.String

RequestFile 매개 변수는 인증서 요청 파일의 이름 및 경로를 지정합니다. 이 파일에는 Base64로 인코딩된 인증서 요청을 생성할 때(BinaryEncoded 스위치 사용 안 함) 화면에 표시된 것과 동일한 정보가 포함됩니다.

UNC 경로(\\<Server>\<Share>) 또는 로컬 경로를 사용할 수 있습니다. 값에 공백이 포함되어 있으면 값을 큰따옴표(")로 묶습니다.

GenerateRequest 스위치를 사용하는 경우에만 이 매개 변수를 사용할 수 있습니다.

Server

선택

Microsoft.Exchange.Configuration.Tasks.ServerIdParameter

Server 매개 변수는 이 명령을 실행하려는 Exchange 서버를 지정합니다. 서버를 고유하게 식별하는 모든 값을 사용할 수 있습니다. 예를 들면 다음과 같습니다.

  • 이름

  • FQDN

  • DN(고유 이름)

  • Exchange 레거시 DN

이 매개 변수를 사용하지 않으면 로컬 서버에서 명령이 실행됩니다.

Services

옵션

Microsoft.Exchange.Management.SystemConfigurationTasks.AllowedServices

Services 매개 변수는 새 자체 서명된 인증서를 사용할 수 있는 Exchange 서비스를 지정합니다. 사용할 수 있는 값은 다음과 같습니다.

  • None   나중에 Enable-ExchangeCertificate cmdlet을 사용하여 Exchange 서비스에 대한 인증서를 사용하도록 설정할 수 있습니다.

  • 페더레이션

  • IIS

  • IMAP   IMAP4 서비스에 대해 와일드카드 인증서를 사용하지 말고, 대신 Set-ImapSettings cmdlet을 사용하여 클라이언트가 IMAP4 서비스에 연결하는 데 사용하는 FQDN을 구성합니다.

  • POP   POP3 서비스에 대해 와일드카드 인증서를 사용하지 말고, 대신 Set-PopSettings cmdlet을 사용하여 클라이언트가 POP3 서비스에 연결하는 데 사용하는 FQDN을 구성합니다.

  • SMTP   인증서를 SMTP에 대해 사용하도록 설정하면 내부 Exchange 간에 SMTP 트래픽을 암호화하는 데 사용되는 기본 Exchange 자체 서명된 인증서를 바꾸라는 메시지가 표시됩니다. 확인 메시지 없이 기본 인증서를 교체하려는 경우 Force 스위치를 사용합니다.

  • UM   이 값을 사용하려면 Set-UMService cmdlet의 UMStartupMode 매개 변수를 TLS 또는 Dual로 설정해야 합니다. UMStartupMode 매개 변수가 기본값 TCP로 설정되면 인증서를 UM 서비스에 대해 사용하도록 설정할 수 없습니다.

  • UMCallRouter   이 값을 사용하려면 Set-UMCallRouterService cmdlet의 UMStartupMode 매개 변수를 TLS 또는 Dual로 설정해야 합니다. UMStartupMode 매개 변수가 기본값 TCP로 설정되면 인증서를 UM 호출 라우터 서비스에 대해 사용하도록 설정할 수 없습니다.

쉼표로 구분하여 여러 값을 지정할 수 있습니다. 기본값은 IMAP, POPSMTP입니다.

GenerateRequest 스위치와 함께 이 매개 변수를 사용할 수 없습니다.

note참고:
서비스에 대해 인증서를 사용하도록 설정한 후에는 인증서에서 서비스를 제거할 수 없습니다.

SubjectKeyIdentifier

선택

System.String

SubjectKeyIdentifier 매개 변수는 새 자체 서명된 인증서에 대해 고유한 주체 키 식별자를 지정합니다. 예를 들어 명령 $ski = [System.Guid]::NewGuid().ToString("N")을 실행하고 이 매개 변수에 대해 $ski 값을 사용합니다.

SubjectName

옵션

System.Security.Cryptography.X509Certificates.X500DistinguishedName

SubjectName 매개 변수는 인증서 요청이나 자체 서명된 인증서의 Subject 필드를 지정합니다.

모든 인증서에는 Subject 필드 값이 필요하며 하나의 값만 허용됩니다. 요청자는 주체의 CN(일반 이름) 값과 일치하는 대상 서버 이름이나 FQDN을 찾으려고 합니다.

이 매개 변수는 [C=<CountryOrRegion>,S=<StateOrProvince>,L=LocalityOrCity,O=<Organization>,OU=<Department>],CN=<HostNameOrFQDN> 구문을 사용합니다. 유일한 필수 값은 CN=<HostNameOrFQDN>이지만 인증서 요청에 대해 항상 C=<CountryOrRegion>을 포함해야 합니다. 그렇지만 인증 기관에 다른 값을 요구할 수도 있습니다.

예를 들어 인증서의 주체가 미국의 mail.contoso.com이 되게 하려면 다음 값 중 하나를 사용할 수 있습니다.

  • C=US,S=WA,L=Redmond,O=Contoso,OU=IT,CN=mail.contoso.com

  • C=US,O=Contoso,CN=mail.contoso.com

  • C=US,CN=mail.contoso.com

이 매개 변수를 사용하지 않으면 기본값은 명령을 실행하는 Exchange 서버의 이름입니다(예: CN=Mailbox01).

SAN(주체 대체 이름) 인증서의 경우 DomainName 매개 변수에서 SubjectName 값에서 사용할 값 중 하나를 선택해야 합니다. 실제로 SubjectName에 대해 지정하는 CN 값은 DomainName 값에 자동으로 포함됩니다.

와일드카드 인증서의 경우 와일드카드 문자(*)를 포함하는 SubjectName 값을 사용합니다. 예: C=US,CN=*.contoso.com

WhatIf

선택

System.Management.Automation.SwitchParameter

WhatIf 스위치는 해당 명령의 동작을 시뮬레이션합니다. 이 스위치를 사용하면 변경 내용을 실제로 적용하지 않고 발생할 변경 내용을 확인할 수 있습니다. 이 스위치를 사용하여 값을 지정할 필요가 없습니다.

이 cmdlet이 수락하는 입력 형식을 보려면 Cmdlet 입출력 형식을 참조하세요. cmdlet의 입력 형식 필드가 비어 있을 경우 cmdlet은 입력 데이터를 수락하지 않습니다.

이 cmdlet이 수락하는 반환 형식(출력 형식이라고도 함)을 보려면 Cmdlet 입출력 형식을 참조하세요. 출력 형식 필드가 비어 있는 경우 cmdlet은 데이터를 반환하지 않습니다.

 
표시: