目录

FIDO2(通行密钥服务)

概述

提供通行密钥能力。

系统能力: SystemCapability.Security.FIDO2

起始版本: 6.0.0(20)

汇总

[h2]文件

名称 描述
fido2_api.h 本声明用于访问FIDO2的API。提供FIDO2(通行密钥)能力的相关接口。FIDO2的基础核心能力,包含:获取支持的FIDO2能力、获取平台认证器能力、注册通行密钥能力和使用通行密钥认证能力。

[h2]结构体

名称 描述
struct Uint8Buff 定义uint8_t字节流。
struct AuthenticationExtensionsClientOutputs 身份认证扩展输出。
struct FIDO2_AuthenticatorResponse 定义获取认证器断言响应的结构体。
struct FIDO2_PublicKeyAssertionCredential 定义获取认证结果结构体。
struct FIDO2_AuthenticatorTransportArray 认证器传输方式数组。
struct FIDO2_AuthenticatorAttestationResponse 认证器声明响应。
struct FIDO2_PublicKeyAttestationCredential 定义获取注册结果结构体。
struct FIDO2_AuthenticatorSelectionCriteria 由WebAuthn依赖方(即接入协议的应用或网页)指定,与认证器有关。
struct FIDO2_PublicKeyCredentialDescriptor 用于注册或认证凭据的参数。
struct FIDO2_PublicKeyCredentialParameters 认证凭据的附加参数。
struct FIDO2_PublicKeyCredentialUserEntity 创建新凭据时用户的属性。
struct FIDO2_PublicKeyCredentialRpEntity 创建新凭据时依赖方的属性。
struct FIDO2_PublicKeyCredentialDescriptorArray PublicKey凭证描述符数组。
struct FIDO2_PublicKeyCredentialHintArray 认证方式指示数组。
struct FIDO2_PublicKeyCredentialRequestOptions 定义通行密钥认证请求参数。
struct FIDO2_CredentialCreationOptionArray 认证凭据的附加参数数组。
struct FIDO2_AttestationFormatsArray 依赖方的数组可以使用此成员指定一个关于认证方使用的证明语句格式的首选项。
struct FIDO2_PublicKeyCredentialCreationOptions 创建新的认证凭据的选项。
struct FIDO2_CredentialCreationOptions 凭据请求的选项。
struct FIDO2_AuthenticatorMetadata 认证器元数据。
struct FIDO2_CredentialRequestOptions 认证信息字典对象。
struct FIDO2_AuthenticatorMetadataArray 描述支持的认证器数组。
struct FIDO2_Capability 通行密钥能力的结构体。
struct FIDO2_CapabilityArray 描述能力数组。
struct FIDO2_TokenBinding Token binding协议,用于客户端与依赖方通信。

[h2]类型定义

