マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

キーストアの分離

ユーザ

ユーザー毎に別のキーストアを持つ。

アプリ

さらにアプリ毎にコンテナが分割される。

シーケンス

共通

認証器の調査: KeyCredentialManager?.IsSupportedAsync?()メソッド

if (await KeyCredentialManager.IsSupportedAsync() == false)
{
  ・・・

キーのストア&コンテナを開く: KeyCredentialManager?.OpenAsync?()メソッド

当該ユーザ&アプリケーションのキーのストア&コンテナを開く。

// retrieve private key for sign
KeyCredentialRetrievalResult res =
  await KeyCredentialManager.OpenAsync("keyName");

if (res.Status == KeyCredentialStatus.Success)
{
  ・・・

登録

上記の結果が、

if (res.Status == KeyCredentialStatus.NotFound)
{
  ・・・

の場合、

キーペアを作成する: KeyCredentialManager?.RequestCreateAsync?()メソッド

public keyを取得する: KeyCredential?.RetrievePublicKey?()メソッド

Attestationを取得する: KeyCredential?.GetAttestationAsync?()メソッド

認証

上記の結果が、

if (res.Status == KeyCredentialStatus.Success)
{
  ・・・

の場合、

KeyCredentialManager?.RequestSignAsync?()メソッド

登録後、この App に SignIn? する際には、PIN の入力や biometrics 認証を使って、この登録された private key を使ったデジタル署名 (RequestSignAsync?) が可能です。

その他

KeyCredentialManager?.DeleteAsync?

private keyを削除する。

await KeyCredentialManager.DeleteAsync("keyName");

参考


Tags: :認証基盤


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS