idトークン獲得の流れ
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
idトークン獲得の流れ [2025/02/17 12:01] – [2.2.認可サーバーの認可エンドポイントに到達 → 4.認証画面にジャンプ] admin | idトークン獲得の流れ [2025/03/05 12:11] (現在) – [IDトークン獲得までの流れ] admin | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ~~stoggle_buttons~~ | ||
+ | |||
====== IDトークン獲得までの流れ ====== | ====== IDトークン獲得までの流れ ====== | ||
===== 全フローチャート ===== | ===== 全フローチャート ===== | ||
行 69: | 行 71: | ||
==== 5.2.FIDO生体認証 ==== | ==== 5.2.FIDO生体認証 ==== | ||
* Keycloakでチャレンジ・レスポンス認証が行われる。 | * Keycloakでチャレンジ・レスポンス認証が行われる。 | ||
- | * 秘密鍵は、スマートフォン内のセキュアストレージに保管されており指紋認証しないとアクセスできない。 cf.https:// | + | * 秘密鍵は、スマートフォン内のセキュアストレージに保管されており指紋認証しないとアクセスできない。 cf.[[https:// |
* 秘密鍵は、最初に{{: | * 秘密鍵は、最初に{{: | ||
行 178: | 行 180: | ||
* 署名付き電子処方箋xmlを受け取る。 | * 署名付き電子処方箋xmlを受け取る。 | ||
- | ====== ExamplePublisherClientのWebAPIとライブラリ ====== | + | ====== ExamplePublisherClientのライブラリとWebAPI |
行 254: | 行 256: | ||
==== WebAPI ==== | ==== WebAPI ==== | ||
- | * ポート番号: | + | * 署名APIUrlのポート番号: |
* コアの部分 | * コアの部分 | ||
<code csharp> | <code csharp> | ||
行 282: | 行 284: | ||
==== 「管理サーバーに何を渡しているのか」の考察 ==== | ==== 「管理サーバーに何を渡しているのか」の考察 ==== | ||
- | === 処方箋csvの扱い === | + | === 処方箋情報の扱い === |
* ライブラリを選んだ場合 | * ライブラリを選んだ場合 | ||
行 301: | 行 303: | ||
return xml; | return xml; | ||
</ | </ | ||
- | をみると、IDトークンとPrescriptionDocumentのHash値のみを渡しているようである。__PrescriptionDocument要素のハッシュ値のみ管理サーバーに渡し、管理サーバーがもっているKeyinfo要素とSignedProtperties要素とあわせた3要素を、管理サーバーのセカンドHPKI証明書の秘密鍵で署名したSignatureValueをもつPrescriptionSign要素を返却__してきて、xml.SetPrescriptionSign(signedXml.SignedXmlData.Base64ToUtf()); | + | をみると、IDトークンとPrescriptionDocumentのHash値を、管理サーバーの署名APIに渡しているようである。__PrescriptionDocument要素のハッシュ値のみ管理サーバーに渡し、管理サーバーがもっているKeyinfo要素とSignedProtperties要素とあわせた3要素を、管理サーバーのセカンドHPKI証明書の秘密鍵で署名したSignatureValueをもつPrescriptionSign要素を返却__してきて、xml.SetPrescriptionSign(signedXml.SignedXmlData.Base64ToUtf()); |
* WbAPIを選んだ場合 | * WbAPIを選んだ場合 | ||
行 311: | 行 313: | ||
var result = client.UploadString(this.SignApiUri + " | var result = client.UploadString(this.SignApiUri + " | ||
</ | </ | ||
- | をみると、IDトークンとcsvを渡しているようである。↑のライブラリのコードから推察すると、RemoteSignatueClientService.exeがローカルでcsvDataから、PrescriptionDocument要素を作る。__PrescriptionDocument要素のハッシュ値のみ管理サーバーに渡し、管理サーバーがもっているKeyinfo要素とSignedProtperties要素とあわせた3要素を、管理サーバーのセカンドHPKI証明書の秘密鍵で署名したSignatureValueをもつPrescriptionSign要素を返却__してきて、ローカルでRemoteSignatueClientService.exeが処理したPrescriptionDocument要素と合体しているのだろう。 | + | をみると、IDトークンと処方箋csvをRemoteSignatueClientServiceに渡しているようである。↑のライブラリのコードから推察すると、RemoteSignatueClientService.exeがローカルでcsvDataから、PrescriptionDocument要素を作る。__PrescriptionDocument要素のハッシュ値のみ管理サーバーに渡し、管理サーバーがもっているKeyinfo要素とSignedProtperties要素とあわせた3要素を、管理サーバーのセカンドHPKI証明書の秘密鍵で署名したSignatureValueをもつPrescriptionSign要素を返却__してきて、ローカルでRemoteSignatueClientService.exeが処理したPrescriptionDocument要素と合体しているのだろう。 |
=== HPKIセカンド電子証明書管理サービスクライアント証明書の扱い === | === HPKIセカンド電子証明書管理サービスクライアント証明書の扱い === |
idトークン獲得の流れ.1739761317.txt.gz · 最終更新: 2025/02/17 12:01 by admin