名称 描述
typedef struct Uint8Buff Uint8Buff 定义uint8_t字节流。
typedef enum FIDO2_TokenBindingStatus FIDO2_TokenBindingStatus TokenBinding协议的状态。
typedef enum FIDO2_AttestationConveyancePreference FIDO2_AttestationConveyancePreference 供WebAuthn依赖方在生成凭据时参考,以指定凭据传递的首选项。
typedef enum FIDO2_UserVerificationRequirement FIDO2_UserVerificationRequirement 依赖方可能需要对某些操作进行用户鉴权(认证当前用户是否为用户), 但不需要对其他操作进行认证。定义枚举类型是为了区分不同的需求级别。
typedef enum FIDO2_AuthenticatorAttachment FIDO2_AuthenticatorAttachment 认证器信息(平台、漫游)。
typedef enum FIDO2_AuthenticatorTransport FIDO2_AuthenticatorTransport 认证器传输方式的枚举。
typedef enum FIDO2_Algorithm FIDO2_Algorithm FIDO2支持的密码算法枚举。
typedef enum FIDO2_PublicKeyCredentialHint FIDO2_PublicKeyCredentialHint 认证方式指示的枚举。
typedef enum FIDO2_PublicKeyCredentialType FIDO2_PublicKeyCredentialType 公钥凭据类型的枚举。
typedef enum FIDO2_Uvm FIDO2_Uvm UVM的枚举。
typedef enum FIDO2_ClientCapability FIDO2_ClientCapability 客户端能力的枚举。
typedef enum FIDO2_CredentialMediationRequirement FIDO2_CredentialMediationRequirement 用户介入要求的枚举。
typedef enum FIDO2_ErrorCode FIDO2_ErrorCode 错误码定义。
typedef struct AuthenticationExtensionsClientOutputs AuthenticationExtensionsClientOutputs 身份认证扩展输出。
typedef struct FIDO2_AuthenticatorResponse FIDO2_AuthenticatorResponse 定义获取认证器断言响应的结构体。
typedef struct FIDO2_PublicKeyAssertionCredential FIDO2_PublicKeyAssertionCredential 定义获取认证结果结构体。
typedef struct FIDO2_AuthenticatorTransportArray FIDO2_AuthenticatorTransportArray 认证器传输方式数组。
typedef struct FIDO2_AuthenticatorAttestationResponse FIDO2_AuthenticatorAttestationResponse 认证器声明响应。
typedef struct FIDO2_PublicKeyAttestationCredential FIDO2_PublicKeyAttestationCredential 定义获取注册结果结构体。
typedef struct FIDO2_AuthenticatorSelectionCriteria FIDO2_AuthenticatorSelectionCriteria 由WebAuthn依赖方指定,与认证器有关。
typedef struct FIDO2_PublicKeyCredentialDescriptor FIDO2_PublicKeyCredentialDescriptor 用于注册或认证凭据的参数。
typedef struct FIDO2_PublicKeyCredentialParameters FIDO2_PublicKeyCredentialParameters 认证凭据的附加参数。
typedef struct FIDO2_PublicKeyCredentialUserEntity FIDO2_PublicKeyCredentialUserEntity 创建新凭据时用户的属性。
typedef struct FIDO2_PublicKeyCredentialRpEntity FIDO2_PublicKeyCredentialRpEntity 创建新凭据时依赖方的属性。
typedef struct FIDO2_PublicKeyCredentialDescriptorArray FIDO2_PublicKeyCredentialDescriptorArray PublicKey凭证描述符数组。
typedef struct FIDO2_PublicKeyCredentialHintArray FIDO2_PublicKeyCredentialHintArray 认证方式指示数组。
typedef struct FIDO2_PublicKeyCredentialRequestOptions FIDO2_PublicKeyCredentialRequestOptions 定义通行密钥认证请求参数。
typedef struct FIDO2_CredentialCreationOptionArray FIDO2_CredentialCreationOptionArray 认证凭据的附加参数数组。
typedef struct FIDO2_AttestationFormatsArray FIDO2_AttestationFormatsArray 依赖方的数组可以使用此成员指定一个关于认证方使用的证明语句格式的首选项。
typedef struct FIDO2_PublicKeyCredentialCreationOptions FIDO2_PublicKeyCredentialCreationOptions 创建新的认证凭据的选项。
typedef struct FIDO2_CredentialCreationOptions FIDO2_CredentialCreationOptions 凭据请求的选项。
typedef struct FIDO2_AuthenticatorMetadata FIDO2_AuthenticatorMetadata 认证器元数据。
typedef struct FIDO2_CredentialRequestOptions FIDO2_CredentialRequestOptions 认证信息字典对象。
typedef struct FIDO2_AuthenticatorMetadataArray FIDO2_AuthenticatorMetadataArray 描述支持的认证器数组。
typedef struct FIDO2_Capability FIDO2_Capability 通行密钥能力的结构体。
typedef struct FIDO2_CapabilityArray FIDO2_CapabilityArray 描述能力数组。
typedef struct FIDO2_TokenBinding FIDO2_TokenBinding Token binding(协议),用于客户端与依赖方通信。

[h2]枚举

名称 描述
FIDO2_TokenBindingStatus { FIDO2_PRESENT = 0, FIDO2_SUPPORTED = 1 } TokenBinding协议的状态。
FIDO2_AttestationConveyancePreference { FIDO2_NONE = 0, FIDO2_INDIRECT = 1, FIDO2_DIRECT = 2, FIDO2_ENTERPRISE = 3 } 供WebAuthn依赖方在生成凭据时参考,以指定凭据传递的首选项。
FIDO2_UserVerificationRequirement { FIDO2_REQUIRED = 0, FIDO2_PREFERRED = 1, FIDO2_DISCOURAGED = 2 } 依赖方可能需要对某些操作进行用户鉴权(认证当前用户是否为用户), 但不需要对其他操作进行认证。定义枚举类型是为了区分不同的需求级别。
FIDO2_AuthenticatorAttachment { FIDO2_PLATFORM = 0, FIDO2_CROSS_PLATFORM = 1 } 认证器信息(平台、漫游)。

FIDO2_AuthenticatorTransport {

FIDO2_USB = 0, FIDO2_NFC = 1, FIDO2_BLE = 2, FIDO2_SMART_CARD = 3,

FIDO2_HYBRID = 4, FIDO2_INTERNAL = 5

}

认证器传输方式的枚举。

FIDO2_Algorithm {

FIDO2_ES256 = -7, FIDO2_ES384 = -35, FIDO2_ES512 = -36, FIDO2_RS256 = -257,

FIDO2_RS384 = -258, FIDO2_RS512 = -259, FIDO2_PS256 = -37, FIDO2_PS384 = -38,

FIDO2_PS512 = -39

}

