接続の前に
接続を確立する前に、2つの重要な前提条件を完了する必要があります。
- カスタムOAuth アプリケーションとそれに関連する認証情報をADP から取得します。
- 相互SSL 認証のためのクライアント証明書を生成します。
ADP は相互SSL 認証を必要とするため、認証のためにクライアント証明書を提供する必要があります。この証明書は以下の内容で構成されます。
- 認証リクエストに署名するための秘密鍵。
- ADP が発行した、リクエストを検証するための公開証明書。
相互SSL は、両者が証明書を交換し、お互いの身元を確認することを要求することで、安全で信頼できる接続を確立するのに役立ちます。 ADP はこれらのファイルを別々に発行するため、接続を設定する前に両方を取得する必要があります。
詳細はADP Developer Resources を参照してください。
組織がADP API を購入した方法に応じて、次の3つの方法のいずれかを使用してこれらのファイルを取得できます。
- ADP Partners:Developer Self-Service Portal を介した自動化されたプロセス。
- ADP Clients:ADP 証明書署名ツールを使用した手動の証明書署名要求(CSR)の生成と提出。
- ADP API Central ユーザー:API Central を介した自動化されたプロセス。
取得方法に関係なく、接続を構成する前に、秘密鍵と公開証明書を単一のPFX またはPEM ファイルに結合する必要があります。
重要なセキュリティ上の注意事項:秘密鍵と結合された証明書ファイル(PFX またはPEM)は、機密性の高い認証情報です。これらは安全に保管し、共有はしないでください。これらのファイルにアクセスできる人は、あなたのアプリケーションになりすますことができます。
避けるべき一般的な誤り:
- 生成の後に秘密鍵を取得しようとする。秘密鍵は一度しかコピーできません。
- 証明書を作成する際に誤った組織名を使用する。この名前は、ADP に登録されている組織名と一致している必要があります。
- 秘密鍵と公開証明書をサポートされている形式に結合しない。この手順をスキップすると、接続が失敗します。
- 証明書の有効期限が切れている。ADP は有効期限の60日前に更新通知を送信します。
Note: CSR を手動で生成する場合、CSR をADP に提出し、署名された証明書をダウンロードしてから、秘密鍵と結合する必要があります。詳しくは、ADP Developer Resources を参照してください。
Developer Self-Service Portal からSSL 証明書を取得
SSL 証明書を取得するには、次の手順に従います。
- Partner Developer アカウントを使用して、ADP Developer Self-Service Portal にログインします。
- Certificate セクションに移動します。
- Request Certificate をクリックします。
- 必要なフィールドを入力し、Next をクリックします。
- 次の画面で、Copy をクリックしてPrivate Key(.key ファイル)を保存します。
- キーをコピーしたら、Ok, I copied my key をクリックします。
- Done をクリックし、Public Certificate(.pem ファイル)をダウンロードします。
重要: 秘密鍵ファイルは、生成時にのみ利用可能です。後で再び取得することができないため、コピーして安全に保管する必要があります。
証明書の有効期限は2年間です。ADP 有効期限の 60 日前に更新通知を送付します。
手動CSR プロセスによるSSL 証明書の取得
組織が手動の証明書署名要求プロセスを使用している場合:
- ADP Certificate Signing Tool の指示に従って、CSR と秘密鍵を生成します。
- CSR を送信し、承認されたらADP から署名された証明書をダウンロードします。
- 後述の手順に従って、秘密鍵と公開証明書をPFX またはPEM ファイルに結合します。
API Central からSSL 証明書を取得
組織がAPI Central を使用している場合:
- API Central にログインし、プロジェクトに移動します。
- メニューまたはプロジェクト設定のStep 1 からCertificate を選択します。
- ガイドに従って秘密鍵と公開証明書を生成し、ダウンロードしてください。
- 秘密鍵は安全に保管してください。
両方のファイルを取得した後、サポートされている形式に結合する手順に進みます。
秘密鍵と公開証明書の結合
証明書を使用する前に、秘密鍵と公開証明書を本製品 がサポートする単一のファイル形式に結合する必要があります。 組織がADP API Central を使用している場合、この手動の結合プロセスは必要ない場合があります。
オプション1:PFX ファイル(デフォルト)の作成
SSLClientCertType プロパティのデフォルト設定(PFXFILE)を使用すると、秘密鍵と公開証明書を.pfx ファイルに変換します。
- OpenSSL で次のコマンドを実行します。
openssl pkcs12 -export -out adp.pfx -name "<OrgName> Mutual SSL" -inkey <your-private-key>.key -in <your-public-certificate>.pem
"<OrgName>" を自身の組織名に置き換えます。この文字列は、ADP への登録時に使用され、Developer Self-Service Portal での証明書生成時に表示される組織名と完全に一致する必要があります。
次に、"<your-private-key>.key" と"<your-public-certificate>.pem" を、それぞれSSL 秘密鍵と証明書の実際のファイルパスに置き換えます。
- プロンプトが表示されたら、エクスポートパスワードを入力します。接続を構成する際に、このパスワードをSSLClientCertPassword プロパティの値として使用し、生成された.pfx ファイルの完全なファイルパスをSSLClientCert プロパティの値として使用します。
PFXBLOB タイプを使用する場合は、接続設定で使用する前に.pfx ファイルをBase64 文字列に変換する必要があります。
- 以下のコマンドを実行して、.pfx ファイルをエンコードします。
openssl base64 -in adp.pfx -out adp_base64.txt
- 接続を設定する際に、SSLClientCert プロパティにadp_base64.txt の全内容をコピーします。
オプション2:PEM ファイル(PEMKEY_FILE またはPEMKEY_BLOB)の作成
PEMKEY_FILE またはPEMKEY_BLOB 証明書タイプを使用する場合は、以下のいずれかの方法に従って、秘密鍵と公開証明書を1つのPEM 形式ファイルに結合します。
privateKey.key とpublicCert.pem の両方をテキストエディタで開くことで、手動でこれを行うことができます。
- 秘密鍵の内容をコピーします。
- 公開証明書の内容を、同じファイル内の秘密鍵の直下に貼り付けます。
- ファイルをcombined_cert.pem として保存します。
または、Linux ユーザーの場合、秘密鍵と公開証明書ファイルが保存されているディレクトリからターミナルで次のコマンドを実行します。
cat privateKey.key publicCert.pem > combined_cert.pem
PEMKEY_FILE を使用する場合は、接続を構成する際にcombined_cert.pem の完全なファイルパスをSSLClientCert プロパティの値として設定します。
PEMKEY_BLOB を使用する場合は、次の2つのオプションがあります。
- テキストエディタでcombined_cert.pem を開き、内容全体をSSLClientCert プロパティに直接コピーします。
- または、以下のコマンドを使用してファイルをBase64 としてエンコードし、その出力をプロパティにコピーします。
openssl base64 -in combined_cert.pem -out cert_base64.txt
次に、cert_base64.txt から完全なBase64 文字列をSSLClientCert プロパティにコピーします。