PocketSign APIs
  1. certificates
PocketSign APIs
  • Verify API
    • v2
      • CertificateService
        • 証明書情報の取得
        • 証明書情報の検索
        • 証明書情報の削除
        • 証明書の失効確認
        • 証明書失効確認履歴の取得
        • 証明書失効確認履歴の検索
      • UserService
        • 利用者情報の取得
        • 利用者情報の検索
        • 利用者情報の削除
        • 利用者の現況確認
      • VerificationService
        • 署名検証
        • 署名検証結果の取得
        • 署名検証結果の検索
        • 署名検証結果の削除
    • v1
      • verifications
        • 署名検証
        • 署名検証結果の検索
        • 署名検証結果の取得
        • 署名検証結果の削除
      • certificates
        • 証明書データによる失効確認
          POST
        • 証明書情報の検索
          GET
        • 証明書情報の取得
          GET
        • 証明書情報の削除
          DELETE
        • 証明書IDによる失効確認
          POST
        • 失効確認履歴の取得
          GET
      • users
        • 利用者の検索
        • 利用者情報の取得
        • 利用者情報の削除
        • 利用者の現況確認
  1. certificates

証明書IDによる失効確認

廃止予定
モック環境
https://verify.mock.p8n.app
モック環境
https://verify.mock.p8n.app
POST
/certificates/{id}/status
certificates
証明書IDを用いて、当該証明書の失効確認を行います。
署名検証時に確認した基本4情報(氏名、住所、生年月日、性別)に変更がないかどうかを確認(現況確認)する場合は、
署名検証後に発行される証明書IDを用いてこのAPIによる失効確認を行ってください。
ある利用者に紐ついた証明書のうち、最新の証明書に関する失効確認(現況確認)を行う場合は、利用者の現況確認APIを利用できます。

証明書の失効事由#

certificate_status.revocation_reasonは、証明書が失効した事由を表します。
失効事由の詳細については、地方公共団体システム機構(J-LIS)が提供する認証局の運営情報の一部として公開されている署名用認証局運用規程(4.9.9. オンラインでの失効ステータス確認の適用性)および利用者証明用認証局運用規程(4.9.9. オンラインでの失効ステータス確認の適用性)をご参照ください。
以下に、当該規程に記載されている失効事由を示します。
revocation_reason失効事由
unspecified交付前に破棄した
key_compromise利用者の秘密鍵が危殆化した
ca_compromiseCAの秘密鍵が危殆化した
affiliation_changed証明書の記載内容に変更が生じた
superseded証明書を更新した
cessation_of_operation証明書の必要性がなくなった(使用しなくなった)
certificate_hold秘密鍵の安全性に疑義が生じたため、証明書を一時的に保留した(一時保留の解除は行わない)

失効確認の方法#

失効確認の方法は2通りから選択できます。
いずれの方法でも同じデータソースを参照していますが、更新のタイミング等が異なります。
また、料金の計算方法も異なります。
詳しくは料金体系(準備中)をご参照ください。

CRLファイルの参照#

認証局より日時で取得したCRL(証明書失効リスト)ファイルの中に、検証対象の電子証明書が含まれているかどうかを確認します。
参照するCRLファイルは、毎朝7:30(日本時間)頃に更新されます。この時刻までは前日分のCRLファイルが参照されます。
CRLファイル更新作業は通常5〜10分程度を要し、この期間中は前日分のCRLファイルが参照される可能性があります。
確実に当日分の失効情報を確認したい場合は、OCSPによる問い合わせをご利用ください。

OCSPによる問い合わせ#

認証局が運用するOCSPレスポンダに都度問い合わせを行い、証明書の状態を確認します。

失効確認の目的#

署名検証の過程で実施された失効確認は、check_purpose が signature_verification (署名検証)として記録されます。
証明書データによる失効確認や証明書IDによる失効確認、利用者の現況確認の場合は、check_purpose が liveness_check (現況確認)として記録されます。
これらは、関係機関への報告のために利用されます。
また、PocketSign Verify APIの利用料金計算にも利用されます。

利用者の特定#

