Loading

多要素認証 (2 要素認証) でコードをアップロードするための MFA/2FA クライアント証明書を作成する方法

公開日: Dec 10, 2025
説明
※この記事は英語版を翻訳しており、一部機械翻訳を含むため内容は後日更新される可能性があります。最新の内容は英語版を参照してください。表示言語は画面右下の言語名から切り替えられます。

目的: PCI コンプライアンスに必要な、顧客環境内の 2 要素認証で要求されるクライアント証明書を設定して管理します。

環境: ステージング
 
解決策
注意: すべての新しいレルムは BLOCK_PUT が有効な状態で設定されています。SFCC のセキュリティコンプライアンスではすべての新しいレルムに 2FA 設定が要求されるため、無効にしないでください。

手順
  1. OpenSSL をインストールします。
    1. Windows または Linux の OpenSSL クライアントを http://www.slproweb.com/products/Win32OpenSSL.html からダウンロードします。
    2. OpenSSL Light バージョンのみをインストールします。
    3. Windows ユーザーの場合は、デフォルトのインストール手順に従います。
    4. OpenSSLは デフォルトで C:\OpenSSL にインストールされます。前述の手順は、デフォルトのインストール場所を前提としています。
  2. OpenSSL を使用して新しいキーと要求を作成します。
    1. zip ファイル (例: certificate.zip) を C:\OpenSSL\bin に解凍します。
    2. コマンドプロンプトを開き、「C:\OpenSSL\bin\」と入力します。
    3. いずれの場合も、以下のコマンドを入力してリクエストを生成します。
openssl req -new -sha256 -newkey rsa:2048 -nodes -out $user.req -keyout $user.key

$userは、このキーが対象としているユーザーを示します。認証する Business Manager ユーザーと同一にすることをお勧めします。たとえば、SFCC インスタンスのユーザー名が jsmith の場合、証明書の名前も jsmith にします。

注意: 証明書要求に含める情報を求められた場合は、証明書を使用するユーザーの情報を入力してください (例: jsmith)。
 
注意: 一般名を使用しないでください (例: Release Team)。
出力は次のようになります。

