Skip to content

Latest commit

 

History

History
72 lines (47 loc) · 7.89 KB

CTAPcs_ReadMe_02.md

File metadata and controls

72 lines (47 loc) · 7.89 KB

AuthenticatorConnector Class

FIDOキーと通信するクラスはAuthenticatorConnectorを継承した以下のクラスです。

  • HIDAuthenticatorConnector

    • CTAPのHIDインタフェースを実装しています。HIDタイプのFIDOキーと通信します。
  • NFCAuthenticatorConnector

    • CTAPのNFCインタフェースを実装しています。NFCタイプのFIDOキーと通信します。
  • BLEAuthenticatorConnector

    • CTAPのBLEインタフェースを実装しています。BLEタイプのFIDOキーと通信します。

AuthenticatorConnector

以下のメソッドを実装しています。

method 機能 対応するCTAPコマンド
async Task<ResponseGetInfo>
GetInfoAsync()
FIDOキーの情報を取得する authenticatorGetInfo (0x04)
async Task<ResponseMakeCredential>
MakeCredentialAsync
(CTAPCommandMakeCredentialParam param, byte[] pinAuth = null)

async Task<ResponseMakeCredential>
MakeCredentialAsync
(CTAPCommandMakeCredentialParam param, string pin)
クレデンシャルの登録 authenticatorMakeCredential(0x01)
async Task<ResponseGetAssertion>
GetAssertionAsync
(CTAPCommandGetAssertionParam param, byte[] pinAuth = null)

async Task<ResponseGetAssertion>
GetAssertionAsync
(CTAPCommandGetAssertionParam param, string pin)
認証 authenticatorGetAssertion (0x02)
async Task<ResponseGetAssertion>
GetNextAssertionAsync()
認証 authenticatorGetNextAssertion (0x08)
async Task<ResponseClientPIN_getRetries>
ClientPINgetRetriesAsync()
PINリトライ回数の取得 authenticatorGetInfo (0x04)
async Task<ResponseClientPIN_getKeyAgreement>
ClientPINgetKeyAgreementAsync()
Key Agreementを取得する authenticatorClientPIN (0x06)
async Task<ResponseClientPIN>
ClientPINsetPINAsync
(string newpin)
初期PINを設定する authenticatorClientPIN (0x06)
async Task<ResponseClientPIN>
ClientPINchangePINAsync
(string newpin, string currentpin)
PINを更新する authenticatorClientPIN (0x06)
async Task<ResponseClientPIN_getPINToken>
ClientPINgetPINTokenAsync
(string pin)

async Task<ResponseClientPIN_getPINToken>
ClientPINgetPINTokenAsync
(COSE_Key keyAgreement, byte[] pinHashEnc, byte[] sharedSecret)
PIN Tokenを取得する authenticatorClientPIN (0x06)
async Task<ResponseReset>
ResetAsync()
FIDOキーをリセットする authenticatorReset (0x07)

HIDAuthenticatorConnector

  • 継承元のAuthenticatorConnectorに加えて以下のメソッド/イベントを実装しています。
method/event 機能 備考
HIDAuthenticatorConnector()
HIDAuthenticatorConnector
(HidParam hidParam)
コンストラクタ
bool
IsConnected()
HID FIDOキーの接続チェック -
async Task<bool>
WinkAsync()
HID FIDOキーLEDを点滅する CTAPHID_WINK (0x08)
static List<string>
GetAllHIDDeviceInfo()
接続されているHIDデバイス情報を取得する -
event EventHandler
KeepAlive
UP,UVの操作Wait中に発生するイベント CTAPHID_KEEPALIVE (0x3B)

NFCAuthenticatorConnector

  • 継承元のAuthenticatorConnectorに加えて以下のメソッドを実装しています。
method 機能 備考
NFCAuthenticatorConnector() コンストラクタ
bool
IsConnected()
NFC FIDOキーの接続チェック -

BLEAuthenticatorConnector

  • 継承元のAuthenticatorConnectorに加えて以下のメソッド/イベントを実装しています。
method/event 機能 備考
BLEAuthenticatorConnector() コンストラクタ
async Task<bool>
ConnectAsync
(ulong bluetoothAddress)
BLE FIDOキーと接続します -
bool
Disconnect()
BLE FIDOキーと切断します
event EventHandler
ConnectedDevice
BLE FIDOキーと接続すると発生するイベント
event EventHandler
DisconnectedDevice
BLE FIDOキーと切断すると発生するイベント
event EventHandler
KeepAlive
UP,UVの操作Wait中に発生するイベント 8.3.4.3.Command, Status, and Error constants