FIDO2支持的密码算法枚举。
FIDO2_PublicKeyCredentialHint { FIDO2_SECURITY_KEY = 0, FIDO2_CLIENT_DEVICE = 1, FIDO2_HINT_HYBRID = 2 } 认证方式指示的枚举。
FIDO2_PublicKeyCredentialType { FIDO2_PUBLIC_KEY = 0 } 公钥凭据类型的枚举。
FIDO2_Uvm { FIDO2_UVM_FINGERPRINT = 2, FIDO2_UVM_PIN = 4, FIDO2_UVM_FACEPRINT = 16 } UVM的枚举。

FIDO2_ClientCapability {

FIDO2_CONDITIONAL_CREATE = 0, FIDO2_CONDITIONAL_GET = 1, FIDO2_HYBRID_TRANSPORT = 2, FIDO2_PASSKEY_PLATFORM_AUTHENTICATOR = 3,

FIDO2_USER_VERIFYING_PLATFORM_AUTHENTICATOR = 4, FIDO2_RELATED_ORIGINS = 5, FIDO2_SIGNAL_ALL_ACCEPTED_CREDENTIALS = 6, FIDO2_SIGNAL_CURRENT_USER_DETAILS = 7,

FIDO2_SIGNAL_UNKNOWN_CREDENTIAL = 8, FIDO2_EXTENSION_UVI = 9, FIDO2_EXTENSION_LARGEBLOB = 10, FIDO2_EXTENSION_AUTH_TYPE_LIST = 11

}

客户端能力的枚举。
FIDO2_CredentialMediationRequirement { FIDO2_SILENT = 0, FIDO2_OPTIONAL = 1, FIDO2_CONDITIONAL = 2, FIDO2_MEDIATION_REQUIRED = 3 } 用户介入要求的枚举。

FIDO2_ErrorCode {

FIDO2_SUCCESS = 0, FIDO2_PERMISSION_DENIED = 201, FIDO2_DEVICE_NOT_SUPPORT = 801, FIDO2_NOT_SUPPORT = 1021300001, FIDO2_INVALID_STATE = 1021300002,

FIDO2_INTEGRITY_CHECK_FAILED = 1021300003, FIDO2_USER_ABORT = 1021300004, FIDO2_TIMEOUT = 1021300005, FIDO2_ENCODING_ERROR = 1021300006,

FIDO2_UNKNOWN_ERROR = 1021300007, FIDO2_CONSTRAINT_ERROR = 1021300008, FIDO2_DATA_ERROR = 1021300009, FIDO2_USER_REJECTS = 1021300010,

FIDO2_CONNECT_SERVICE_FAILED = 1021300011, FIDO2_MAX_CRED_NUM_REACHED = 1021300012, FIDO2_INVALID_CTAP_COMMAND = 1021310001, FIDO2_INVALID_PARAMETERS = 1021310002, FIDO2_INVALID_MESSAGE_OR_ATTRIBUTE_LENGTH = 1021310003,

FIDO2_INVALID_CBOR_OR_UNPREDICTABLE = 1021310004, FIDO2_PARSE_CBOR_FAILED = 1021310005, FIDO2_INVALID_CREDENTIALS = 1021310006, FIDO2_NOT_ALLOWED = 1021310007,

FIDO2_USER_VERIFICATION_FAILED = 1021310008, FIDO2_OTHER_ERROR = 1021310009, FIDO2_USER_CANCELLED_SWITCHED = 1021300013

}

错误码定义。

[h2]函数

名称 描述
void HMS_FIDO2_initCreationOptions (FIDO2_CredentialCreationOptions *options) 初始化FIDO2_CredentialCreationOptions结构。
void HMS_FIDO2_initTokenBinding (FIDO2_TokenBinding *tokenBinding) 初始化FIDO2_TokenBinding结构体。
void HMS_FIDO2_initRequestOptions (FIDO2_CredentialRequestOptions *options) 初始化FIDO2_CredentialRequestOptions结构。
FIDO2_ErrorCode HMS_FIDO2_getClientCapability (FIDO2_CapabilityArray **capability) 查询当前设备支持的客户端能力列表。当给定功能的值为true时,表示通行密钥客户端当前支持该能力。
FIDO2_ErrorCode HMS_FIDO2_getPlatformAuthenticator (FIDO2_AuthenticatorMetadataArray **authenticators) 获取支持的平台身份认证器列表。
FIDO2_ErrorCode HMS_FIDO2_register (const FIDO2_CredentialCreationOptions options, const FIDO2_TokenBinding tokenBinding, const char *origin, FIDO2_PublicKeyAttestationCredential **publicKeyAttestationCredential) 通行密钥注册。
FIDO2_ErrorCode HMS_FIDO2_authenticate (const FIDO2_CredentialRequestOptions options, const FIDO2_TokenBinding tokenBinding, const char *origin, FIDO2_PublicKeyAssertionCredential **publicKeyAssertionCredential) 通行密钥认证。
void HMS_FIDO2_CapabilityArray_Destroy (FIDO2_CapabilityArray *capability) 释放能力的数组。
void HMS_FIDO2_AuthenticatorMetadataArray_Destroy (FIDO2_AuthenticatorMetadataArray *authenticators) 释放认证者元数据数组。
void HMS_FIDO2_PublicKeyAttestationCredential_Destroy (FIDO2_PublicKeyAttestationCredential *publicKeyAttestationCredential) 释放PublicKeyAttestationCredential的结构体。
void HMS_FIDO2_PublicKeyAssertionCredential_Destroy (FIDO2_PublicKeyAssertionCredential *publicKeyAssertionCredential) 释放PublicKeyAssertionCredential的结构体。

