ビジネスと ZOLOZ サービス間のメッセージ伝送セキュリティを確保するために、メッセージの署名、署名の検証、メッセージの暗号化と復号のために API 認証情報が準備されていることを確認する必要があります。
始める前に
ゲートウェイプロトコル および メッセージ伝送セキュリティ の情報を確認して、セキュリティを考慮した API リクエストの作成とレスポンスの処理のルールを理解してください。
ZOLOZ ポータルの管理者アカウントを持っていることを確認してください。 ZOLOZ ポータルアカウントの設定方法の詳細については、「2. ZOLOZ ポータルアカウントを設定する」をご参照ください。
タスクについて
次の表は、メッセージ伝送セキュリティに必要な API 認証情報とその用途を示しています。
API 認証情報のタイプ | 説明 | 用途 |
クライアント ID | アカウントの一意の識別子 | リクエストの送信者を識別するために使用されます。 リクエストの署名対象コンテンツと、レスポンスの検証対象コンテンツに含める必要があります。 |
ZOLOZ トランザクションキーペア | ZOLOZ によって提供されるキーペア。 公開鍵と秘密鍵で構成されます。 | 公開鍵は、以下の目的で使用されます。
|
秘密鍵は、ZOLOZ によって以下の目的で使用されます。
| ||
クライアントトランザクションキーペア | ユーザーが提供するキーペア。 公開鍵と秘密鍵で構成されます。 | 公開鍵は ZOLOZ ポータルに送信する必要があり、ZOLOZ によって以下の目的で使用されます。
|
秘密鍵は、以下の目的で使用されます。
|
クライアント ID と ZOLOZ トランザクションキーペアは、ポータルアカウントの作成時に ZOLOZ によって生成されます。 クライアント ID と ZOLOZ トランザクション公開鍵は、ZOLOZ ポータルから取得できます。
クライアントトランザクションキーペアは、次の 2 つの方法で構成できます。
ZOLOZ ポータルを使用して、キーペアを自動的に生成する。 この方法は、テスト目的など、メッセージ伝送セキュリティを迅速に設定する場合に推奨されます。
キーペアを手動で生成し、ZOLOZ ポータルに公開鍵を入力する。 この方法は、自分以外は誰も秘密鍵を知らないように本番環境を設定する場合に推奨されます。
このタスクには、次の 2 つの部分が含まれます。
ZOLOZ ポータルで API 認証情報を取得する: ZOLOZ ポータルを使用して API 認証情報を取得し、使用できるようにする方法。 以下が含まれます。
クライアント ID と ZOLOZ トランザクション公開鍵を取得する
クライアントトランザクションキーペアを生成し、クライアントトランザクション公開鍵を ZOLOZ ポータルに登録する
クライアントキーペアを手動で生成する: クライアントトランザクションキーペアを手動で生成し、クライアントトランザクション公開鍵を ZOLOZ ポータルに登録する方法。
手順
ZOLOZ ポータルで API 認証情報を取得する

図 1
ユーザー名とパスワードを使用して ZOLOZ ポータルにログインし、図 1 に示すように API キー構成ページ に移動します。
「クライアント ID」文字列をコピーし、後で使用するためにローカル ワークスペースに保存します。
「ZOLOZ トランザクション公開鍵」文字列をコピーし、後で使用するためにローカル ワークスペースに保存します。
[自動生成] ボタンをクリックすると、RSA キーペアが生成されます。その中で
公開鍵文字列は、[クライアントトランザクション公開鍵] フィールドに自動的に入力されます。
注: 内容は変更しないでください。
秘密鍵文字列は、 merchant_private_key.pem という名前のファイルとしてローカル ワークスペースに自動的にダウンロードされます。
注: ZOLOZ はクライアントトランザクション秘密鍵を保存しません。また、ZOLOZ チームがクライアントトランザクション秘密鍵を要求することはありません。 クライアントトランザクション秘密鍵は安全に保管し、誰とも共有しないでください。
[送信] ボタンをクリックして、クライアントトランザクション公開鍵を ZOLOZ システムに登録します。
クライアントキーペアを手動で生成する
OpenSSL ツールキットまたは KeyPairGenerator Java クラスを使用して、クライアントトランザクションキーペアを手動で生成できます。 以下に 2 つの例を示します。
サンプル 1: OpenSSL を使用する
# Generate the private key, which will be used to sign your request.
# Note: this key cannot be directly used for Java. You need to transform the key to the PKCS8 format.
openssl genrsa -out priv_key_tmp.pem
# Transform the private key to the PKCS8 format if Java is used
openssl pkcs8 -topk8 -inform PEM -in priv_key_tmp.pem -outform PEM -nocrypt -out priv_key.pem
# Generate the public key
openssl rsa -in priv_key_tmp.pem -pubout -out pub_key.pem
# Generate the public key that is applicable to Java
cat pub_key.pem | grep -v "^\-" | tr -d "\n" | sed 's/%$//' > pub_key.base64サンプル 2: Java を使用する
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
SecureRandom secureRandom = new SecureRandom();
keyPairGenerator.initialize(2048, secureRandom);
KeyPair keyPair = keyPairGenerator.generateKeyPair();
Key publicKey = keyPair.getPublic();
Key privateKey = keyPair.getPrivate();
String publicKeyBase64 = Base64.getEncoder().encodeToString(publicKey.getEncoded());
String privateKeyBase64 = Base64.getEncoder().encodeToString(privateKey.getEncoded());公開鍵が生成されたら、ZOLOZ ポータルにログインし、公開鍵文字列を API キー構成ページの [クライアントトランザクション公開鍵] フィールドにコピーし、[送信] ボタンをクリックして、クライアントトランザクション公開鍵を ZOLOZ システムに登録する必要があります。