次の方法で共有


SharePoint Server の STS 証明書を置き換える

適用対象:yes-img-13 2013yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

このトピックでは、SharePoint ファームの SharePoint セキュリティ トークン サービス (STS) 証明書を置き換える方法について説明します。

証明書の要件

信頼できる証明機関から証明書を購入し、セルフホステッド PKI インフラストラクチャ (Active Directory Certificate Services など) から新しい証明書を作成するか、自己署名証明書 ( certreq.exe または New-SelfSignedCertificateを使用して作成) を作成します。 証明書は 2048 ビット暗号化以上を使用している必要があります。

STS 証明書を置き換えるには、公開証明書 (CER) と公開を秘密キー証明書 (PFX) と証明書のフレンドリ名で置き換える必要があります。

SharePoint Timer Service (SPTimerV4) を再起動する必要がある場合は、メンテナンス期間中に証明書を交換する必要があります。

パブリック証明書と既定では、プライベート証明書は、指定された有効期間に応じて 1 年から 3 年以内に期限切れになります。証明書に更新が必要な場合は、この手順に従う必要があります。

注:

既定の STS 証明書を更新する必要はありません。 更新は、STS 証明書が置き換えられた後にのみ適用されます。

Self-Signed 証明書の作成

自己署名証明書を作成するには、作成方法を選択し、次の手順に従います。

ヒント

共通名と DNS 名は、任意の値に設定できます。

注:

証明書の秘密キーとパスワードは機密性が高い。 強力なパスワードを使用し、PFX ファイルを安全に保存します。

New-SelfSignedCertificate

New-SelfSignedCertificate -DnsName 'sts.contoso.com' -KeyLength 2048 -FriendlyName 'SharePoint STS Certificate' -CertStoreLocation 'cert:\LocalMachine\My' -KeySpec KeyExchange
$password = ConvertTo-SecureString "P@ssw0rd1!" -Force -AsPlainText
$cert = Get-ChildItem "cert:\localmachine\my" | ?{$_.Subject -eq "CN=sts.contoso.com"}
Export-PfxCertificate -Cert $cert -Password $password -FilePath C:\sts.pfx
Export-Certificate -Cert $cert -Type CERT -FilePath C:\sts.cer

この例では、DNS 名が 'sts.contoso.com' で共通名が 'CN=sts.contoso.com' の新しい証明書を作成します。 共通名は、 New-SelfSignedCertificate コマンドレットによって自動的に設定されます。 セキュリティで保護されたパスワードを使用して、PFX (sts.pfx) とパブリック証明書 (sts.cer) をエクスポートします。

Certreq

証明書の新しいファイル request.inf を作成します。 次の例から必要に応じてサブジェクトを調整します。

[Version]
Signature="$Windows NT$

[NewRequest]
FriendlyName = "SharePoint STS Certificate"
Subject = "CN=sts.contoso.com"
KeyLength = 2048
KeyAlgorithm = RSA
KeyUsage = "CERT_KEY_ENCIPHERMENT_KEY_USAGE | CERT_DIGITAL_SIGNATURE_KEY_USAGE"
KeySpec = "AT_KEYEXCHANGE"
MachineKeySet = true
RequestType = Cert
ExportableEncrypted = true

[Strings]
szOID_ENHANCED_KEY_USAGE = "2.5.29.37"
szOID_PKIX_KP_SERVER_AUTH = "1.3.6.1.5.5.7.3.1"
szOID_PKIX_KP_CLIENT_AUTH = "1.3.6.1.5.5.7.3.2"

[Extensions]
%szOID_ENHANCED_KEY_USAGE%="{text}%szOID_PKIX_KP_SERVER_AUTH%,"
_continue_ = "%szOID_PKIX_KP_CLIENT_AUTH%"

管理者特権のコマンド プロンプトから、次のコマンドを実行して、ローカル コンピューター ストアに証明書を作成してインストールします。 証明書がインストールされると、保存ダイアログが表示されます。 [名前を付けて保存] の種類を Certificate Files に変更し、ファイルを C:\sts.cerとして保存します。

certreq -new request.inf
certutil -store My "sts.contoso.com"

2 番目のコマンドから SerialNumber 出力をコピーし、次のコマンドで使用します。 <SerialNumber> を実際の値に置き換えます。

certutil -exportPFX -p "P@ssw0rd1!" CA <SerialNumber> C:\sts.pfx

最初の手順では、上記の要求に基づいて証明書を作成します。 2 番目の手順では、新しい証明書のシリアル番号を見つけることができます。 最後に、最後の手順では、パスワードで保護された PFX に証明書をエクスポートします。

STS 証明書の置き換え

この手順は、ファーム内のすべてのサーバーで実行する必要があります。 最初の手順は、PFX をローカル コンピューター ストアの信頼されたルート証明機関コンテナーにインポートすることです。

Import-PfxCertificate

Import-PfxCertificateを使用して PFX をインポートするには、例に従います。

$password = Get-Credential -UserName "certificate" -Message "Enter password"
Import-PfxCertificate -FilePath C:\sts.pfx -CertStoreLocation Cert:\LocalMachine\Root -Password $password.Password

この例では、まず資格情報を作成します。 この例ではユーザー名は使用されませんが、設定する必要があります。 パスワードは、エクスポートされた PFX パスワードの値になります。この例では、"P@ssw0rd1!"。

Certutil

certutil -f -p "P@ssw0rd1!" -importpfx Root C:\sts.pfx

この例では、 certutilを使用して PFX ファイルをインポートし、PFX をエクスポートし、ローカル コンピューター ストアの信頼されたルート証明機関コンテナーにインポートするときに使用するパスワードを指定します。

SharePoint の STS 証明書を置き換える

ファーム内のすべての SharePoint サーバーに PFX がインポートされたら、STS で使用されている証明書を置き換える必要があります。 この操作を実行するには、SharePoint シェル管理者である必要があります (SharePoint シェル管理者を追加する方法の詳細については、「 Add-SPShellAdmin 」を参照してください)。

SharePoint 管理シェルを使用して、PFX ファイルへのパスを指定し、パスワードを設定し、新しい証明書を使用するように STS を設定し、IIS を再起動し、最後に SharePoint Timer Service (SPTimerV4) を再起動します。

$path = 'C:\sts.pfx'
$pass = 'P@ssw0rd1!'
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($path, $pass, 20)
Set-SPSecurityTokenServiceConfig -ImportSigningCertificate $cert
iisreset
Restart-Service SPTimerV4

ファーム内のすべての SharePoint サーバーで前の手順を完了します。 これで、STS 証明書の交換プロセスが完了します。 ハイブリッド ファームを使用している場合は、「 Microsoft 365 SharePoint サイトを使用して、オンプレミスの SharePoint サイトでプロバイダーホスト型アドインを承認 する」を参照して、STS 証明書を Azure にアップロードするために必要な追加の手順を確認してください。

関連項目

SharePoint Server のハイブリッド

Certreq

Certutil