类型定义说明

[h2]AuthenticationExtensionsClientOutputs

typedef struct AuthenticationExtensionsClientOutputs AuthenticationExtensionsClientOutputs

描述

身份认证扩展输出。

起始版本: 6.0.0(20)

[h2]FIDO2_Algorithm

typedef enum FIDO2_Algorithm FIDO2_Algorithm

描述

FIDO2支持的密码算法枚举。

起始版本: 6.0.0(20)

[h2]FIDO2_AttestationConveyancePreference

typedef enum FIDO2_AttestationConveyancePreference FIDO2_AttestationConveyancePreference

描述

供WebAuthn依赖方在生成凭据时参考,以指定凭据传递的首选项。

起始版本: 6.0.0(20)

[h2]FIDO2_AttestationFormatsArray

typedef struct FIDO2_AttestationFormatsArray FIDO2_AttestationFormatsArray

描述

依赖方的数组可以使用此成员指定一个关于认证方使用的证明语句格式的首选项。

起始版本: 6.0.0(20)

[h2]FIDO2_AuthenticatorAttachment

typedef enum FIDO2_AuthenticatorAttachment FIDO2_AuthenticatorAttachment

描述

认证器信息(平台、漫游)。

起始版本: 6.0.0(20)

[h2]FIDO2_AuthenticatorAttestationResponse

typedef struct FIDO2_AuthenticatorAttestationResponse FIDO2_AuthenticatorAttestationResponse

描述

认证器声明响应。

起始版本: 6.0.0(20)

[h2]FIDO2_AuthenticatorMetadata

typedef struct FIDO2_AuthenticatorMetadata FIDO2_AuthenticatorMetadata

描述

认证器元数据。

起始版本: 6.0.0(20)

[h2]FIDO2_AuthenticatorMetadataArray

typedef struct FIDO2_AuthenticatorMetadataArray FIDO2_AuthenticatorMetadataArray

描述

描述支持的认证器数组。

起始版本: 6.0.0(20)

[h2]FIDO2_AuthenticatorResponse

typedef struct FIDO2_AuthenticatorResponse FIDO2_AuthenticatorResponse

描述

定义获取认证器断言响应的结构体。

起始版本: 6.0.0(20)

[h2]FIDO2_AuthenticatorSelectionCriteria

typedef struct FIDO2_AuthenticatorSelectionCriteria FIDO2_AuthenticatorSelectionCriteria

描述

由WebAuthn依赖方指定,与认证器有关。

起始版本: 6.0.0(20)

[h2]FIDO2_AuthenticatorTransport

typedef enum FIDO2_AuthenticatorTransport FIDO2_AuthenticatorTransport

描述

认证器传输方式的枚举。

起始版本: 6.0.0(20)

[h2]FIDO2_AuthenticatorTransportArray

typedef struct FIDO2_AuthenticatorTransportArray FIDO2_AuthenticatorTransportArray

描述

认证器传输方式数组。

起始版本: 6.0.0(20)

[h2]FIDO2_Capability

typedef struct FIDO2_Capability FIDO2_Capability

描述

通行密钥能力的结构体。

起始版本: 6.0.0(20)

[h2]FIDO2_CapabilityArray

typedef struct FIDO2_CapabilityArray FIDO2_CapabilityArray

描述

描述能力数组。

起始版本: 6.0.0(20)

[h2]FIDO2_ClientCapability

typedef enum FIDO2_ClientCapability FIDO2_ClientCapability

描述

客户端能力的枚举。

起始版本: 6.0.0(20)

[h2]FIDO2_CredentialCreationOptionArray

typedef struct FIDO2_CredentialCreationOptionArray FIDO2_CredentialCreationOptionArray

描述

认证凭据的附加参数数组。

起始版本: 6.0.0(20)

[h2]FIDO2_CredentialCreationOptions

typedef struct FIDO2_CredentialCreationOptions FIDO2_CredentialCreationOptions

