ユーザ用ツール

サイト用ツール


idトークン獲得の流れ

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
idトークン獲得の流れ [2025/02/17 12:01] – [2.2.認可サーバーの認可エンドポイントに到達 → 4.認証画面にジャンプ] adminidトークン獲得の流れ [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://tarumi.co.jp/Resources/doku.php?id=ジェネリック薬品:電子処方箋#セカンド証明書+  * 秘密鍵は、スマートフォン内のセキュアストレージに保管されており指紋認証しないとアクセスできない。 cf.[[https://tarumi.co.jp/Resources/doku.php?id=ジェネリック薬品:電子処方箋#セカンド証明書|セカンド証明書]]
   * 秘密鍵は、最初に{{:firstqrcode.jpg?200|}} を読み込んでパスワード入力したときに、「HPKIセカンド電子証明書」の秘密鍵がスマートフォンのセキュア領域に格納される。指紋認証できるスマホしか受け付けないのはこのため。   * 秘密鍵は、最初に{{:firstqrcode.jpg?200|}} を読み込んでパスワード入力したときに、「HPKIセカンド電子証明書」の秘密鍵がスマートフォンのセキュア領域に格納される。指紋認証できるスマホしか受け付けないのはこのため。
  
行 178: 行 180:
   * 署名付き電子処方箋xmlを受け取る。   * 署名付き電子処方箋xmlを受け取る。
  
-====== ExamplePublisherClientのWebAPIとライブラリ ======+====== ExamplePublisherClientのライブラリとWebAPI ======
  
  
行 254: 行 256:
  
 ==== WebAPI ==== ==== WebAPI ====
-  * ポート番号:5000で待ち受けしているRemoteSignatureClientServiceにポストする。+  * 署名APIUrlのポート番号:5000で待ち受けしているRemoteSignatureClientServiceにポストする。
   * コアの部分   * コアの部分
 <code csharp> <code csharp>
行 282: 行 284:
  
 ==== 「管理サーバーに何を渡しているのか」の考察 ==== ==== 「管理サーバーに何を渡しているのか」の考察 ====
-=== 処方箋csvの扱い ===+=== 処方箋情報の扱い ===
  
   * ライブラリを選んだ場合   * ライブラリを選んだ場合
行 301: 行 303:
 return xml; return xml;
 </code> </code>
-をみると、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 + "signature/prescription/sign", request.ToString()); var result = client.UploadString(this.SignApiUri + "signature/prescription/sign", request.ToString());
 </code> </code>
-をみると、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