Exchange Server証明書を更新する
すべての証明書には、組み込みの有効期限があります。 Exchange Serverでは、Exchange サーバーにインストールされている既定の自己署名証明書は、Exchange がサーバーにインストールされてから 5 年後に期限切れになります。 Exchange 管理センター (EAC)、または Exchange 管理シェル を使用して、Exchange の証明書を更新できます。 Exchange の自己署名証明書、および証明機関 (CA) によって発行された証明書がこれに該当します。
注:
証明書管理タスクは、Exchange Server 2016 CU23 および Exchange Server 2019 CU12 の EAC から削除されます。 Exchange Management Shell プロシージャを使用して、これらのバージョンから証明書をエクスポートまたはインポートします。
はじめに把握しておくべき情報
予想所要時間 : 5 分
オンプレミスの Exchange 組織で Exchange 管理シェルを開く方法については、「 Open the Exchange Management Shell」をご覧ください。
CA によって発行された証明書の場合、CA の証明書要求の要件を確認します。 Exchange では、1024 ビット、2048 ビット (既定値)、4096 ビットの RSA 公開キーを使用して、Base64 エンコーディング (既定) または Distinguished Encoding Rules (DER) を使用する PKCS #10 要求 (.req) ファイルが生成されます。 エンコードと公開キーのオプションは Exchange 管理シェル だけで利用可能であることに注意してください。
CA によって発行された証明書を更新するには、証明書を発行した同じ CA で証明書を更新する必要があります。 CA を変更する場合、または証明書の更新時に元の証明書に問題がある場合、新しい証明書のために新しい証明書の要求 (証明書の署名要求または CSR とも呼ばれる) を作成する必要があります。 詳細については、「証明機関のExchange Server証明書要求を作成する」を参照してください。
サブスクライブしているエッジ トランスポート サーバーに対して CA から発行された証明書を更新または交換する場合は、古い証明書を削除してから、エッジ サブスクリプションを削除するか再作成する必要があります。 詳細については、「エッジ サブスクリプション プロセス」を参照してください。
この手順を実行する際には、あらかじめアクセス許可が割り当てられている必要があります。 必要なアクセス許可を確認するには、「クライアント とモバイル デバイスのアクセス許可 」トピックの「クライアント アクセス サービスのセキュリティ」エントリを参照してください。
このトピックの手順で使用可能なキーボード ショートカットについては、「Exchange 管理センターのキーボード ショートカット」を参照してください。
ヒント
問題がある場合は、 Exchange Server、Exchange Online、Exchange Online Protection。 必要な作業 シェルを使用して送信者フィルターを有効または無効にする
証明機関によって発行された証明書の更新
手順は、内部 CA (たとえば、Active Directory 証明書サービス)、または商用 CA によって発行された証明書の場合と同じです。
CA によって発行された証明書を更新するには、証明書の書き換え要求を作成して、CA に要求を送信します。 次いで CA によって実際の証明書ファイルが送信されるので、それを Exchange サーバーにインストールする必要があります。 手順は、サーバー上に証明書をインストールすることによって、新しい証明書の要求を完了する場合とほとんど同じです。 手順については、「保留中のExchange Server証明書要求を完了する」を参照してください。
EAC を使用して、証明機関への証明書の書き換え要求を作成する
EAC を開き、[サーバー証明書] に移動します>。
[サーバーの選択] リストで、更新する証明書を保持している Exchange サーバーを選択します。
すべての有効な証明書には、一覧から証明書を選択する際の詳細ウィンドウに、 [更新] リンクが表示されます。 更新する証明書を選択し、詳細ウィンドウの [更新] をクリックします。
[Exchange 証明書の更新] ページが開いたら、 [次のファイルにこの証明書要求を保存します] フィールドに、新しい証明書の書き換え要求ファイルの UNC パスとファイル名を入力します。 たとえば、「
\\FileServer01\Data\ContosoCertRenewal.req
」のように入力します。 完了したら、[OK] をクリックします。
証明書要求は、Exchange の証明書の一覧に、 [保留中] の状態で表示されます。
Exchange 管理シェル を使用して、証明機関への証明書の書き換え要求を作成する
証明機関の新しい証明書更新要求を作成するには、次の構文を使用します。
証明書更新要求ファイルの 内容 を CA に送信する必要がある場合は、次の構文を使用して Base64 でエンコードされた要求ファイルを作成します。
$txtrequest = Get-ExchangeCertificate -Thumbprint <Thumbprint> | New-ExchangeCertificate -GenerateRequest [-KeySize <1024 | 2048 | 4096>] [-Server <ServerIdentity>] [System.IO.File]::WriteAllBytes('<FilePathOrUNCPath>\<FileName>.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))
証明書の更新要求ファイルを CA に送信する必要がある場合は、次の構文を使用して DER でエンコードされた要求ファイルを作成します。
$binrequest = Get-ExchangeCertificate -Thumbprint <Thumbprint> | New-ExchangeCertificate -GenerateRequest -BinaryEncoded [-KeySize <1024 | 2048 | 4096>] [-Server <ServerIdentity>] [System.IO.File]::WriteAllBytes('<FilePathOrUNCPath>\<FileName>.pfx', $binrequest.FileData)
更新する証明書の拇印の値を表示するには、次のコマンドを実行します。
Get-ExchangeCertificate | where {$_.Status -eq "Valid" -and $_.IsSelfSigned -eq $false} | Format-List FriendlyName,Subject,CertificateDomains,Thumbprint,NotBefore,NotAfter
構文とパラメーターの詳細については、「 Get-ExchangeCertificate 」と 「New-ExchangeCertificate」を参照してください。
注:
- KeySize パラメーターを使用しない場合、証明書要求には 2048 ビットの RSA 公開キーがあります。
- Server パラメーターを使用しない場合、コマンドはローカル Exchange サーバーを実行します。
次の使用例は、拇印の値 5DB9879E38E36BCB60B761E29794392B23D1C054
を持つ既存の証明書の Base64 でエンコードされた証明書の更新要求を作成します。
$txtrequest = Get-ExchangeCertificate -Thumbprint 5DB9879E38E36BCB60B761E29794392B23D1C054 | New-ExchangeCertificate -GenerateRequest
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\ContosoCertRenewal.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))
この例では、同じ証明書に対して DER (バイナリ) でエンコードされた証明書の更新要求を作成します。
$binrequest = Get-ExchangeCertificate -Thumbprint <Thumbprint> | New-ExchangeCertificate -GenerateRequest -BinaryEncoded
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\ContosoCertRenewal.pfx', $binrequest.FileData)
証明書の更新要求が正常に作成されたことを知る方法
証明機関への証明書の書き換え要求が正常に作成されたことを確認するには、次のいずれかの手順を実行します。
EAC の [サーバー証明書]> で、証明書要求を保存したサーバーが選択されていることを確認します。 要求は、証明書のリストで [状態] 値が [保留中の要求] となって表示されているはずです。
証明書の要求を格納したサーバーの Exchange 管理シェル で、次のコマンドを実行します。
Get-ExchangeCertificate | where {$_.Status -eq "PendingRequest" -and $_.IsSelfSigned -eq $false} | Format-List FriendlyName,Subject,CertificateDomains,Thumbprint
Exchange の自己署名証明書を更新する
Exchange の自己署名証明書を更新するとき、基本的には新しい証明書を作成することになります。
EAC を使用して、Exchange の自己署名証明書を更新する
EAC を開き、[サーバー証明書] に移動します>。
[サーバーの選択] リストで、更新する証明書を保持している Exchange サーバーを選択します。
すべての有効な証明書には、一覧から証明書を選択する際の詳細ウィンドウに、 [更新] リンクが表示されます。 更新する証明書を選択し、詳細ウィンドウの [更新] をクリックします。
[Exchange 証明書の更新] ページが開いたら、既存の証明書が割り当てられている Exchange サービスの読み取り専用の一覧を確認し、 [OK] をクリックします。
Exchange 管理シェル を使用してExchange の自己署名証明書を更新する
自己署名証明書を更新するには、次の構文を使用します。
Get-ExchangeCertificate -Thumbprint <Thumbprint> | New-ExchangeCertificate [-Force] [-PrivateKeyExportable <$true | $false>]
更新する証明書の拇印の値を表示するには、次のコマンドを実行します。
Get-ExchangeCertificate | where {$_.IsSelfSigned -eq $true} | Format-List FriendlyName,Subject,CertificateDomains,Thumbprint,NotBefore,NotAfter
この例では、ローカルの Exchange サーバー上の自己署名証明書を更新し、次の設定を使用します。
- 更新する既存の自己署名証明書の拇印の値は、
BC37CBE2E59566BFF7D01FEAC9B6517841475F2D
- Force スイッチは、確認プロンプトなしで元の自己署名証明書を置き換えます。
- 秘密キーはエクスポート可能です。 これにより、証明書をエクスポートし、他のサーバーでインポートできます。
Get-ExchangeCertificate -Thumbprint BC37CBE2E59566BFF7D01FEAC9B6517841475F2D | New-ExchangeCertificate -Force -PrivateKeyExportable $true
Exchange 自己署名証明書が正常に更新されたことを知る方法を教えてください。
Exchange の自己署名証明書が正常に更新されたことを確認するには、次のいずれかの手順を使用します。
EAC の [サーバー証明書]> で、証明書をインストールしたサーバーが選択されていることを確認します。 証明書の一覧で、証明書の [状態] プロパティの値が [有効] であることを確認します。
自己署名証明書を更新したサーバーの Exchange 管理シェル で、次のコマンドを実行してプロパティの値を確認します。
Get-ExchangeCertificate | where {$_.Status -eq "Valid" -and $_.IsSelfSigned -eq $true} | Format-List FriendlyName,Subject,CertificateDomains,Thumbprint,NotBefore,NotAfter
重要
証明書にサービスを削除、更新、または割り当てると、Exchange バックエンドと既定の Web サイトから証明書を削除できます。 証明書のバインドをチェックし、正しい証明書を適用することが重要です。
その他のリソース
自己署名証明書が Exchange バックエンド Web サイトから削除された後、OWA、ECP、EMS を開くことができません