描述

凭据请求的选项。

起始版本: 6.0.0(20)

[h2]FIDO2_CredentialMediationRequirement

typedef enum FIDO2_CredentialMediationRequirement FIDO2_CredentialMediationRequirement

描述

用户介入要求的枚举。

起始版本: 6.0.0(20)

[h2]FIDO2_CredentialRequestOptions

typedef struct FIDO2_CredentialRequestOptions FIDO2_CredentialRequestOptions

描述

认证信息字典对象。

起始版本: 6.0.0(20)

[h2]FIDO2_ErrorCode

typedef enum FIDO2_ErrorCode FIDO2_ErrorCode

描述

错误码定义。

起始版本: 6.0.0(20)

[h2]FIDO2_PublicKeyAssertionCredential

typedef struct FIDO2_PublicKeyAssertionCredential FIDO2_PublicKeyAssertionCredential

描述

定义获取认证结果结构体。

起始版本: 6.0.0(20)

[h2]FIDO2_PublicKeyAttestationCredential

typedef struct FIDO2_PublicKeyAttestationCredential FIDO2_PublicKeyAttestationCredential

描述

定义获取注册结果结构体。

起始版本: 6.0.0(20)

[h2]FIDO2_PublicKeyCredentialCreationOptions

typedef struct FIDO2_PublicKeyCredentialCreationOptions FIDO2_PublicKeyCredentialCreationOptions

描述

创建新的认证凭据的选项。

起始版本: 6.0.0(20)

[h2]FIDO2_PublicKeyCredentialDescriptor

typedef struct FIDO2_PublicKeyCredentialDescriptor FIDO2_PublicKeyCredentialDescriptor

描述

用于注册或认证凭据的参数。

起始版本: 6.0.0(20)

[h2]FIDO2_PublicKeyCredentialDescriptorArray

typedef struct FIDO2_PublicKeyCredentialDescriptorArray FIDO2_PublicKeyCredentialDescriptorArray

描述

PublicKey凭证描述符数组。

起始版本: 6.0.0(20)

[h2]FIDO2_PublicKeyCredentialHint

typedef enum FIDO2_PublicKeyCredentialHint FIDO2_PublicKeyCredentialHint

描述

认证方式指示的枚举。

起始版本: 6.0.0(20)

[h2]FIDO2_PublicKeyCredentialHintArray

typedef struct FIDO2_PublicKeyCredentialHintArray FIDO2_PublicKeyCredentialHintArray

描述

认证方式指示数组。

起始版本: 6.0.0(20)

[h2]FIDO2_PublicKeyCredentialParameters

typedef struct FIDO2_PublicKeyCredentialParameters FIDO2_PublicKeyCredentialParameters

描述

认证凭据的附加参数。

起始版本: 6.0.0(20)

[h2]FIDO2_PublicKeyCredentialRequestOptions

typedef struct FIDO2_PublicKeyCredentialRequestOptions FIDO2_PublicKeyCredentialRequestOptions

描述

定义通行密钥认证请求参数。

起始版本: 6.0.0(20)

[h2]FIDO2_PublicKeyCredentialRpEntity

typedef struct FIDO2_PublicKeyCredentialRpEntity FIDO2_PublicKeyCredentialRpEntity

描述

创建新凭据时依赖方的属性。

起始版本: 6.0.0(20)

[h2]FIDO2_PublicKeyCredentialType

typedef enum FIDO2_PublicKeyCredentialType FIDO2_PublicKeyCredentialType

描述

公钥凭据类型的枚举。

起始版本: 6.0.0(20)

[h2]FIDO2_PublicKeyCredentialUserEntity

typedef struct FIDO2_PublicKeyCredentialUserEntity FIDO2_PublicKeyCredentialUserEntity

描述

创建新凭据时用户的属性。

起始版本: 6.0.0(20)

[h2]FIDO2_TokenBinding

typedef struct FIDO2_TokenBinding FIDO2_TokenBinding

描述

Token binding协议,用于客户端与依赖方通信。

起始版本: 6.0.0(20)

[h2]FIDO2_TokenBindingStatus

typedef enum FIDO2_TokenBindingStatus FIDO2_TokenBindingStatus

描述

TokenBinding协议的状态。

起始版本: 6.0.0(20)

[h2]FIDO2_UserVerificationRequirement

typedef enum FIDO2_UserVerificationRequirement FIDO2_UserVerificationRequirement

描述

依赖方可能需要对某些操作进行用户鉴权(认证当前用户是否为用户), 但不需要对其他操作进行认证。定义枚举类型是为了区分不同的需求级别。

起始版本: 6.0.0(20)

[h2]FIDO2_Uvm

typedef enum FIDO2_Uvm FIDO2_Uvm

描述

UVM的枚举。

起始版本: 6.0.0(20)