このAPIは、証明書が発行された利用者の特定を行う機能を提供しています。
この機能を使用すると、公的個人認証サービス(JPKI)が提供する証明書紐付け情報および証明書新旧紐付け機能を利用し、利用者に対して一意な利用者IDを割り当てることができます。
同一の人物に対して発行された署名用電子証明書と利用者証明用電子証明書については、そのいずれに対しても同一の利用者IDが返されます。
これを利用することで、例えば署名用電子証明書によって登録した利用者に対して利用者証明用電子証明書によるログイン機能をシームレスに提供することができます。
利用者IDは、引っ越しや有効期限到来等による証明書の更新後も、同一の値が返されます。
利用者情報の削除を行うと、以後は新しい利用者IDが割り当てられます。
利用者IDはテナント内で一意であり、同一の証明書であっても異なるテナントでは異なる利用者IDが割り当てられます。

リクエストとレスポンスの詳細#

Requestパラメータ

Pathパラメータ
id
string 
必須
証明書ID
Request Bodyパラメータapplication/json
status_check_method
enum<string> 
必須
証明書の失効状態を確認する手段
列挙型:
crlocsp
identify_user
boolean 
可選
利用者の特定及び利用者IDの割当を行うかどうか
デフォルト値:
false
例
{
  "status_check_method": "crl",
  "identify_user": false
}

サンプルコード

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://verify.mock.p8n.app/certificates//status' \
--header 'Content-Type: application/json' \
--data-raw '{
    "status_check_method": "crl",
    "identify_user": false
}'

Response

🟢200OK
application/json
Body
certificate
object (Certificate) 
必須
証明書データ
id
string <uuid>
必須
証明書ID
type
enum<string> 
必須
証明書種別
列挙型:
jpki_card_digital_signaturejpki_card_user_authentication
latest
boolean 
必須
現行世代の証明書かどうか
各利用者ごとに、同じ種別の証明書のうち最も発行された順番が新しいものを現行世代と呼び、それ以外の証明書は旧世代と呼びます。
証明書に紐付く利用者が特定されていない場合、旧世代の証明書として扱います。
created_at
string <date-time>
必須
証明書情報が保存された時刻
certificate_status
object (CertificateStatus) 
必須
証明書失効状態の確認結果
id
string <uuid>
必須
証明書失効確認ID
status
enum<string> 
必須
証明書の失効状態
列挙型:
goodrevoked
check_method
enum<string> 
必須
証明書の失効状態を確認する手段
列挙型:
crlocsp
check_purpose
enum<string> 
必須
証明書の失効状態を確認する目的
列挙型:
signature_verificationliveness_check
source_updated_at
string <date-time>
可選
証明書失効状態の確認に利用したデータソースの更新日時
CRLやOCSPレスポンスに含まれる thisUpdate に相当します。
CRLにシリアル番号が含まれない場合は設定されません。
revoked_at
string <date-time>
可選
失効した日時
失効していない場合は設定されません。
revocation_reason
enum<string> 
可選
証明書の失効理由
この値は、RFC 5280 5.3.1に定義されるCRLReasonに対応します。
証明書が有効である場合には設定されません。
列挙型:
unspecifiedkey_compromiseca_compromiseaffiliation_changedsupersededcessation_of_operationcertificate_holdremove_from_crlprivilege_withdrawnaa_compromise
created_at
string <date-time>
必須
失効確認を行った時刻
user
object (User) 
可選
利用者データ
id
string <uuid>
必須
利用者ID
created_at
string <date-time>
必須
利用者情報が保存された時刻
is_new_user
boolean 
可選
利用者が新規に作成されたかどうか
例
{
  "certificate": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "type": "jpki_card_digital_signature",
    "latest": true,
    "created_at": "2019-08-24T14:15:22Z"
  },
  "certificate_status": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "status": "good",
    "check_method": "crl",
    "check_purpose": "signature_verification",
    "source_updated_at": "2019-08-24T14:15:22Z",
    "revoked_at": "2019-08-24T14:15:22Z",
    "revocation_reason": "unspecified",
    "created_at": "2019-08-24T14:15:22Z"
  },
  "user": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "created_at": "2019-08-24T14:15:22Z"
  },
  "is_new_user": true
}
🟠400400
🟠401401
🟠404404
🔴500500
前へ
証明書情報の削除
次へ
失効確認履歴の取得
Built with