メインコンテンツまでスキップ

API の利用開始

PocketSign Platform に登録する​

PocketSign Verify API を利用するには、PocketSign Platform への登録が必要です。 登録がお済みでない場合は、PocketSign Platform に登録するを参照してサインアップしてください。

テナントの作成​

PocketSign Platform ホーム画面から「Verify」へ移動します。

左側のメニューから「テナント」をクリックします。

「テナントを作成」をクリックします。

「モック環境」を選択し、テナント名を入力して「テナント作成」をクリックします。

作成が完了したことを確認します。

API トークンの作成​

API トークンを作成したいテナントの「テナントを開く」をクリックします。 ここでは、テナントの作成で作成したテナントの API トークンを作成します。

テナント画面左側のメニューから「API トークン」へ移動します。

「新規作成」をクリックします。

トークンを識別するための名称を入力し、「作成」をクリックします。

表示されたトークンを保存します。作成されたトークンは、以後再表示することができないためご注意ください。

テストリクエストの送信​

以下のようなリクエストを送信して、署名検証を試してみましょう。 <YOUR_API_TOKEN> には、前のステップで作成した API トークンを入力してください。

PocketSign Verify API は Buf CLI を使用して呼び出すことができます。 Buf のドキュメント Install the Buf CLI を参照して、Buf CLI をインストールしてください。

署名検証サンプルリクエスト
buf curl 'https://verify.mock.p8n.app/pocketsign.verify.v2.VerificationService/Verify' \
-H 'Authorization: Bearer <YOUR_API_TOKEN>' \
--schema 'buf.build/pocketsign/apis' \
--data '{
"hashAlgorithm": "HASH_ALGORITHM_SHA256",
"digest": "MV9b23bQeMQ7isAGTkoBZGErH853yGk0W/yUx1iU7dM=",
"signature": "n4bVa46x6/Ud44p7+zHMPpsTjZG7yqtnqc2WlcrOD738q+K61FdMy0aezKMsIZp8UaXanfRDExwRxHDsV1n2fACLKdNkWilNrGhOq9QqlNy5w8+n7ax2O5CQ1hiPKPjZo1wlecDl8D1z2n5ePL/VtszdqZ95QyHvPKYzE5yeDwaCd9QHMtxvbd7qkaac0RujRSdO9MUE4PoKz1YmRieysOIIf0cwHTUWmTy+++UA7itHwp/pPhiz2QWY0QGGMuDfBclISD1wuzqcXSAqOooCBOga7iqOKArYmCyRnAVUtOZJ0TKPnijhrlLe33cyvGR58YC6yBv4i9gnjuIQ7j1fZQ==",
"certificate": "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"
}'

リクエストが成功すると、以下のようなレスポンスが返ってきます。

署名検証サンプルレスポンス
{
"verification": {
"id": "80375018-3502-4eb7-b422-0898dcf140b5",
"result": "RESULT_OK",
"hashAlgorithm": "HASH_ALGORITHM_SHA256",
"digest": "MV9b23bQeMQ7isAGTkoBZGErH853yGk0W/yUx1iU7dM=",
"signature": "n4bVa46x6/Ud44p7+zHMPpsTjZG7yqtnqc2WlcrOD738q+K61FdMy0aezKMsIZp8UaXanfRDExwRxHDsV1n2fACLKdNkWilNrGhOq9QqlNy5w8+n7ax2O5CQ1hiPKPjZo1wlecDl8D1z2n5ePL/VtszdqZ95QyHvPKYzE5yeDwaCd9QHMtxvbd7qkaac0RujRSdO9MUE4PoKz1YmRieysOIIf0cwHTUWmTy+++UA7itHwp/pPhiz2QWY0QGGMuDfBclISD1wuzqcXSAqOooCBOga7iqOKArYmCyRnAVUtOZJ0TKPnijhrlLe33cyvGR58YC6yBv4i9gnjuIQ7j1fZQ==",
"createdAt": "2023-09-02T20:15:27.613966Z"
},
"certificate": {
"id": "1845533e-42ae-42db-9ed5-862dece5a4e3",
"type": "TYPE_JPKI_CARD_DIGITAL_SIGNATURE",
"createdAt": "2023-07-31T11:00:11.506906Z"
},
"certificateStatus": {
"id": "b3ee5560-206b-4871-aa67-a47389fbafd6",
"status": "STATUS_GOOD",
"checkMethod": "CHECK_METHOD_CRL",
"checkPurpose": "CHECK_PURPOSE_SIGNATURE_VERIFICATION",
"sourceUpdatedAt": "0001-01-01T00:00:00Z",
"createdAt": "2023-09-02T20:15:27.613966Z"
},
"certificateContent": {
"subject": "OU=P8N for digital signature+OU=PocketSign Inc.,O=P8N-MOCK,C=JP",
"validity": {
"notBefore": "2022-06-06T04:56:54Z",
"notAfter": "2027-06-05T04:56:54Z"
},
"crlDistributionPoint": "CN=City-0 CRLDP,OU=Prefecture-0,OU=CRL Distribution Points,OU=P8N for digital signature,O=P8N-MOCK,C=JP",
"jpkiCardDigitalSignatureContent": {
"commonName": "原 智子",
"substituteCharacterOfCommonName": "0000",
"gender": "2",
"dateOfBirth": "118991201",
"address": "北海道厚岸郡浜中町円朱別西七線6908番9999号",
"substituteCharacterOfAddress": "0000000000000000000000000"
}
}
}

最初の署名検証に成功しました 🎉


次のステップ​

API リファレンスを参照して、その他の機能を確認しましょう。 ブラウザ上でモック環境へのリクエストを試すこともできます。

実際のアプリケーションでの署名検証(身元確認)は、身元確認を参照してください。