[h2]Uint8Buff

typedef struct Uint8Buff Uint8Buff

描述

定义uint8_t字节流。

起始版本: 6.0.0(20)

枚举类型说明

[h2]FIDO2_Algorithm

enum FIDO2_Algorithm

描述

FIDO2支持的密码算法枚举。

起始版本: 6.0.0(20)

枚举值 描述
FIDO2_ES256 ES256算法。
FIDO2_ES384 ES384算法。
FIDO2_ES512 ES512算法。
FIDO2_RS256 RS256算法。
FIDO2_RS384 RS384算法。
FIDO2_RS512 RS512算法。
FIDO2_PS256 PS256算法。
FIDO2_PS384 PS384算法。
FIDO2_PS512 PS512算法。

[h2]FIDO2_AttestationConveyancePreference

enum FIDO2_AttestationConveyancePreference

描述

供WebAuthn依赖方在生成凭据时参考,以指定凭据传递的首选项。

起始版本: 6.0.0(20)

枚举值 描述
FIDO2_NONE 依赖方对认证者证明不感兴趣,默认值为FIDO2_NONE。
FIDO2_INDIRECT 间接依赖方倾向于提供可认证的证明声明文档,但允许用户决定如何获得这种证明声明。
FIDO2_DIRECT 直接依赖方希望接收认证者生成的证明声明。
FIDO2_ENTERPRISE 依赖方希望接收企业证明。企业证明是一个证明声明, 其中可能包括唯一标识认证者的信息。

[h2]FIDO2_AuthenticatorAttachment

enum FIDO2_AuthenticatorAttachment

描述

认证器信息(平台、漫游)。

起始版本: 6.0.0(20)

枚举值 描述
FIDO2_PLATFORM 平台认证器,例如PIN码、指纹、人脸等。
FIDO2_CROSS_PLATFORM 跨平台认证器,即漫游认证器,包括蓝牙、NFC、USB等。

[h2]FIDO2_AuthenticatorTransport

enum FIDO2_AuthenticatorTransport

描述

认证器传输方式的枚举,表示认证器和客户端设备之间传递认证数据的方式。

起始版本: 6.0.0(20)

枚举值 描述
FIDO2_USB USB方式。
FIDO2_NFC NFC方式。
FIDO2_BLE BLE方式。
FIDO2_SMART_CARD 智能卡方式。
FIDO2_HYBRID 混合方式。即支持多种传输方式
FIDO2_INTERNAL 内部方式。

[h2]FIDO2_ClientCapability

enum FIDO2_ClientCapability

描述

客户端能力的枚举。

起始版本: 6.0.0(20)

枚举值 描述
FIDO2_CONDITIONAL_CREATE 通行密钥注册。
FIDO2_CONDITIONAL_GET 通行密钥认证。
FIDO2_HYBRID_TRANSPORT 混合传输,表示支持多种传输方式。
FIDO2_PASSKEY_PLATFORM_AUTHENTICATOR Passkey平台认证器。
FIDO2_USER_VERIFYING_PLATFORM_AUTHENTICATOR 用户认证平台认证器。
FIDO2_RELATED_ORIGINS 支持相关源/域的凭据操作。
FIDO2_SIGNAL_ALL_ACCEPTED_CREDENTIALS 发送所有接受的凭据。
FIDO2_SIGNAL_CURRENT_USER_DETAILS 发送当前用户详细信息。
FIDO2_SIGNAL_UNKNOWN_CREDENTIAL 发送未知凭据。
FIDO2_EXTENSION_UVI uvi的扩展参数。
FIDO2_EXTENSION_LARGEBLOB

largeBlob的扩展参数。

起始版本:26.0.0

FIDO2_EXTENSION_AUTH_TYPE_LIST

authType的扩展参数。

起始版本:26.0.0

[h2]FIDO2_CredentialMediationRequirement

enum FIDO2_CredentialMediationRequirement

描述

用户介入要求的枚举。

起始版本: 6.0.0(20)

枚举值 描述
FIDO2_SILENT 禁止用户介入指定的操作。如果可以在不需要用户介入的情况下进行操作,则正常。 如果需要用户介入,则操作将返回null。
FIDO2_OPTIONAL 如果在没有用户介入的情况下,可以为给定的操作传递凭据,则正常传递。 如果需要用户介入,那么用户代理将让用户介入决策。
FIDO2_CONDITIONAL 有条件的需要用户介入。对于认证场景,如果设备有凭据,则需要用户介入以选择凭据。对于注册场景,如果用户之前已同意创建凭据,可在无用户介入的情况下创建凭据。
FIDO2_MEDIATION_REQUIRED 在没有用户介入的情况下,用户代理将不会移交凭证。

[h2]FIDO2_ErrorCode

enum FIDO2_ErrorCode

