SharePoint Server에 대한 STS 인증서 바꾸기
적용 대상:2013 2016 2019 Subscription Edition SharePoint in Microsoft 365
이 항목에서는 SharePoint 팜에서 STS(SharePoint 보안 토큰 서비스) 인증서를 바꾸는 방법에 대한 정보를 제공합니다.
인증서 요구 사항
신뢰할 수 있는 인증 기관에서 인증서를 구입하거나, 자체 호스팅 PKI 인프라(예: Active Directory 인증서 서비스)에서 새 인증서를 만들거나, 또는 New-SelfSignedCertificate
를 통해 certreq.exe
만든 자체 서명된 인증서를 만듭니다. 인증서는 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'인 새 인증서를 만듭니다. 일반 이름은 cmdlet에 New-SelfSignedCertificate
의해 자동으로 설정됩니다. 보안 암호를 사용하여 PFX(sts.pfx) 및 공용 인증서(sts.cer)를 내보냅니다.
세르트레크 주
인증서에 대한 새 파일 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"
두 번째 명령에서 SerialNumber 출력을 복사하고 다음 명령에서 사용합니다. SerialNumber>를 실제 값으로 바꿉<니다.
certutil -exportPFX -p "P@ssw0rd1!" CA <SerialNumber> C:\sts.pfx
첫 번째 단계에서는 위의 요청에 따라 인증서를 만듭니다. 두 번째 단계에서는 새 인증서의 일련 번호를 찾을 수 있습니다. 마지막으로 마지막 단계에서는 인증서를 암호로 보호된 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 인증서 교체 프로세스가 완료됩니다. 하이브리드 팜을 사용하는 경우 Azure에 STS 인증서를 업로드하는 데 필요한 추가 단계는 Microsoft 365 SharePoint 사이트를 사용하여 온-프레미스 SharePoint 사이트에서 공급자 호스팅 추가 기능 권한을 부여 를 참조하세요.