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

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

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