描述

错误码定义。

起始版本: 6.0.0(20)

枚举值 描述
FIDO2_SUCCESS 成功。
FIDO2_PERMISSION_DENIED 权限被拒绝。
FIDO2_DEVICE_NOT_SUPPORT

设备类型错误。

起始版本:6.0.1(21)

FIDO2_NOT_SUPPORT 系统不支持。
FIDO2_INVALID_STATE 无效的状态。
FIDO2_INTEGRITY_CHECK_FAILED 系统完整性校验失败。
FIDO2_USER_ABORT 用户中止。
FIDO2_TIMEOUT 超时。
FIDO2_ENCODING_ERROR 编码错误。
FIDO2_UNKNOWN_ERROR 未知错误。
FIDO2_CONSTRAINT_ERROR 约束条件错误。
FIDO2_DATA_ERROR 数据错误。
FIDO2_USER_REJECTS 用户拒绝。
FIDO2_CONNECT_SERVICE_FAILED 连接服务失败。
FIDO2_MAX_CRED_NUM_REACHED 凭据达到上限。
FIDO2_INVALID_CTAP_COMMAND 无效的CTAP命令。
FIDO2_INVALID_PARAMETERS 命令包含无效参数。
FIDO2_INVALID_MESSAGE_OR_ATTRIBUTE_LENGTH 无效的消息或属性长度。
FIDO2_INVALID_CBOR_OR_UNPREDICTABLE 无效的CBOR或不可预知的错误。
FIDO2_PARSE_CBOR_FAILED 解析CBOR失败。
FIDO2_INVALID_CREDENTIALS 未提供有效凭据。
FIDO2_NOT_ALLOWED 不允许。
FIDO2_USER_VERIFICATION_FAILED 用户认证失败。
FIDO2_USER_CANCELLED_SWITCHED

用户认证失败切换其他认证方式。

起始版本:26.0.0

FIDO2_OTHER_ERROR 其他错误。

[h2]FIDO2_PublicKeyCredentialHint

enum FIDO2_PublicKeyCredentialHint

描述

认证方式指示的枚举,用于指示用户选用哪种认证方式。

起始版本: 6.0.0(20)

枚举值 描述
FIDO2_SECURITY_KEY 安全密钥。
FIDO2_CLIENT_DEVICE 客户端设备。
FIDO2_HINT_HYBRID 混合。

[h2]FIDO2_PublicKeyCredentialType

enum FIDO2_PublicKeyCredentialType

描述

公钥凭据类型的枚举。

起始版本: 6.0.0(20)

枚举值 描述
FIDO2_PUBLIC_KEY 公钥。

[h2]FIDO2_TokenBindingStatus

enum FIDO2_TokenBindingStatus

描述

TokenBinding协议的状态。

起始版本: 6.0.0(20)

枚举值 描述
FIDO2_PRESENT 正常通信时的状态。
FIDO2_SUPPORTED 支持令牌绑定,但是在与依赖方通信时未进行协商。

[h2]FIDO2_UserVerificationRequirement

enum FIDO2_UserVerificationRequirement

描述

依赖方可能需要对某些操作进行用户鉴权(认证当前用户是否为用户), 但不需要对其他操作进行认证。定义枚举类型是为了区分不同的需求级别。

起始版本: 6.0.0(20)

枚举值 描述
FIDO2_REQUIRED 需要进行用户认证。
FIDO2_PREFERRED 在可能的情况下,依赖方优先处理操作的用户认证, 但如果响应没有设置用户认证标志,则不会失败。
FIDO2_DISCOURAGED 依赖方在操作过程中不希望使用用户鉴权。

[h2]FIDO2_Uvm

enum FIDO2_Uvm

描述

UVM的枚举。

起始版本: 6.0.0(20)

枚举值 描述
FIDO2_UVM_FINGERPRINT 指纹认证器。
FIDO2_UVM_PIN PIN认证器。
FIDO2_UVM_FACEPRINT 3D人脸认证器。

函数说明

[h2]HMS_FIDO2_authenticate()

FIDO2_ErrorCode HMS_FIDO2_authenticate (const FIDO2_CredentialRequestOptions options, const FIDO2_TokenBinding tokenBinding, const char * origin, FIDO2_PublicKeyAssertionCredential ** publicKeyAssertionCredential)

描述

通行密钥认证。仅支持非UI线程调用。

申请权限: ohos.permission.ACCESS_FIDO2_ONLINEAUTH

起始版本: 6.0.0(20)

参数:

名称 描述
options 认证请求选项。
tokenBinding 认证令牌绑定。
origin 调用该方法时的安全来源。长度限制0到256。
publicKeyAssertionCredential 认证响应。

返回:

如果函数执行成功,则返回FIDO2_SUCCESS;如果函数执行失败,则返回特定的错误代码。详细信息请参见FIDO2_ErrorCode。

