# 証跡照会API

<br>

## **概要**

証跡照会APIは、本人確認や電子署名などの処理において、過去の利用履歴や署名検証結果を確認・取得するAPIです。
プラットフォーム事業者には、署名検証を実施した後に、署名APIまたは利用者証明APIの検証結果・利用した電子証明書内の一部情報・電子証明書の失効確認結果などの記録が「証跡」として保管されます。なお、保管される電子証明書内の一部情報は、署名用電子証明書の場合は有効期間・発行者・4情報、利用者証明用電子証明書の場合は有効期間・発行者になります。
これらの証跡は、利用者が申請した電子文書や本人確認の真正性を後から確認・証明するための根拠となります。サービスプロバイダ事業者は必要に応じてこれらの証跡を照会・取得することが可能です。
    
## **処理の流れ**

<Tabs>
    <Tab title="証跡IDを指定して照会">
        <Steps>
            <Step title="証跡照会の要求（サービスプロバイダ事業者）">
                取得したい証跡IDを指定し、APIでリクエストを送信します。取得できる証跡の種類は次のとおりです。
                - 署名API・利用者証明APIの検証結果
                - 過去の電子証明書の失効確認結果
                - 電子証明書の一部情報
                  - 署名用電子証明書の場合、有効期間・発行者・4情報
                  - 利用者証明用電子証明書の場合、有効期間・発行者
            </Step>
            <Step title="証跡データの取得（プラットフォーム事業者）">
                条件に該当する証跡をデータベースから取得します。
            </Step>
            <Step title="証跡データの返却（プラットフォーム事業者）">
                取得した証跡データをサービスプロバイダ事業者へ返却します。
            </Step>
        </Steps>
    </Tab>
    <Tab title="検索条件を指定して照会">
        <Steps>
            <Step title="証跡照会の要求（サービスプロバイダ事業者）">
                取得したい証跡の期間を含む検索条件を指定し、APIでリクエストを送信します。検索条件は、後述の「検索条件と取得できる証跡」に記載のとおり、取得する証跡の内容によって異なります。取得できる証跡の種類は次のとおりです。
                - 署名API・利用者証明APIの検証結果
                - 過去の電子証明書の失効確認結果
                - 電子証明書の一部情報
                  - 署名用電子証明書の場合、有効期間・発行者・4情報
                  - 利用者証明用電子証明書の場合、有効期間・発行者
            </Step>
            <Step title="証跡データの取得（プラットフォーム事業者）">
                条件に該当する証跡をデータベースから取得します。
            </Step>
            <Step title="証跡データの返却（プラットフォーム事業者）">
                取得した証跡データをサービスプロバイダ事業者へ返却します。
            </Step>
        </Steps>
    </Tab>
</Tabs>

## **検索条件と取得できる証跡**

<Tabs>
    <Tab title="証跡IDを指定">
        <AccordionGroup>
            <Accordion title="検証結果IDまたは利用者ID">
                署名APIまたは利用者証明APIの検証結果・使用した電子証明書・有効性確認結果・利用者ID
            </Accordion>
            <Accordion title="電子証明書の失効確認結果ID">
                電子証明書の失効日時・理由などの過去の失効確認情報
            </Accordion>
            <Accordion title="電子証明書ID">
                電子証明書の一部情報
                - 署名用電子証明書の場合、有効期間・発行者・4情報
                - 利用者証明用電子証明書の場合、有効期間・発行者
            </Accordion>
        </AccordionGroup>
    </Tab>
    <Tab title="検索条件を指定">
        <AccordionGroup>
            <Accordion title="検索日時の期間・電子証明書の種別・署名検証結果">
                署名APIまたは利用者証明APIの検証結果・使用した電子証明書・有効性確認結果・利用者ID
            </Accordion>
            <Accordion title="検索日時の期間・電子証明書の種別・電子証明書の失効状態">
                電子証明書の失効日時・理由などの過去の失効確認情報
            </Accordion>
            <Accordion title="検索日時の期間・電子証明書の種別">
                電子証明書の一部情報
                - 署名用電子証明書の場合、有効期間・発行者・4情報
                - 利用者証明用電子証明書の場合、有効期間・発行者
            </Accordion>
        </AccordionGroup>
    </Tab>
</Tabs>
    
## **シーケンス図**

<Tabs>
    <Tab title="証跡IDを指定して照会">
```mermaid
    %%{init:{'theme':'natural'}}%%
    sequenceDiagram
    participant 利用者
    participant SDK
    participant サービスプロバイダ事業者
    participant プラットフォーム事業者
    participant J-LIS

    alt 署名APIまたは利用者証明APIの検証結果を取得
        サービスプロバイダ事業者->>プラットフォーム事業者: 検証結果IDまたは利用者IDの送信
    else 電子証明書の失効確認結果を取得
        サービスプロバイダ事業者->>プラットフォーム事業者: 過去の電子証明書の失効確認結果IDを送信
    else 署名用または利用者証明用電子証明書情報を取得
        サービスプロバイダ事業者->>プラットフォーム事業者:  電子証明書IDを送信
    end
    プラットフォーム事業者->>プラットフォーム事業者: 該当する証跡データの取得
    プラットフォーム事業者->>サービスプロバイダ事業者: 証跡データの返却
```
    </Tab>
    <Tab title="検索条件を指定して照会">
```mermaid
    %%{init:{'theme':'natural'}}%%
    sequenceDiagram
    participant 利用者
    participant SDK
    participant サービスプロバイダ事業者
    participant プラットフォーム事業者
    participant J-LIS

    alt 署名APIまたは利用者証明APIの検証結果を検索
        サービスプロバイダ事業者->>プラットフォーム事業者: 検索日時の期間・電子証明書の種別<br>署名検証結果を送信
    else 電子証明書の失効確認結果を検索
        サービスプロバイダ事業者->>プラットフォーム事業者: 検索日時の期間・電子証明書の種別<br>電子証明書の失効状態を送信
    else 署名用または利用者証明用電子証明書情報を検索
        サービスプロバイダ事業者->>プラットフォーム事業者: 検索日時の期間・電子証明書の種別を送信
    end
    プラットフォーム事業者->>プラットフォーム事業者: 該当する証跡データを検索
    プラットフォーム事業者->>サービスプロバイダ事業者: 証跡データの返却
```
    </Tab>
</Tabs>

<br>

