FIDOキーと通信するクラスはAuthenticatorConnector
を継承した以下のクラスです。
-
HIDAuthenticatorConnector
- CTAPのHIDインタフェースを実装しています。HIDタイプのFIDOキーと通信します。
-
NFCAuthenticatorConnector
- CTAPのNFCインタフェースを実装しています。NFCタイプのFIDOキーと通信します。
-
BLEAuthenticatorConnector
- CTAPのBLEインタフェースを実装しています。BLEタイプのFIDOキーと通信します。
以下のメソッドを実装しています。
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) |
- 継承元の
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) |
- 継承元の
AuthenticatorConnector
に加えて以下のメソッドを実装しています。
method | 機能 | 備考 |
---|---|---|
NFCAuthenticatorConnector() | コンストラクタ | |
bool IsConnected() |
NFC FIDOキーの接続チェック | - |
- 継承元の
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 |