[h2]HMS_FIDO2_AuthenticatorMetadataArray_Destroy()

void HMS_FIDO2_AuthenticatorMetadataArray_Destroy (FIDO2_AuthenticatorMetadataArray * authenticators)

描述

释放认证者元数据数组。

起始版本: 6.0.0(20)

参数:

名称 描述
authenticators 要释放的鉴权字元数据数组。

[h2]HMS_FIDO2_CapabilityArray_Destroy()

void HMS_FIDO2_CapabilityArray_Destroy (FIDO2_CapabilityArray * capability)

描述

释放能力的数组。

起始版本: 6.0.0(20)

参数:

名称 描述
capability 要释放的能力的数组。

[h2]HMS_FIDO2_getClientCapability()

FIDO2_ErrorCode HMS_FIDO2_getClientCapability (FIDO2_CapabilityArray ** capability)

描述

查询当前设备支持的客户端能力列表。当给定功能的值为true时,表示通行密钥客户端当前支持该能力。

起始版本: 6.0.0(20)

参数:

名称 描述
capability 查询的设备客户端能力。

返回:

如果函数执行成功,则返回FIDO2_SUCCESS; 如果函数执行失败,则返回错误代码。详细信息请参见FIDO2_ErrorCode。

[h2]HMS_FIDO2_getPlatformAuthenticator()

FIDO2_ErrorCode HMS_FIDO2_getPlatformAuthenticator (FIDO2_AuthenticatorMetadataArray ** authenticators)

描述

获取支持的平台身份认证器列表。

起始版本: 6.0.0(20)

参数:

名称 描述
authenticators 支持的平台认证器列表。

返回:

如果函数执行成功,则返回FIDO2_SUCCESS;如果函数执行失败,则返回错误代码。详细信息请参见FIDO2_ErrorCode。

[h2]HMS_FIDO2_initCreationOptions()

void HMS_FIDO2_initCreationOptions (FIDO2_CredentialCreationOptions * options)

描述

初始化FIDO2_CredentialCreationOptions结构。

起始版本: 6.0.0(20)

参数:

名称 描述
options 指向要初始化的FIDO2_CredentialCreationOptions结构体的指针。

[h2]HMS_FIDO2_initRequestOptions()

void HMS_FIDO2_initRequestOptions (FIDO2_CredentialRequestOptions * options)

描述

初始化FIDO2_CredentialRequestOptions结构。

起始版本: 6.0.0(20)

参数:

名称 描述
options 指向要初始化的FIDO2_CredentialRequestOptions结构体的指针。

[h2]HMS_FIDO2_initTokenBinding()

void HMS_FIDO2_initTokenBinding (FIDO2_TokenBinding * tokenBinding)

描述

初始化FIDO2_TokenBinding结构体。

起始版本: 6.0.0(20)

参数:

名称 描述
tokenBinding 指向要初始化的FIDO2_TokenBinding结构体的指针。

[h2]HMS_FIDO2_PublicKeyAssertionCredential_Destroy()

void HMS_FIDO2_PublicKeyAssertionCredential_Destroy (FIDO2_PublicKeyAssertionCredential * publicKeyAssertionCredential)

描述

释放FIDO2_PublicKeyAssertionCredential的结构体。

起始版本: 6.0.0(20)

参数:

名称 描述
publicKeyAssertionCredential 要释放的FIDO2_PublicKeyAssertionCredential的结构体。

[h2]HMS_FIDO2_PublicKeyAttestationCredential_Destroy()

void HMS_FIDO2_PublicKeyAttestationCredential_Destroy (FIDO2_PublicKeyAttestationCredential * publicKeyAttestationCredential)

描述

释放FIDO2_PublicKeyAttestationCredential的结构体。

起始版本: 6.0.0(20)

参数:

名称 描述
publicKeyAttestationCredential 要释放的FIDO2_PublicKeyAttestationCredential的结构体。

[h2]HMS_FIDO2_register()

FIDO2_ErrorCode HMS_FIDO2_register (const FIDO2_CredentialCreationOptions options, const FIDO2_TokenBinding tokenBinding, const char * origin, FIDO2_PublicKeyAttestationCredential ** publicKeyAttestationCredential)

描述

通行密钥注册。仅支持非UI线程调用。

申请权限: ohos.permission.ACCESS_FIDO2_ONLINEAUTH

起始版本: 6.0.0(20)

参数:

名称 描述
options 注册请求选项。
tokenBinding 注册令牌绑定。
origin 调用该方法时的来源。长度限制0到256。
publicKeyAttestationCredential 注册响应。

返回:

如果函数执行成功,则返回FIDO2_SUCCESS;如果函数执行失败,则返回错误代码。详细信息请参见FIDO2_ErrorCode。