Generating a 2048 bit RSA private key
....................++++++++++++
........++++++++++++
writing new private key to '$user.key'
-----
You are about to be asked to enter information that will be
incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished
Name
or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (city) []:
Organization Name (company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (section) []:
Common Name (YOUR name) []:
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

注意: 最後の 2 つの項目は省略可能です。 空欄にしておくことをお勧めします。チャレンジパスワードは使用されません。
  1. 要求に会社名と有効なメールアドレスを入力します。証明書を使用するユーザーの有効なメールアドレスにする必要があります。
次に例を示します。
Country Name (2 letter code) [AU]: US
State or Province Name (full name)
[Some-State]: Massachusetts
Locality Name (city) []:
Organization Name (company) [Internet
Widgits Pty Ltd]: Salesforce B2C Commerce Cloud
Organizational Unit Name (section) []:
Support
Common Name (YOUR name) []: John Smith
Email Address []:
jsmith@salesforce.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
 
注意: SFCC では OpenSSL (http://www.openssl.org) 証明書をサポートしています。
  1. 証明書要求 ($user.req) に証明書で署名します。
    1. クライアントキーとクライアント要求の結果を証明書およびキーと同じディレクトリ (C:\OpenSSL\bin) にコピーします。
    2. コマンドプロンプトに以下の OpenSSL コマンドを入力します。
openssl x509 -CA $name.crt -CAkey $name.key -CAserial $name.srl -req -in $user.req -out $user.pem -days $days
 
$days: このクライアント証明書作成後の有効日数。$name: SFCC が提供する名前

$user: 署名するクライアント証明書のユーザー。 例: jsmith

注意 $name.srl ファイルの $name 部分は他の $name ファイルと若干異なる場合があります。 ファイル名は正確に入力してください。例:
openssl x509 -CA cert.staging.web.customer.demandware.net_01.crt -CAkey cert.staging.web.customer.demandware.net_01.key -CAserial cert.staging.web.customer.demandware.net.srl -req -in jsmith.req -out jsmith.pem -days 10
  1. 証明書は、有効期限が切れるか、SFCC にすべての証明書の取り消しを依頼するまで有効です。このため、ユーザーへの証明書の割り当ては慎重に計画する必要があります。
このコマンドの出力は以下のようになります。
Signature ok
subject=/C=XX/ST=XX/L=XX/O=XX/OU=XX/CN=XX/emailAddress=user@co.com
Getting CA Private Key
Enter pass phrase for $name.key:
  1. 証明書に署名するためのパスフレーズ ($name.txt に含まれる) を入力します。
  1. 証明書とクライアント情報を pkcs12 形式にエクスポートします。
    1. コマンドプロンプトに以下のコマンドを入力します。
openssl pkcs12 -export -in $user.pem -inkey $user.key -certfile $name.crt -name "$user" -out  $user.p12
 
$name Commerce Cloud が提供する名前です。

$user は署名するクライアント証明書のユーザーです。
 
例:
openssl pkcs12 -export -in jsmith.pem -inkey jsmith.key -certfile cert.staging.web.customer.demandware.net_01.crt -name "jsmith" -out jsmith.p12
  1. このファイルのエクスポートパスワードを指定します。このパスワードは、証明書を Studio または別のキーストアに読み込むエンドユーザーに提供する必要があります。
  2. pkcs12 証明書を使用して、Studio 経由でステージングインスタンスに接続できます。この証明書は、Windows 内蔵の WebDAV クライアントなど、他の WebDAV クライアントでも使用できます。ユーザーが Windows WebDAV 経由でコードをアップロードする場合は、ステップ 6 を参照してください。それ以外の場合、ステップ 6 は必要ありません。
  1. 証明書をブラウザーにインポートします。これは、証明書がブラウザーで動作することをテストする検証ステップです。
    1. Firefox で、[ツール] > [オプション] を選択します。
    2. [詳細設定] をクリックします。
    3. [暗号化] タブで、[証明書を表示] をクリックします。[証明書マネージャー] ダイアログが表示されます。
    4. [あなたの証明書] タブをクリックし、[インポート] をクリックします。
    5. <ユーザー>.p12 証明書を選択します。
  2. WebDAV 接続を作成する場合は、pkcs12 ファイルをインポートします。
    1. ローカルマシンで、証明書をダブルクリックして開きます。[証明書] ダイアログが表示されます。
    2. [Install Certificate (証明書をインストール)] をクリックします。証明書のインポートウィザードが表示されます。
    3. [次へ] をクリックします。
    4. [Automatically select the certificate store based on the type of certificate (証明書の種類に基づいて証明書ストアを自動的に選択)] チェックボックスをオンにします。
    5. [次へ] をクリックします。証明書のインポートが正常に完了したことを示すメッセージが表示されます。
    6. [完了] をクリックします。これで、この証明書を使用して WebDAV 接続を開くことができるようになります。Studio を開いて証明書を直接インポートすることもできます。
    7. ネットワークの追加ウィザードを使用して、以下のホスト名を使用して Windows で WebDAV ネットワークの場所を作成します。
  1. UX Studio 経由でサーバー接続を作成します。
    1. UX Studio を開きます。
    2. [File ] > [New] > [Digital Server Connection] をクリックします。[New Digital Server Connection] ダイアログボックスが表示されます。
    3. 必ず新しいインスタンスの URL を入力します。cert.staging.realm.customer.demandware.net の形式で入力します。
    4. [Use Certificate Authentication] チェックボックスをクリックします。
    5. インポートするキーストア (pkcs12) ファイルを参照し、[Select] をクリックします。
    6. 管理者から提供されたパスワードを入力します。
    7. [Finish] をクリックして接続します。
これで、お客様は UX Studio と WebDAV 経由で接続できるようになります。

注意: UX Studio で接続する前に、証明書ファイルをブラウザーにインポートする必要がある場合もあります。

Mac で 2FA を有効にする方法
  1. openssl req -new -newkey rsa:2048 -nodes -out <name>.req -keyout <name>.key
  2. openssl x509 -CA cert.staging.<client_name>.demandware.net_01.crt -CAkey cert.staging.<client_name>.demandware.net_01.key -CAserial cert.staging.<client_name>.demandware.net.srl -req -in <name>.req -out <name>.pem -days 9999
  3. openssl pkcs12 -export -in<name>.pem -inkey <name>.key -certfile cert.staging.realm.name.demandware.net_01.crt -name "<name>" -out <name>.p12

これで 2要素認証に必要なファイルが揃いました。


Windows マシンを使用している場合や、最初のステップで問題がある場合 (「openssl is not a command (openssl はコマンドではありません)」というエラーメッセージが表示されるなど)、以下を試すこともできます。
c:\OpenSSL-Win32\bin\openssl.exe

次を入力します。
req -new -sha256 -newkey rsa:2048 -nodes -out $user( whatever your username is).req -keyout $user( whatever your username is).key
 

ナレッジ記事番号

000391641

 
読み込み中
Salesforce Help | Article