「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
儀式であり、
この儀式では、
が共同した、
が必要になる。
登録(RegistrationでAttestation)と、
認証(AuthenticationでAssertion)では、
以下のような、存在 vs 認証を行う。
const buf = new ArrayBuffer(100); // メモリ空間の確保 const view = new Uint8Array(buf); // 1行めで確保されたメモリ空間へアクセスするための型付き配列 view[0] = 0x12; // bufの0番めに書き込んでいるのと同義
内部で、authenticatorMakeCredential?を呼び出す。
// このRPはES256またはRS256の公開鍵を受け入れますが、ES256公開鍵を優先します。
pubKeyCredParams:
[
{
type: "public-key",
alg: -7 // "ES256" as registered in the IANA COSE Algorithms registry
},
{
type: "public-key",
alg: -257 // Value registered by this specification for "RS256"
}
],dictionary PublicKeyCredentialCreationOptions {
required PublicKeyCredentialRpEntity rp;
required PublicKeyCredentialUserEntity user;
required BufferSource challenge;
required sequence<PublicKeyCredentialParameters> pubKeyCredParams;
unsigned long timeout;
sequence<PublicKeyCredentialDescriptor> excludeCredentials = [];
AuthenticatorSelectionCriteria authenticatorSelection;
AttestationConveyancePreference attestation = "none";
AuthenticationExtensionsClientInputs extensions;
};厳密には、PublicKeyCredential?.responseに、
AuthenticatorResponse? <- AuthenticatorAttestationResponse? を含む、
PublicKeyCredential? に解決する Promiseを返す。
| # | Name | Length (in bytes) | Description |
| 1 | rpIdHash? | 32 | PublicKeyCredential?に関連付けられたRP IDのSHA-256ハッシュ |
| 2 | flags | 1 | Flags (bit 0 is the least significant bit) |
| 3 | signCount | 4 | 署名カウンタ(32-bit unsigned big-endian integer) |
| 4 | attestedCredentialData? | 可変(存在する場合) | 検証された認証器アテステーション(Authenticator Attestation)(存在する場合) |
| 5 | extensions | 可変(存在する場合) | 拡張の認証器データ |
内部で、authenticatorGetAssertion?を呼び出す。
dictionary PublicKeyCredentialRequestOptions {
required BufferSource challenge;
unsigned long timeout;
USVString rpId;
sequence<PublicKeyCredentialDescriptor> allowCredentials = [];
UserVerificationRequirement userVerification = "preferred";
AuthenticationExtensionsClientInputs extensions;
};厳密には、PublicKeyCredential?.responseに、
AuthenticatorResponse? <- AuthenticatorAssertionResponse? を含む、
PublicKeyCredential? に解決する Promiseを返す。
このドキュメントはFIDO2サーバのための非標準、提案されたREST APIを含んでいます。
このインターフェイスは必須ではありませんが、FIDO2適合テストツールで使用される
インターフェイスであり、適合性テストツールでメッセージを検証するための
標準的な方法でサーバーがメッセージを送受信できます。
Credential Management API中のPublicKeyCredential?を拡張したもの。
仕組みをアニメーションで解り易く説明している。
.NET standard の Web Authentication API対応ライブラリ。