---
title: "Sitecore展開のためのクライアント証明書"
slug: "the-client-certificate-for-sitecore-deployments"
abstract: "Sitecoreのセキュリティ層について学びましょう。"
---
# Sitecore展開のためのクライアント証明書

Sitecore Experience Platformはデフォルトで安全に設計されています。つまり、Sitecoreの役割はSecure Sockets Layer(SSL)とクライアント証明書の検証を用いて互いに通信します。

クライアント証明書の検証では、Azure上のSitecoreインストールプロセスの一環としてクライアント証明書を設定する必要があります。このインストール要件を満たすために自己署名証明書を生成するか、認証機関から取得するかを選択できます。

## セキュリティの層

Sitecoreインスタンス間のすべての通信、xConnectのウェブサービスも含めてHTTPS経由で行われます。HTTPSはプラットフォームをインストールする前にSSL用の証明書を取得し設定する必要があります。

Sitecore Experience Platformには以下のセキュリティ層があります:

-   **SSL** – xConnectサーバーの役割は、SSL クライアント証明書認証と呼ばれる追加のセキュリティ層をサポートします。xConnect Webサービスはサーバー間通信を使用し、非インタラクティブです。つまり、クライアント証明書はContent Managementやその他のサーバーロールがクライアント証明書と事前共有キー(サムプリント)を使って安全にWeb APIサービスに接続できるようにします。
-   **サーバー認証** – サーバー側の証明書と秘密鍵を用いてHTTPクライアントとHTTPサーバーアプリケーション間のトラフィックを暗号化します。この種の認証は、暗号化されていないコンテンツが安全でないネットワーク上を移動するのを防ぎ、盗聴から守ります。クライアントが誰であるかは特定できず、サーバー認証自体は誰がサーバーに接続できるかを区別しません。
-   **クライアント証明書認証** は、サーバー認証の上に加わる追加のセキュリティ層であり、個々のHTTPクライアントがHTTPサーバーに接続する権限を持っていることを検証します。また、HTTPクライアントインスタンスが特定のクライアント証明書と秘密鍵で構成されている必要があり、これらはSSL保護されたサーバーに接続するために使われます。

## 証明書の作成または取得

自己署名証明書とは、認可された組織の鍵ではなく、自分自身の秘密鍵で署名された証明書のことです。

開発者環境では、PowerShellを使って自己署名証明書を生成できます。本番環境では、Sitecoreはセキュリティ上の懸念から認定機関からの証明書を取得することを推奨しています。

> !注Sitecoreはサービス通信のために、PKCS #12形式(.pfx)で認証証明書のBase64エンコードされたブロブを必要とします。

Sitecore Azure Toolkitで新しい自己署名証明書を生成し、Sitecoreをデプロイしたい場合は、昇格されたPowerShellコンソールで以下のスクリプトを実行してください。

$thumbprint = (New-SelfSignedCertificate \`
 -Subject "CN=$env:COMPUTERNAME @ Sitecore, Inc." \`
 -Type SSLServerAuthentication \`
 -FriendlyName "$env:USERNAME Certificate").Thumbprint

証明書をローカルストレージからディスク上のファイルにエクスポートし、パスワードで保護するには、昇格されたPowerShellコンソールで以下のスクリプトを実行します。

$certificateFilePath = "D:\\Temp\\$thumbprint.pfx"
Export-PfxCertificate \`
 -cert cert:\\LocalMachine\\MY\\$thumbprint \`
 -FilePath "$certificateFilePath" \`
 -Password (Read-Host -Prompt "Enter password that would protect the certificate" -AsSecureString)

> !重要Sitecore Experience Commerceの証明書を作成するには、以下のコードを使用し、[Sitecore Experience Commerce 9.2初期リリース](https://dev.sitecore.net/Downloads/Sitecore_Commerce/92/Sitecore_Experience_Commerce_92_Initial_Release.aspx)へ進みます。リリース情報の中で、「インストールガイド - Azure App Service」をクリックしてください。Azure App Service .pdfのSitecore Experience Commerceインストールガイドでは、「環境の準備」セクションを参照してください。
> 
> $CertificateFriendlyName = 「Sitecore Commerce Services SSL Certificate」
> 
> $thumbprint = (New-SelfSignedCertificate '
> 
> \-被験者$CertificateDnsName
> 
> \-DNS名$CertificateDnsName
> 
> \- KeyAlgorithm RSA
> 
> \-キーレングス2048 '
> 
> \-NotBefore(Get-Date)
> 
> \-NotAfter (get-date)AddYears(5) '
> 
> \-CertStoreLocation $CertificateStore
> 
> \-フレンドリーネーム$CertificateFriendlyName
> 
> \-ハッシュアルゴリズムSHA256 '
> 
> \-KeyUsage DigitalSignature, KeyEncipherment, DataEncipherment
> 
> \-KeySpecシグネチャ
> 
> \-TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3")
> 
> ).親指の指紋