diff --git a/en/device_api/hdi/face_auth/FaceAuthTypes.idl b/en/device_api/hdi/face_auth/FaceAuthTypes.idl index b945c81f9b9fcb5180b3da51835612885fdaef98..5718041a4ce46d60c5b9335969d76915c63a01ae 100644 --- a/en/device_api/hdi/face_auth/FaceAuthTypes.idl +++ b/en/device_api/hdi/face_auth/FaceAuthTypes.idl @@ -21,8 +21,8 @@ * * The face auth driver provides a unified interface for the face auth service to access the face auth driver. * After obtaining the face auth driver proxy, the service can call related APIs to obtain executors. - * After obtaining the face auth executors, the service can call related APIs to get executor info, get - * template info, enroll template, authenticate template, delete template, etc. + * After obtaining the face auth executors, the service can call related APIs to get executor information, get + * template information, enroll template, authenticate template, delete template, etc. * * @since 3.2 */ @@ -39,100 +39,137 @@ package ohos.hdi.face_auth.v1_0; /** - * Enumerates credential type for authentication. + * @brief Enumerates credential type for authentication. * * @since 3.2 * @version 1.0 */ enum AuthType : int { - PIN = 1, /**< Indicates authentication type is PIN. */ - FACE = 2, /**< Indicates authentication type is face. */ - FINGERPRINT = 3, /**< Indicates authentication type is fingerprint. */ + /**< Indicates authentication type is PIN. */ + PIN = 1, + /**< Indicates authentication type is face. */ + FACE = 2, + /**< Indicates authentication type is fingerprint. */ + FINGERPRINT = 3, }; /** - * Enumerates executor role. + * @brief Enumerates executor role. * * @since 3.2 * @version 1.0 */ enum ExecutorRole : int { - COLLECTOR = 1, /**< Indicates executor role is collector. */ - VERIFIER = 2, /**< Indicates executor role is verifier. */ - ALL_IN_ONE = 3, /**< Indicates executor role is combination of collector and verifier, cannot be used as collector or verifier. */ + /**< Indicates executor role is collector. */ + COLLECTOR = 1, + /**< Indicates executor role is verifier. */ + VERIFIER = 2, + /**< Indicates executor role is combination of collector and verifier. */ + ALL_IN_ONE = 3, }; /** - * Enumerates executor secure level. + * @brief Enumerates executor secure level. * * @since 3.2 * @version 1.0 */ enum ExecutorSecureLevel : int { - ESL0 = 0, /**< Indicates executor secure level is ESL0. */ - ESL1 = 1, /**< Indicates executor secure level is ESL1. */ - ESL2 = 2, /**< Indicates executor secure level is ESL2. */ - ESL3 = 3, /**< Indicates executor secure level is ESL3. */ + /**< Indicates executor secure level is ESL0. */ + ESL0 = 0, + /**< Indicates executor secure level is ESL1. */ + ESL1 = 1, + /**< Indicates executor secure level is ESL2. */ + ESL2 = 2, + /**< Indicates executor secure level is ESL3. */ + ESL3 = 3, }; /** - * Enumerates command id. + * @brief Enumerates command id. * * @since 3.2 * @version 1.0 */ enum CommandId : int { - LOCK_TEMPLATE = 1, /**< Indicates lock template command id. */ - UNLOCK_TEMPLATE = 2, /**< Indicates unlock template command id. */ - VENDOR_COMMAND_BEGIN = 10000 /**< Vendor may add custom command id after this. */ + /**< Indicates lock template command id. */ + LOCK_TEMPLATE = 1, + /**< Indicates unlock template command id. */ + UNLOCK_TEMPLATE = 2, + /**< Vendor may add custom command id after this. */ + VENDOR_COMMAND_BEGIN = 10000 }; /** - * Enumerates prompt codes. + * @brief Enumerates prompt codes. * * @since 3.2 * @version 1.0 */ enum FaceTipsCode : int { - FACE_AUTH_TIP_TOO_BRIGHT = 1, /**< Indicates that the obtained facial image is too bright due to high illumination. */ - FACE_AUTH_TIP_TOO_DARK = 2, /**< Indicates that the obtained facial image is too dark due to low illumination. */ - FACE_AUTH_TIP_TOO_CLOSE = 3, /**< Indicates that the face is too close to the device. */ - FACE_AUTH_TIP_TOO_FAR = 4, /**< Indicates that the face is too far away from the device. */ - FACE_AUTH_TIP_TOO_HIGH = 5, /**< Indicates that the device is too high, and that only the upper part of the face is captured. */ - FACE_AUTH_TIP_TOO_LOW = 6, /**< Indicates that the device is too low, and that only the lower part of the face is captured. */ - FACE_AUTH_TIP_TOO_RIGHT = 7, /**< Indicates that the device is deviated to the right, and that only the right part of the face is captured. */ - FACE_AUTH_TIP_TOO_LEFT = 8, /**< Indicates that the device is deviated to the left, and that only the left part of the face is captured. */ - FACE_AUTH_TIP_TOO_MUCH_MOTION = 9, /**< Indicates that the face moves too much during facial information collection. */ - FACE_AUTH_TIP_POOR_GAZE = 10, /**< Indicates the user is not gazing at the device. */ - FACE_AUTH_TIP_NOT_DETECTED = 11, /**< Indicates that no face is detected. */ - VENDOR_FACE_AUTH_TIP_BEGIN = 10000 /**< Vendor may add custom face auth tip after this. */ + /**< Indicates that the obtained facial image is too bright due to high illumination. */ + FACE_AUTH_TIP_TOO_BRIGHT = 1, + /**< Indicates that the obtained facial image is too dark due to low illumination. */ + FACE_AUTH_TIP_TOO_DARK = 2, + /**< Indicates that the face is too close to the device. */ + FACE_AUTH_TIP_TOO_CLOSE = 3, + /**< Indicates that the face is too far away from the device. */ + FACE_AUTH_TIP_TOO_FAR = 4, + /**< Indicates that the device is too high, and that only the upper part of the face is captured. */ + FACE_AUTH_TIP_TOO_HIGH = 5, + /**< Indicates that the device is too low, and that only the lower part of the face is captured. */ + FACE_AUTH_TIP_TOO_LOW = 6, + /**< Indicates that the device is deviated to the right, and that only the right part of the face is captured. */ + FACE_AUTH_TIP_TOO_RIGHT = 7, + /**< Indicates that the device is deviated to the left, and that only the left part of the face is captured. */ + FACE_AUTH_TIP_TOO_LEFT = 8, + /**< Indicates that the face moves too much during facial information collection. */ + FACE_AUTH_TIP_TOO_MUCH_MOTION = 9, + /**< Indicates the user is not gazing at the device. */ + FACE_AUTH_TIP_POOR_GAZE = 10, + /**< Indicates that no face is detected. */ + FACE_AUTH_TIP_NOT_DETECTED = 11, + /**< Vendor may add custom face auth tip after this. */ + VENDOR_FACE_AUTH_TIP_BEGIN = 10000 }; /** - * Indicates the executor info. + * @brief Indicates the executor info. * * @since 3.2 * @version 1.0 */ struct ExecutorInfo { - unsigned short sensorId; /**< Indicates sensor id. Sensor id must be unique in driver. */ - unsigned int executorType; /**< Indicates executor type. */ - enum ExecutorRole executorRole; /**< Indicates executor role, see @{ExecutorRole}. */ - enum AuthType authType; /**< Indicates auth type, see @{AuthType}. */ - enum ExecutorSecureLevel esl; /**< Indicates executor secure level, see @{ExecutorSecureLevel}. */ - unsigned char[] publicKey; /**< Indicates publicKey. */ - unsigned char[] extraInfo; /**< Indicates extra info. */ + /**< Indicates sensor id. Sensor id must be unique in driver. */ + unsigned short sensorId; + /**< Indicates executor type. */ + unsigned int executorType; + /**< Indicates executor role, see @{ExecutorRole}. */ + enum ExecutorRole executorRole; + /**< Indicates auth type, see @{AuthType}. */ + enum AuthType authType; + /**< Indicates executor secure level, see @{ExecutorSecureLevel}. */ + enum ExecutorSecureLevel esl; + /**< Indicates public key of executor. */ + unsigned char[] publicKey; + /**< Indicates extra information. */ + unsigned char[] extraInfo; }; /** - * Indicates the template info. + * @brief Indicates the template info. * * @since 3.2 * @version 1.0 */ struct TemplateInfo { - unsigned int executorType; /**< Indicates executor type. */ - int freezingTime; /**< Indicates freezing time in seconds. */ - int remainTimes; /**< Indicates remain times before a lockout. */ - unsigned char[] extraInfo; /**< Indicates extra info. */ -}; \ No newline at end of file + /**< Indicates executor type. */ + unsigned int executorType; + /**< Indicates freezing time in seconds. */ + int freezingTime; + /**< Indicates remaining authtication times before a lockout. */ + int remainTimes; + /**< Indicates extra information. */ + unsigned char[] extraInfo; +}; +/** @} */ \ No newline at end of file diff --git a/en/device_api/hdi/face_auth/IExecutor.idl b/en/device_api/hdi/face_auth/IExecutor.idl index 2164de737adbeb4c8f8bb398cd95212e33757f38..b646f1211e7e9a811dd1e2ca79e5c551fa22b28b 100644 --- a/en/device_api/hdi/face_auth/IExecutor.idl +++ b/en/device_api/hdi/face_auth/IExecutor.idl @@ -21,8 +21,8 @@ * * The face auth driver provides a unified interface for the face auth service to access the face auth driver. * After obtaining the face auth driver proxy, the service can call related APIs to obtain executors. - * After obtaining the face auth executors, the service can call related APIs to get executor info, get - * template info, enroll template, authenticate template, delete template, etc. + * After obtaining the face auth executors, the service can call related APIs to get executor information, get + * template information, enroll template, authenticate template, delete template, etc. * * @since 3.2 */ @@ -30,8 +30,8 @@ /** * @file IExecutor.idl * - * @brief Defines the APIs of executor. These APIs can be used to get executor info, get - * template info, enroll template, authenticate template, delete template, etc. + * @brief Defines the APIs of executor. These APIs can be used to get executor information, get + * template information, enroll template, authenticate template, delete template, etc. * * @since 3.2 */ @@ -42,17 +42,17 @@ import ohos.hdi.face_auth.v1_0.FaceAuthTypes; import ohos.hdi.face_auth.v1_0.IExecutorCallback; /** - * @brief Defines the APIs of executor. These APIs can be used to get executor info, get - * template info, enroll template, authenticate template, delete template, etc. + * @brief Defines the APIs of executor. These APIs can be used to get executor information, get + * template information, enroll template, authenticate template, delete template, etc. * * @since 3.2 * @version 1.0 */ interface IExecutor { /** - * @brief Get executor info. + * @brief Get executor information. * - * @param executorInfo Indicates executor info, see {@link ExecutorInfo}. + * @param executorInfo Indicates executor information, see {@link ExecutorInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-zero value if the operation fails. @@ -62,7 +62,7 @@ interface IExecutor { * @brief Get template info. * * @param templateId Indicates template id. - * @param templateInfo Indicates template info, see {@link TemplateInfo}. + * @param templateInfo Indicates template information, see {@link TemplateInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-zero value if the operation fails. @@ -73,7 +73,7 @@ interface IExecutor { * * @param templateIdList Indicates templates previously registered to userauth framework. * @param frameworkPublicKey Indicates framework public key. - * @param extraInfo Indicates extra info send to executor. + * @param extraInfo Indicates extra information send to executor. * * @return Returns 0 if the operation is successful. * @return Returns a non-zero value if the operation fails. @@ -82,9 +82,9 @@ interface IExecutor { /** * @brief Enroll template. * - * @param scheduleId Indicates schedule id of enroll. - * @param extraInfo Indicates extra info of enroll. - * @param callbackObj Indicates enroll callback object, see {@link IExecutorCallback}. + * @param scheduleId Indicates schedule id of enrollment. + * @param extraInfo Indicates extra information of enrollment. + * @param callbackObj Indicates enrollment callback object, see {@link IExecutorCallback}. * * @return Returns 0 if the operation is successful. * @return Returns a non-zero value if the operation fails. @@ -93,10 +93,10 @@ interface IExecutor { /** * @brief Authenticate template. * - * @param scheduleId Indicates schedule id of authenticate. + * @param scheduleId Indicates schedule id of authentication. * @param templateIdList Indicates the templates to authenticate. - * @param extraInfo Indicates extra info of authenticate. - * @param callbackObj Indicates authenticate callback object, see {@link IExecutorCallback}. + * @param extraInfo Indicates extra information of authentication. + * @param callbackObj Indicates authentication callback object, see {@link IExecutorCallback}. * * @return Returns 0 if the operation is successful. * @return Returns a non-zero value if the operation fails. @@ -105,9 +105,9 @@ interface IExecutor { /** * @brief Identify template. * - * @param scheduleId Indicates schedule id of identify. - * @param extraInfo Indicates extra info of identify. - * @param callbackObj Indicates identify callback object, see {@link IExecutorCallback}. + * @param scheduleId Indicates schedule id of identification. + * @param extraInfo Indicates extra information of identification. + * @param callbackObj Indicates identification callback object, see {@link IExecutorCallback}. * * @return Returns 0 if the operation is successful. * @return Returns a non-zero value if the operation fails. @@ -135,11 +135,12 @@ interface IExecutor { * @brief Send command to driver. * * @param commandId Indicates command id. For details, see {@link CommandId}. - * @param extraInfo Indicates extra info of command. + * @param extraInfo Indicates extra information of command. * @param callbackObj Indicates command callback object, see {@link IExecutorCallback}. * * @return Returns 0 if the operation is successful. * @return Returns a non-zero value if the operation fails. */ SendCommand([in] int commandId, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj); -} \ No newline at end of file +} +/** @} */ \ No newline at end of file diff --git a/en/device_api/hdi/face_auth/IExecutorCallback.idl b/en/device_api/hdi/face_auth/IExecutorCallback.idl index a1b52091d2bef0f5c3c119e0f17745d5c79412f6..a6885ee08553ea6e5eed655460a88c15248748bb 100644 --- a/en/device_api/hdi/face_auth/IExecutorCallback.idl +++ b/en/device_api/hdi/face_auth/IExecutorCallback.idl @@ -21,8 +21,8 @@ * * The face auth driver provides a unified interface for the face auth service to access the face auth driver. * After obtaining the face auth driver proxy, the service can call related APIs to obtain executors. - * After obtaining the face auth executors, the service can call related APIs to get executor info, get - * template info, enroll template, authenticate template, delete template, etc. + * After obtaining the face auth executors, the service can call related APIs to get executor information, get + * template information, enroll template, authenticate template, delete template, etc. * * @since 3.2 */ @@ -30,7 +30,7 @@ /** * @file IExecutorCallback.idl * - * @brief Defines the callback for async API. These callback can be used to report operation result or info + * @brief Defines the callback for async API. These callback can be used to report operation result or information * of async API. * * @since 3.2 @@ -50,20 +50,21 @@ package ohos.hdi.face_auth.v1_0; * @brief Defines the function for reporting operation result. * * @param result Indicates result code. - * @param extraInfo Indicates extra info to report. + * @param extraInfo Indicates extra information to report. * * @return Returns 0 if the operation is successful. * @return Returns a non-zero value if the operation fails. */ OnResult([in] int result, [in] unsigned char[] extraInfo); /** - * @brief defines the function for reporting info in process. + * @brief defines the function for reporting information in process. * - * @param acquire Indicates acquire info code, see {@link FaceTipsCode}. - * @param extraInfo Indicates extra info to report. + * @param acquire Indicates acquire information code, see {@link FaceTipsCode}. + * @param extraInfo Indicates extra information to report. * * @return Returns 0 if the operation is successful. * @return Returns a non-zero value if the operation fails. */ OnAcquireInfo([in] int acquire, [in] unsigned char[] extraInfo); -} \ No newline at end of file +} +/** @} */ \ No newline at end of file diff --git a/en/device_api/hdi/face_auth/IFaceAuthInterface.idl b/en/device_api/hdi/face_auth/IFaceAuthInterface.idl index ae6a926db61060571af31d01f902da6416a15178..eab2ed3e1087d53e267303555a47498c0ca5ffaa 100644 --- a/en/device_api/hdi/face_auth/IFaceAuthInterface.idl +++ b/en/device_api/hdi/face_auth/IFaceAuthInterface.idl @@ -21,8 +21,8 @@ * * The face auth driver provides a unified interface for the face auth service to access the face auth driver. * After obtaining the face auth driver proxy, the service can call related APIs to obtain executors. - * After obtaining the face auth executors, the service can call related APIs to get executor info, get - * template info, enroll template, authenticate template, delete template, etc. + * After obtaining the face auth executors, the service can call related APIs to get executor information, get + * template information, enroll template, authenticate template, delete template, etc. * * @since 3.2 */ @@ -56,4 +56,5 @@ interface IFaceAuthInterface { * @return Returns a non-zero value if the operation fails. */ GetExecutorList([out] IExecutor[] executorList); -} \ No newline at end of file +} +/** @} */ \ No newline at end of file diff --git a/en/device_api/hdi/pin_auth/IExecutor.idl b/en/device_api/hdi/pin_auth/IExecutor.idl index 244e6b64dab688d54667ff998b44adc36207fc1d..ca80a10a437ec62c54ac4041eea13e7020e9017e 100644 --- a/en/device_api/hdi/pin_auth/IExecutor.idl +++ b/en/device_api/hdi/pin_auth/IExecutor.idl @@ -21,8 +21,8 @@ * * The pin auth driver provides a unified interface for the pin auth service to access the pin auth driver. * After obtaining the pin auth driver proxy, the service can call related APIs to obtain executors. - * After obtaining the pin auth executors, the service can call related APIs to get executor info, get - * template info, enroll template, authenticate template, delete template, etc. + * After obtaining the pin auth executors, the service can call related APIs to get executor information, get + * template information, enroll template, authenticate template, delete template, etc. * * @since 3.2 */ @@ -30,8 +30,8 @@ /** * @file IExecutor.idl * - * @brief Defines the APIs of executor. These APIs can be used to get executor info, get - * template info, enroll template, authenticate template, delete template, etc. + * @brief Defines the APIs of executor. These APIs can be used to get executor information, get + * template information, enroll template, authenticate template, delete template, etc. * * @since 3.2 */ @@ -42,8 +42,8 @@ import ohos.hdi.pin_auth.v1_0.PinAuthTypes; import ohos.hdi.pin_auth.v1_0.IExecutorCallback; /** - * @brief Defines the APIs of executor. These APIs can be used to get executor info, get - * template info, enroll template, authenticate template, delete template, etc. + * @brief Defines the APIs of executor. These APIs can be used to get executor information, get + * template information, enroll template, authenticate template, delete template, etc. * * @since 3.2 * @version 1.0 @@ -51,19 +51,19 @@ import ohos.hdi.pin_auth.v1_0.IExecutorCallback; interface IExecutor { /** - * @brief Get executor info. + * @brief Get executor ininformationfo. * - * @param executorInfo Indicates executor info, see {@link ExecutorInfo}. + * @param executorInfo Indicates executor information, see {@link ExecutorInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-zero value if the operation fails. */ GetExecutorInfo([out] struct ExecutorInfo executorInfo); /** - * @brief Get template info. + * @brief Get template information. * * @param templateId Indicates template id. - * @param templateInfo Indicates template info, see {@link TemplateInfo}. + * @param templateInfo Indicates template information, see {@link TemplateInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-zero value if the operation fails. @@ -72,20 +72,20 @@ interface IExecutor { /** * @brief Send parameters to driver when executor register finish. * - * @param templateIdList Indicates templates previously registered to userauth framework. + * @param templateIdList Indicates templates previously registered to user auth framework. * @param frameworkPublicKey Indicates framework public key. - * @param extraInfo Indicates extra info send to executor. + * @param extraInfo Indicates extra information send to executor. * * @return Returns 0 if the operation is successful. * @return Returns a non-zero value if the operation fails. */ OnRegisterFinish([in] unsigned long[] templateIdList, [in] unsigned char[] frameworkPublicKey, [in] unsigned char[] extraInfo); /** - * @brief Send parameters to driver when executor register finish. + * @brief Set pin data to driver. * - * @param scheduleId Indicates schedule id of enroll. - * @param authSubType . - * @param data . + * @param scheduleId Indicates schedule id of the enrollment. + * @param authSubType Indicates the pin sub type. + * @param data Indicates the pin data. * * @return Returns 0 if the operation is successful. * @return Returns a non-zero value if the operation fails. @@ -94,9 +94,9 @@ interface IExecutor { /** * @brief Enroll template. * - * @param scheduleId Indicates schedule id of enroll. - * @param extraInfo Indicates extra info of enroll. - * @param callbackObj Indicates enroll callback object, see {@link IExecutorCallback}. + * @param scheduleId Indicates schedule id of the enrollment. + * @param extraInfo Indicates extra information of the enrollment. + * @param callbackObj Indicates enrollment callback object, see {@link IExecutorCallback}. * * @return Returns 0 if the operation is successful. * @return Returns a non-zero value if the operation fails. @@ -105,17 +105,17 @@ interface IExecutor { /** * @brief Authenticate template. * - * @param scheduleId Indicates schedule id of authenticate. + * @param scheduleId Indicates schedule id of the authentication. * @param templateId Indicates the template to authenticate. - * @param extraInfo Indicates extra info of authenticate. - * @param callbackObj Indicates authenticate callback object, see {@link IExecutorCallback}. + * @param extraInfo Indicates extra information of the authentication. + * @param callbackObj Indicates authentication callback object, see {@link IExecutorCallback}. * * @return Returns 0 if the operation is successful. * @return Returns a non-zero value if the operation fails. */ Authenticate([in] unsigned long scheduleId, [in] unsigned long templateId, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj); /** - * @brief Delete templates. + * @brief Delete template. * * @param templateId Indicates the template to delete. * @@ -124,7 +124,7 @@ interface IExecutor { */ Delete([in] unsigned long templateId); /** - * @brief Cancel enroll, authenticate or identify operation. + * @brief Cancel operation. * * @param scheduleId Indicates schedule id of operation to cancel. * @@ -136,7 +136,7 @@ interface IExecutor { * @brief Send command to driver. * * @param commandId Indicates command id. For details, see {@link CommandId}. - * @param extraInfo Indicates extra info of command. + * @param extraInfo Indicates extra information of command. * @param callbackObj Indicates command callback object, see {@link IExecutorCallback}. * * @return Returns 0 if the operation is successful. @@ -144,3 +144,4 @@ interface IExecutor { */ SendCommand([in] int commandId, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj); } +/** @} */ \ No newline at end of file diff --git a/en/device_api/hdi/pin_auth/IExecutorCallback.idl b/en/device_api/hdi/pin_auth/IExecutorCallback.idl index 8dc4922f2612aa13f8112655297fbc144164adaf..c969231241eaf5d0b3dfaa110ba380baedaea8ef 100644 --- a/en/device_api/hdi/pin_auth/IExecutorCallback.idl +++ b/en/device_api/hdi/pin_auth/IExecutorCallback.idl @@ -21,8 +21,8 @@ * * The pin auth driver provides a unified interface for the pin auth service to access the pin auth driver. * After obtaining the pin auth driver proxy, the service can call related APIs to obtain executors. - * After obtaining the pin auth executors, the service can call related APIs to get executor info, get - * template info, enroll template, authenticate template, delete template, etc. + * After obtaining the pin auth executors, the service can call related APIs to get executor information, get + * template information, enroll template, authenticate template, delete template, etc. * * @since 3.2 */ @@ -30,8 +30,8 @@ /** * @file IExecutorCallback.idl * - * @brief Defines the callback for async API. These callback can be used to report operation result or info - * of async API. + * @brief Defines the callback for async API. These callback can be used to report operation result or + * get information of async API. * * @since 3.2 */ @@ -50,20 +50,21 @@ package ohos.hdi.pin_auth.v1_0; * @brief Defines the function for reporting operation result. * * @param result Indicates result code. - * @param extraInfo Indicates extra info to report. + * @param extraInfo Indicates extra information to report. * * @return Returns 0 if the operation is successful. * @return Returns a non-zero value if the operation fails. */ OnResult([in] int result, [in] unsigned char[] extraInfo); /** - * @brief defines the function for reporting info in process. + * @brief defines the function for getting pin data. * - * @param salt Indicates acquire info code, see {@link FaceTipsCode}. - * @param authSubType Indicates extra info to report. + * @param salt Indicates the value used to compute pin data. + * @param authSubType Indicates pin sub type. * * @return Returns 0 if the operation is successful. * @return Returns a non-zero value if the operation fails. */ OnGetData([in] unsigned long scheduleId, [in] unsigned char[] salt, [in] unsigned long authSubType); -} \ No newline at end of file +} +/** @} */ \ No newline at end of file diff --git a/en/device_api/hdi/pin_auth/IPinAuthInterface.idl b/en/device_api/hdi/pin_auth/IPinAuthInterface.idl index 1c21f6fa6f6f11c7769da256dffdef5cc40ecebd..5bc62d066eb5600530df66fc054ca87fe5e4b2c0 100644 --- a/en/device_api/hdi/pin_auth/IPinAuthInterface.idl +++ b/en/device_api/hdi/pin_auth/IPinAuthInterface.idl @@ -21,8 +21,8 @@ * * The pin auth driver provides a unified interface for the pin auth service to access the pin auth driver. * After obtaining the pin auth driver proxy, the service can call related APIs to obtain executors. - * After obtaining the pin auth executors, the service can call related APIs to get executor info, get - * template info, enroll template, authenticate template, delete template, etc. + * After obtaining the pin auth executors, the service can call related APIs to get executor information, get + * template information, enroll template, authenticate template, delete template, etc. * * @since 3.2 */ @@ -56,4 +56,5 @@ interface IPinAuthInterface { * @return Returns a non-zero value if the operation fails. */ GetExecutorList([out] IExecutor[] executorList); -} \ No newline at end of file +} +/** @} */ \ No newline at end of file diff --git a/en/device_api/hdi/pin_auth/PinAuthTypes.idl b/en/device_api/hdi/pin_auth/PinAuthTypes.idl index 3f89572e39239e7a5632fbd6be546c2689a36eec..3961a688165fd0bb9d19bff263d683bde5ba394a 100644 --- a/en/device_api/hdi/pin_auth/PinAuthTypes.idl +++ b/en/device_api/hdi/pin_auth/PinAuthTypes.idl @@ -21,8 +21,8 @@ * * The pin auth driver provides a unified interface for the pin auth service to access the pin auth driver. * After obtaining the pin auth driver proxy, the service can call related APIs to obtain executors. - * After obtaining the pin auth executors, the service can call related APIs to get executor info, get - * template info, enroll template, authenticate template, delete template, etc. + * After obtaining the pin auth executors, the service can call related APIs to get executor information, get + * template information, enroll template, authenticate template, delete template, etc. * * @since 3.2 */ @@ -35,81 +35,105 @@ * * @since 3.2 */ + package ohos.hdi.pin_auth.v1_0; /** - * Enumerates credential type for authentication. + * @brief Enumerates credential type for authentication. * * @since 3.2 * @version 1.0 */ enum AuthType : int { - PIN = 1, /**< Indicates authentication type is PIN. */ - FACE = 2, /**< Indicates authentication type is face. */ - FINGERPRINT = 3, /**< Indicates authentication type is fingerprint. */ + /**< Indicates authentication type is PIN. */ + PIN = 1, + /**< Indicates authentication type is face. */ + FACE = 2, + /**< Indicates authentication type is fingerprint. */ + FINGERPRINT = 3, }; /** - * Enumerates executor role. + * @brief Enumerates executor role. * * @since 3.2 * @version 1.0 */ enum ExecutorRole : int { - COLLECTOR = 1, /**< Indicates executor role is collector. */ - VERIFIER = 2, /**< Indicates executor role is verifier. */ - ALL_IN_ONE = 3, /**< Indicates executor role is combination of collector and verifier, cannot be used as collector or verifier. */ + /**< Indicates executor role is collector. */ + COLLECTOR = 1, + /**< Indicates executor role is verifier. */ + VERIFIER = 2, + /**< Indicates executor role is combination of collector and verifier. */ + ALL_IN_ONE = 3, }; /** - * Enumerates executor secure level. + * @brief Enumerates executor secure level. * * @since 3.2 * @version 1.0 */ enum ExecutorSecureLevel : int { - ESL0 = 0, /**< Indicates executor secure level is ESL0. */ - ESL1 = 1, /**< Indicates executor secure level is ESL1. */ - ESL2 = 2, /**< Indicates executor secure level is ESL2. */ - ESL3 = 3, /**< Indicates executor secure level is ESL3. */ + /**< Indicates executor secure level is ESL0. */ + ESL0 = 0, + /**< Indicates executor secure level is ESL1. */ + ESL1 = 1, + /**< Indicates executor secure level is ESL2. */ + ESL2 = 2, + /**< Indicates executor secure level is ESL3. */ + ESL3 = 3, }; /** - * Enumerates command id. + * @brief Enumerates command id. * * @since 3.2 * @version 1.0 */ enum CommandId : int { - DEFAULT = 0, /**< Default parameters. */ + /**< Default parameters. */ + DEFAULT = 0, }; /** - * Indicates the executor info. + * @brief Indicates the executor information. * * @since 3.2 * @version 1.0 */ struct ExecutorInfo { - unsigned short sensorId; /**< Indicates sensor id. Sensor id must be unique in driver. */ - unsigned int executorType; /**< Indicates executor type. */ - enum ExecutorRole executorRole; /**< Indicates executor role, see @{ExecutorRole}. */ - enum AuthType authType; /**< Indicates auth type, see @{AuthType}. */ - enum ExecutorSecureLevel esl; /**< Indicates executor secure level, see @{ExecutorSecureLevel}. */ - unsigned char[] publicKey; /**< Indicates publicKey. */ - unsigned char[] extraInfo; /**< Indicates extra info. */ + /**< Indicates sensor id. Sensor id must be unique in driver. */ + unsigned short sensorId; + /**< Indicates executor type. */ + unsigned int executorType; + /**< Indicates executor role, see @{ExecutorRole}. */ + enum ExecutorRole executorRole; + /**< Indicates auth type, see @{AuthType}. */ + enum AuthType authType; + /**< Indicates executor secure level, see @{ExecutorSecureLevel}. */ + enum ExecutorSecureLevel esl; + /**< Indicates public key of executor. */ + unsigned char[] publicKey; + /**< Indicates extra information. */ + unsigned char[] extraInfo; }; /** - * Indicates the template info. + * @brief Indicates the template information. * * @since 3.2 * @version 1.0 */ struct TemplateInfo { - unsigned int executorType; /**< Indicates executor type. */ - int freezingTime; /**< Indicates freezing time in seconds. */ - int remainTimes; /**< Indicates remain times before a lockout. */ - unsigned char[] extraInfo; /**< Indicates extra info. */ -}; \ No newline at end of file + /**< Indicates executor type. */ + unsigned int executorType; + /**< Indicates freezing time in seconds. */ + int freezingTime; + /**< Indicates remaining authtication times before a lockout. */ + int remainTimes; + /**< Indicates extra information. */ + unsigned char[] extraInfo; +}; +/** @} */ \ No newline at end of file diff --git a/en/device_api/hdi/user_auth/IUserAuthInterface.idl b/en/device_api/hdi/user_auth/IUserAuthInterface.idl index f13a2e6ec91d34f6246749ea45c9338b0146cde0..2757e54407d7087b115942f42f34c482628a7a57 100644 --- a/en/device_api/hdi/user_auth/IUserAuthInterface.idl +++ b/en/device_api/hdi/user_auth/IUserAuthInterface.idl @@ -19,8 +19,8 @@ * * @brief Provides APIs for the user auth driver. * - * The user auth driver provides a unified interface for the pin auth service to access the user auth driver. - * After obtaining the pin auth driver proxy, the service can call related APIs to register executor, + * The user auth driver provides a unified interface for the user auth service to access the user auth driver. + * After obtaining the user auth driver proxy, the service can call related APIs to register executor, * manage credentials, and complete password and biometric authentication. * @since 3.2 */ @@ -28,7 +28,7 @@ /** * @file IUserAuthInterface.idl * - * @brief Declare the APIs of userauth driver. These APIs can be used to register executor, + * @brief Declare the APIs of user auth driver. These APIs can be used to register executor, * manage credentials, and complete password and biometric authentication. * * @since 3.2 @@ -39,7 +39,7 @@ package ohos.hdi.user_auth.v1_0; import ohos.hdi.user_auth.v1_0.UserAuthTypes; /** - * @brief Declare the APIs of userauth driver. + * @brief Declare the APIs of user auth driver. * * @since 3.2 * @version 1.0 @@ -95,7 +95,7 @@ interface IUserAuthInterface { CloseSession([in] int userId); /** * @brief Begin the enrollment of authentication credential. - * When the authentication type is pin and the current user has enrolled PIN credential, + * When the authentication type is pin and the current user has enrolled pin credential, * the pin credential will be updated. * * @param userId Indicates user id. @@ -146,7 +146,7 @@ interface IUserAuthInterface { /** * @brief Query credential information. * - * @param userId Indicates Indicates user id. + * @param userId Indicates user id. * @param authType Indicates authentication type, see {@link AuthType}. * @param infos Indicates credential information, see {@link CredentialInfo}. * @@ -158,7 +158,7 @@ interface IUserAuthInterface { * @brief Query secure information. * * @param userId Indicates user id. - * @param secureUid Indicates secure user id, see {@link AuthType}. + * @param secureUid Indicates secure user id. * @param infos Indicates enrolled Info, see {@link EnrolledInfo}. * * @return Returns 0 if the operation is successful. @@ -169,7 +169,7 @@ interface IUserAuthInterface { * @brief Delete pin, delete user in Iam subsystem. * * @param userId Indicates user id. - * @param authToken Indicates Indicates user password authentication token. + * @param authToken Indicates user password authentication token. * @param deletedInfos Indicates deleted credential information, see {@link CredentialInfo}. * * @return Returns 0 if the operation is successful. @@ -277,3 +277,4 @@ interface IUserAuthInterface { GetValidSolution([in] int userId, [in] enum AuthType[] authTypes, [in] unsigned int authTrustLevel, [out] enum AuthType[] validTypes); } +/** @} */ diff --git a/en/device_api/hdi/user_auth/UserAuthTypes.idl b/en/device_api/hdi/user_auth/UserAuthTypes.idl index 9671107c26ac7b23e6bd0c6a7f02a276b1babd6a..02b7a6afa80163d2131d90122806578f5aa9325f 100644 --- a/en/device_api/hdi/user_auth/UserAuthTypes.idl +++ b/en/device_api/hdi/user_auth/UserAuthTypes.idl @@ -25,113 +25,234 @@ * @since 3.2 */ - package ohos.hdi.user_auth.v1_0; + /** + * @file UserAuthTypes.idl + * + * @brief Defines user auth driver enumeration and data structure. + * + * @since 3.2 + */ + +package ohos.hdi.user_auth.v1_0; /** - * Enumerates credential type for authentication. + * @brief Enumerates credential type for authentication. * * @since 3.2 * @version 1.0 */ enum AuthType : int { - ALL = 0, /**< Indicates authentication type is ALL. */ - PIN = 1, /**< Indicates authentication type is PIN. */ - FACE = 2, /**< Indicates authentication type is face. */ - FINGERPRINT = 3, /**< Indicates authentication type is fingerprint. */ + /**< Indicates authentication type is ALL. */ + ALL = 0, + /**< Indicates authentication type is PIN. */ + PIN = 1, + /**< Indicates authentication type is face. */ + FACE = 2, + /**< Indicates authentication type is fingerprint. */ + FINGERPRINT = 3, }; /** - * Enumerates executor role. + * @brief Enumerates executor role. * * @since 3.2 * @version 1.0 */ enum ExecutorRole : int { - COLLECTOR = 1, /**< Indicates executor role is collector. */ - VERIFIER = 2, /**< Indicates executor role is verifier. */ - ALL_IN_ONE = 3, /**< Indicates executor role is collector and verifier. */ + /**< Indicates executor role is collector. */ + COLLECTOR = 1, + /**< Indicates executor role is verifier. */ + VERIFIER = 2, + /**< Indicates executor role is combination of collector and verifier. */ + ALL_IN_ONE = 3, }; /** - * Enumerates executor secure level. + * @brief Enumerates executor secure level. * * @since 3.2 * @version 1.0 */ enum ExecutorSecureLevel : int { - ESL0 = 0, /**< Indicates executor secure level is ESL0. */ - ESL1 = 1, /**< Indicates executor secure level is ESL1. */ - ESL2 = 2, /**< Indicates executor secure level is ESL2. */ - ESL3 = 3, /**< Indicates executor secure level is ESL3. */ + /**< Indicates executor secure level is ESL0. */ + ESL0 = 0, + /**< Indicates executor secure level is ESL1. */ + ESL1 = 1, + /**< Indicates executor secure level is ESL2. */ + ESL2 = 2, + /**< Indicates executor secure level is ESL3. */ + ESL3 = 3, }; +/** + * @brief Executor registeration information. + * + * @since 3.2 + * @version 1.0 + */ struct ExecutorRegisterInfo { - enum AuthType authType; /**< Indicates authentication type, see @{AuthType}. */ - enum ExecutorRole executorRole; /**< Indicates executor role, see @{ExecutorRole}. */ - unsigned int executorId; /**< Indicates executor id under the same authentication type. */ - unsigned int executorType; /**< Indicates executor type. */ - enum ExecutorSecureLevel esl; /**< Indicates executor secure level, see @{ExecutorSecureLevel}. */ - unsigned char[] publicKey; /**< Indicates publicKey. */ + /**< Indicates authentication type, see @{AuthType}. */ + enum AuthType authType; + /**< Indicates executor role, see @{ExecutorRole}. */ + enum ExecutorRole executorRole; + /**< Indicates executor id under the same authentication type. */ + unsigned int executorId; + /**< Indicates executor type. */ + unsigned int executorType; + /**< Indicates executor secure level, see @{ExecutorSecureLevel}. */ + enum ExecutorSecureLevel esl; + /**< Indicates the public key of executor. */ + unsigned char[] publicKey; }; +/** + * @brief Executor information. + * + * @since 3.2 + * @version 1.0 + */ struct ExecutorInfo { - unsigned long index; /**< Indicates executor index under the authentication frameworks. */ - struct ExecutorRegisterInfo info; /**< Indicates executor registration information, see @{ExecutorRegisterInfo}. */ + /**< Indicates executor index under the authentication frameworks. */ + unsigned long index; + /**< Indicates executor registration information, see @{ExecutorRegisterInfo}. */ + struct ExecutorRegisterInfo info; }; +/** + * @brief Schedule information. + * + * @since 3.2 + * @version 1.0 + */ struct ScheduleInfo { - unsigned long scheduleId; /**< Indicates schedule id of authentication. */ - unsigned long[] templateIds; /**< Indicates the templates to authenticate. */ - enum AuthType authType; /**< Indicates authentication type, see @{AuthType}. */ - unsigned int executorType; /**< Indicates executor type. */ - unsigned int scheduleMode; /**< Indicates authentication or identification. */ - struct ExecutorInfo[] executors; /**< Indicates executor info of identification, see @{ExecutorInfo}. */ + /**< Indicates schedule id of authentication. */ + unsigned long scheduleId; + /**< Indicates the templates to authenticate. */ + unsigned long[] templateIds; + /**< Indicates authentication type, see @{AuthType}. */ + enum AuthType authType; + /**< Indicates executor type. */ + unsigned int executorType; + /**< Indicates enrollment, authentication or identification. */ + unsigned int scheduleMode; + /**< Indicates executor information, see @{ExecutorInfo}. */ + struct ExecutorInfo[] executors; }; +/** + * @brief Authentication solution. + * + * @since 3.2 + * @version 1.0 + */ struct AuthSolution { - int userId; /**< Indicates user id. */ - unsigned int authTrustLevel; /**< Indicates authentication trust level of authentication. */ - enum AuthType authType; /**< Indicates authentication type, see @{AuthType}. */ - unsigned int executorId; /**< Indicates executor index under the same authentication type. */ - unsigned char[] challenge; /**< Indicates challenge of authentication. */ + /**< Indicates user id. */ + int userId; + /**< Indicates authentication trust level of authentication. */ + unsigned int authTrustLevel; + /**< Indicates authentication type, see @{AuthType}. */ + enum AuthType authType; + /**< Indicates executor index under the same authentication type. */ + unsigned int executorId; + /**< Indicates challenge of authentication. */ + unsigned char[] challenge; }; +/** + * @brief Executor message. + * + * @since 3.2 + * @version 1.0 + */ struct ExecutorSendMsg { - unsigned int index; /**< Indicates executor index under the authentication frameworks. */ - unsigned char[] msg; /**< Indicates executor msg to send. */ + /**< Indicates executor index under the authentication frameworks. */ + unsigned int index; + /**< Indicates executor message to send. */ + unsigned char[] msg; }; +/** + * @brief Authentication result information. + * + * @since 3.2 + * @version 1.0 + */ struct AuthResultInfo { - unsigned int result; /**< Indicates result. */ - int freezingTime; /**< Indicates freezing time in seconds. */ - int remainTimes; /**< Indicates freezing time in seconds. */ - struct ExecutorSendMsg[] msgs; /**< Indicates executor msgs, see @{ExecutorSendMsg}. */ - unsigned char[] token; /**< Indicates authentication token. */ + /**< Indicates result. */ + unsigned int result; + /**< Indicates freezing time in seconds. */ + int freezingTime; + /**< Indicates remaining authentication times before a lockout. */ + int remainTimes; + /**< Indicates executor messages, see @{ExecutorSendMsg}. */ + struct ExecutorSendMsg[] msgs; + /**< Indicates authentication token. */ + unsigned char[] token; }; +/** + * @brief Identification result information. + * + * @since 3.2 + * @version 1.0 + */ struct IdentifyResultInfo { - int result; /**< Indicates result. */ - int userId; /**< Indicates user id. */ - unsigned char[] token; /**< Indicates identification token. */ + /**< Indicates result. */ + int result; + /**< Indicates user id. */ + int userId; + /**< Indicates identification token. */ + unsigned char[] token; }; +/** + * @brief Credential enrollment parameter. + * + * @since 3.2 + * @version 1.0 + */ struct EnrollParam { - enum AuthType authType; /**< Indicates authentication type, see @{AuthType}. */ - unsigned int executorType; /**< Indicates executor type. */ - unsigned int executorId; /**< Indicates executor id under the same authentication type. */ + /**< Indicates authentication type, see @{AuthType}. */ + enum AuthType authType; + /**< Indicates executor type. */ + unsigned int executorType; + /**< Indicates executor id under the same authentication type. */ + unsigned int executorId; }; +/** + * @brief Credential information. + * + * @since 3.2 + * @version 1.0 + */ struct CredentialInfo { - unsigned long credentialId; /**< Indicates credential Id. */ - unsigned long index; /**< Indicates executor index under the authentication frameworks. */ - unsigned long templateId; /**< Indicates template Id. */ - enum AuthType authType; /**< Indicates authentication type, see @{AuthType}. */ - unsigned int executorType; /**< Indicates executor type. */ - unsigned int executorId; /**< Indicates executor id under the same authentication type. */ - unsigned char[] extraInfo; /**< Indicates extra info. */ + /**< Indicates credential Id. */ + unsigned long credentialId; + /**< Indicates executor index under the authentication frameworks. */ + unsigned long index; + /**< Indicates template Id. */ + unsigned long templateId; + /**< Indicates authentication type, see @{AuthType}. */ + enum AuthType authType; + /**< Indicates executor type. */ + unsigned int executorType; + /**< Indicates executor id under the same authentication type. */ + unsigned int executorId; + /**< Indicates extra information. */ + unsigned char[] extraInfo; }; +/** + * @brief Credential enrolled information. + * + * @since 3.2 + * @version 1.0 + */ struct EnrolledInfo { - unsigned long enrolledId; /**< Indicates enrolled id. */ - enum AuthType authType; /**< Indicates authentication type, see @{AuthType}. */ -}; \ No newline at end of file + /**< Indicates enrolled id. */ + unsigned long enrolledId; + /**< Indicates authentication type, see @{AuthType}. */ + enum AuthType authType; +}; +/** @} */ \ No newline at end of file diff --git a/zh-cn/device_api/hdi/face_auth/FaceAuthTypes.idl b/zh-cn/device_api/hdi/face_auth/FaceAuthTypes.idl new file mode 100755 index 0000000000000000000000000000000000000000..c78e84793c000cc85ea441e1b54a4f60409c3ea8 --- /dev/null +++ b/zh-cn/device_api/hdi/face_auth/FaceAuthTypes.idl @@ -0,0 +1,172 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @addtogroup HdfFaceAuth + * @{ + * + * @brief 提供人脸认证驱动的标准API接口。 + * + * 人脸认证驱动为人脸认证服务提供统一的接口用于访问人脸认证驱动,获取人脸认证驱动代理后,人脸认证服务可以调用相关接口获取执行器,获取口令认证执行器后, + * 口令认证服务可以调用相关接口获取执行器,获取凭据模版信息,注册人脸认证凭据模版,认证人脸凭据模版,删除人脸认证凭据模版等。 + * + * @since 3.2 + */ + +/** + * @file FaceAuthTypes.idl + * + * @brief 定义人脸认证驱动的枚举类和数据结构。 + * + * @since 3.2 + */ + +package ohos.hdi.face_auth.v1_0; + +/** + * @brief 枚举用户认证凭据类型。 + * + * @since 3.2 + * @version 1.0 + */ +enum AuthType : int { + /** 认证类型为口令。 */ + PIN = 1, + /** 认证类型为人脸。 */ + FACE = 2, + /** 认证类型为指纹。 */ + FINGERPRINT = 3, +}; + +/** + * @brief 枚举执行器角色。 + * + * @since 3.2 + * @version 1.0 + */ +enum ExecutorRole : int { + /** 执行器角色为采集器。 */ + COLLECTOR = 1, + /** 执行器角色为认证器。 */ + VERIFIER = 2, + /** 执行器角色为全功能执行器。 */ + ALL_IN_ONE = 3, +}; + +/** + * @brief 枚举执行器安全等级。 + * + * @since 3.2 + * @version 1.0 + */ +enum ExecutorSecureLevel : int { + /** 执行器安全级别为0,关键操作在无访问控制执行环境中完成。 */ + ESL0 = 0, + /** 执行器安全级别为1,关键操作在有访问控制的执行环境中完成。 */ + ESL1 = 1, + /** 执行器安全级别为2,关键操作在可信执行环境中完成。 */ + ESL2 = 2, + /** 执行器安全级别为3,关键操作在高安环境如独立安全芯片中完成。 */ + ESL3 = 3, +}; + +/** + * @brief 枚举操作命令。 + * + * @since 3.2 + * @version 1.0 + */ +enum CommandId : int { + /** 锁定人脸模版。 */ + LOCK_TEMPLATE = 1, + /** 解锁人脸模版。 */ + UNLOCK_TEMPLATE = 2, + /** 用于厂商自定义操作指令。 */ + VENDOR_COMMAND_BEGIN = 10000 +}; + +/** + * @brief 枚举提示信息编码。 + * + * @since 3.2 + * @version 1.0 + */ +enum FaceTipsCode : int { + /** 获取的人脸图像由于光照度高而过亮。 */ + FACE_AUTH_TIP_TOO_BRIGHT = 1, + /** 获取的人脸图像由于光照度低而过暗。 */ + FACE_AUTH_TIP_TOO_DARK = 2, + /** 人脸离设备过近。 */ + FACE_AUTH_TIP_TOO_CLOSE = 3, + /** 人脸离设备过远。 */ + FACE_AUTH_TIP_TOO_FAR = 4, + /** 设备过高,只拍到人脸的上半部分。 */ + FACE_AUTH_TIP_TOO_HIGH = 5, + /** 设备过低,只拍到人脸的下半部分。 */ + FACE_AUTH_TIP_TOO_LOW = 6, + /** 设备偏右,只拍到人脸的右侧部分。 */ + FACE_AUTH_TIP_TOO_RIGHT = 7, + /** 设备偏左,只拍到人脸的左侧部分。 */ + FACE_AUTH_TIP_TOO_LEFT = 8, + /** 人脸信息采集过程中,人脸移动过多。 */ + FACE_AUTH_TIP_TOO_MUCH_MOTION = 9, + /** 用户未注视设备。 */ + FACE_AUTH_TIP_POOR_GAZE = 10, + /** 未检测到人脸。 */ + FACE_AUTH_TIP_NOT_DETECTED = 11, + /** 用于厂商自定义提示信息。 */ + VENDOR_FACE_AUTH_TIP_BEGIN = 10000 +}; + +/** + * @brief 执行器信息。 + * + * @since 3.2 + * @version 1.0 + */ +struct ExecutorInfo { + /** 传感器id,驱动内唯一。 */ + unsigned short sensorId; + /** 执行器类型。 */ + unsigned int executorType; + /** 执行器角色@{ExecutorRole}。 */ + enum ExecutorRole executorRole; + /** 认证类型@{AuthType}。 */ + enum AuthType authType; + /** 执行器安全等级@{ExecutorSecureLevel}。 */ + enum ExecutorSecureLevel esl; + /** 执行器公钥。 */ + unsigned char[] publicKey; + /** 其他相关信息。 */ + unsigned char[] extraInfo; +}; + +/** + * @brief 凭据模版信息。 + * + * @since 3.2 + * @version 1.0 + */ +struct TemplateInfo { + /** 执行器类型。 */ + unsigned int executorType; + /** 冻结时间。 */ + int freezingTime; + /** 剩余认证次数。 */ + int remainTimes; + /** 其他相关信息。 */ + unsigned char[] extraInfo; +}; +/** @} */ \ No newline at end of file diff --git a/zh-cn/device_api/hdi/face_auth/IExecutor.idl b/zh-cn/device_api/hdi/face_auth/IExecutor.idl new file mode 100755 index 0000000000000000000000000000000000000000..ad2770da7020e0b13e8810c91b9b71c1903ac868 --- /dev/null +++ b/zh-cn/device_api/hdi/face_auth/IExecutor.idl @@ -0,0 +1,142 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @addtogroup HdfFaceAuth + * @{ + * + * @brief 提供人脸认证驱动的标准API接口。 + * + * 人脸认证驱动为人脸认证服务提供统一的接口用于访问人脸认证驱动,获取人脸认证驱动代理后,人脸认证服务可以调用相关接口获取执行器,获取口令认证执行器后, + * 口令认证服务可以调用相关接口获取执行器,获取凭据模版信息,注册人脸认证凭据模版,认证人脸凭据模版,删除人脸认证凭据模版等。 + * + * @since 3.2 + */ + +/** + * @file IExecutor.idl + * + * @brief 定义执行器接口,用于获取执行器,获取凭据模版信息,注册人脸认证凭据模版,认证人脸凭据模版,删除人脸认证凭据模版等。 + * + * @since 3.2 + */ + +package ohos.hdi.face_auth.v1_0; + +import ohos.hdi.face_auth.v1_0.FaceAuthTypes; +import ohos.hdi.face_auth.v1_0.IExecutorCallback; + +/** + * @brief 定义执行器接口,用于获取执行器,获取凭据模版信息,注册人脸认证凭据模版,认证人脸凭据模版,删除人脸认证凭据模版等。 + * + * @since 3.2 + * @version 1.0 + */ +interface IExecutor { + /** + * @brief 获取执行器信息。 + * + * @param executorInfo 执行器信息{@link ExecutorInfo}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + GetExecutorInfo([out] struct ExecutorInfo executorInfo); + /** + * @brief 获取凭据模版信息。 + * + * @param templateId 凭据模版id。 + * @param templateInfo 凭据模版信息{@link TemplateInfo}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + GetTemplateInfo([in] unsigned long templateId, [out] struct TemplateInfo templateInfo); + /** + * @brief 完成执行器注册,对人脸凭据模版进行对账。 + * + * @param templateIdList 用户认证框架内由该执行器注册的人脸凭据模版id列表。 + * @param frameworkPublicKey 用户认证框架的公钥。 + * @param extraInfo 其他相关信息。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + OnRegisterFinish([in] unsigned long[] templateIdList, [in] unsigned char[] frameworkPublicKey, [in] unsigned char[] extraInfo); + /** + * @brief 注册人脸模版。 + * + * @param scheduleId 调度id。 + * @param extraInfo 其他相关信息。 + * @param callbackObj 回调对象{@link IExecutorCallback}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + Enroll([in] unsigned long scheduleId, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj); + /** + * @brief 人脸认证。 + * + * @param scheduleId 调度id。 + * @param templateIdList 指定要认证的模版id列表。 + * @param extraInfo 其他相关信息。 + * @param callbackObj 回调对象{@link IExecutorCallback}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + Authenticate([in] unsigned long scheduleId, [in] unsigned long[] templateIdList, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj); + /** + * @brief 人脸识别。 + * + * @param scheduleId 调度id。 + * @param extraInfo 其他相关信息。 + * @param callbackObj 回调对象{@link IExecutorCallback}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + Identify([in] unsigned long scheduleId, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj); + /** + * @brief 删除人脸模版。 + * + * @param templateIdList 指定要删除的模版id列表。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + Delete([in] unsigned long[] templateIdList); + /** + * @brief 取消操作请求。 + * + * @param scheduleId 调度id。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + Cancel([in] unsigned long scheduleId); + /** + * @brief 发送操作命令。 + * + * @param commandId 操作命令id{@link CommandId}。 + * @param extraInfo 其他相关信息。 + * @param callbackObj 回调对象{@link IExecutorCallback}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + SendCommand([in] int commandId, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj); +} +/** @} */ \ No newline at end of file diff --git a/zh-cn/device_api/hdi/face_auth/IExecutorCallback.idl b/zh-cn/device_api/hdi/face_auth/IExecutorCallback.idl new file mode 100755 index 0000000000000000000000000000000000000000..95b9dfc4dd0b2583090756a1330987c617a90040 --- /dev/null +++ b/zh-cn/device_api/hdi/face_auth/IExecutorCallback.idl @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @addtogroup HdfFaceAuth + * @{ + * + * @brief 提供人脸认证驱动的标准API接口。 + * + * 人脸认证驱动为人脸认证服务提供统一的接口用于访问人脸认证驱动,获取人脸认证驱动代理后,人脸认证服务可以调用相关接口获取执行器,获取口令认证执行器后, + * 口令认证服务可以调用相关接口获取执行器,获取凭据模版信息,注册人脸认证凭据模版,认证人脸凭据模版,删除人脸认证凭据模版等。 + * + * @since 3.2 + */ + +/** + * @file IExecutorCallback.idl + * + * @brief 定义异步API接口回调,用于返回异步接口的请求处理结果和信息。 + * + * @since 3.2 + */ + +package ohos.hdi.face_auth.v1_0; + +/** + * @brief 定义异步API接口回调,用于返回异步接口的请求处理结果和信息。使用细节见{@link IExecutor}。 + * + * @since 3.2 + * @version 1.0 + */ +[callback] interface IExecutorCallback { + /** + * @brief 定义操作结果回调函数。 + * + * @param result 结果。 + * @param extraInfo 其他相关信息。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + OnResult([in] int result, [in] unsigned char[] extraInfo); + /** + * @brief 定义操作过程信息反馈回调函数。 + * + * @param acquire 提示信息编码{@link FaceTipsCode}。 + * @param extraInfo 其他相关信息。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + OnAcquireInfo([in] int acquire, [in] unsigned char[] extraInfo); +} +/** @} */ \ No newline at end of file diff --git a/zh-cn/device_api/hdi/face_auth/IFaceAuthInterface.idl b/zh-cn/device_api/hdi/face_auth/IFaceAuthInterface.idl new file mode 100755 index 0000000000000000000000000000000000000000..225350104cc469f599b3d8aa70071eb986e9da81 --- /dev/null +++ b/zh-cn/device_api/hdi/face_auth/IFaceAuthInterface.idl @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @addtogroup HdfFaceAuth + * @{ + * + * @brief 提供人脸认证驱动的标准API接口。 + * + * 人脸认证驱动为人脸认证服务提供统一的接口用于访问人脸认证驱动,获取人脸认证驱动代理后,人脸认证服务可以调用相关接口获取执行器,获取口令认证执行器后, + * 口令认证服务可以调用相关接口获取执行器,获取凭据模版信息,注册人脸认证凭据模版,认证人脸凭据模版,删除人脸认证凭据模版等。 + * + * @since 3.2 + */ + +/** + * @file IFaceAuthInterface.idl + * + * @brief 定义获取人脸认证驱动的执行器列表接口,用于从人脸认证驱动获取执行器对象列表。 + * + * @since 3.2 + */ + +package ohos.hdi.face_auth.v1_0; + +import ohos.hdi.face_auth.v1_0.IExecutor; + +/** + * @brief 定义获取人脸认证驱动的执行器列表接口。 + * + * @since 3.2 + * @version 1.0 + */ +interface IFaceAuthInterface { + /** + * @brief 获取执行器列表。 + * + * @param executorList 执行器对象列表{@link IExecutor}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + GetExecutorList([out] IExecutor[] executorList); +} +/** @} */ \ No newline at end of file diff --git a/zh-cn/device_api/hdi/pin_auth/IExecutor.idl b/zh-cn/device_api/hdi/pin_auth/IExecutor.idl new file mode 100755 index 0000000000000000000000000000000000000000..efd7e442476d266338e5a5f3fc863f78283dc8d5 --- /dev/null +++ b/zh-cn/device_api/hdi/pin_auth/IExecutor.idl @@ -0,0 +1,143 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @addtogroup HdfPinAuth + * @{ + * + * @brief 提供口令认证驱动的标准API接口。 + * + * 口令认证驱动为口令认证服务提供统一的接口用于访问口令认证驱动,获取口令认证驱动代理后,口令认证服务可以调用相关接口获取执行器, + * 获取口令认证执行器后,口令认证服务可以调用相关接口获取执行器信息,获取凭据模版信息,注册口令,认证口令,删除口令等。 + * + * @since 3.2 + */ + +/** + * @file IExecutor.idl + * + * @brief 定义执行器标准API接口。接口可用于获取执行器信息,获取凭据模版信息,注册口令,认证口令,删除口令等。 + * + * @since 3.2 + */ + +package ohos.hdi.pin_auth.v1_0; + +import ohos.hdi.pin_auth.v1_0.PinAuthTypes; +import ohos.hdi.pin_auth.v1_0.IExecutorCallback; + +/** + * @brief 定义执行器标准API接口。接口可用于获取执行器信息,获取凭据模版信息,注册口令,认证口令,删除口令等。 + * + * @since 3.2 + * @version 1.0 + */ + +interface IExecutor { + /** + * @brief 获取执行器信息。 + * + * @param executorInfo 执行器信息{@link ExecutorInfo}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + GetExecutorInfo([out] struct ExecutorInfo executorInfo); + /** + * @brief 获取凭据模版信息。 + * + * @param templateId 凭据模版id。 + * @param templateInfo 凭据模版信息{@link TemplateInfo}。 + * + * @return如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + GetTemplateInfo([in] unsigned long templateId, [out] struct TemplateInfo templateInfo); + /** + * @brief 完成执行器注册,对口令凭据模版进行对账。 + * + * @param templateIdList 用户认证框架内由该执行器注册的口令凭据模版id列表。 + * @param frameworkPublicKey 用户认证框架的公钥。 + * @param extraInfo 其他相关信息。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + OnRegisterFinish([in] unsigned long[] templateIdList, [in] unsigned char[] frameworkPublicKey, [in] unsigned char[] extraInfo); + /** + * @brief 设置口令数据。 + * + * @param scheduleId 调度id。 + * @param authSubType 口令子类型。 + * @param data 口令数据。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + OnSetData([in] unsigned long scheduleId, [in] unsigned long authSubType, [in] unsigned char[] data); + /** + * @brief 注册口令。 + * + * @param scheduleId 调度id。 + * @param extraInfo 其他相关信息。 + * @param callbackObj 回调对象{@link IExecutorCallback}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + Enroll([in] unsigned long scheduleId, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj); + /** + * @brief 认证口令。 + * + * @param scheduleId 调度id。 + * @param templateId 指定要认证的模版id。 + * @param extraInfo 其他相关信息。 + * @param callbackObj 回调对象{@link IExecutorCallback}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + Authenticate([in] unsigned long scheduleId, [in] unsigned long templateId, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj); + /** + * @brief 删除口令。 + * + * @param templateId 模版id。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + Delete([in] unsigned long templateId); + /** + * @brief 取消操作请求。 + * + * @param scheduleId 调度id。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + Cancel([in] unsigned long scheduleId); + /** + * @brief 发送操作命令。 + * + * @param commandId 操作命令id{@link CommandId}。 + * @param extraInfo 其他相关信息。 + * @param callbackObj 回调对象{@link IExecutorCallback}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + SendCommand([in] int commandId, [in] unsigned char[] extraInfo, [in] IExecutorCallback callbackObj); +} +/** @} */ \ No newline at end of file diff --git a/zh-cn/device_api/hdi/pin_auth/IExecutorCallback.idl b/zh-cn/device_api/hdi/pin_auth/IExecutorCallback.idl new file mode 100755 index 0000000000000000000000000000000000000000..5e4b1795a21d7f7c2125c4e28d87a1ef73a612f5 --- /dev/null +++ b/zh-cn/device_api/hdi/pin_auth/IExecutorCallback.idl @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @addtogroup HdfPinAuth + * @{ + * + * @brief 提供口令认证驱动的标准API接口。 + * + * 口令认证驱动为口令认证服务提供统一的接口用于访问口令认证驱动,获取口令认证驱动代理后,口令认证服务可以调用相关接口获取执行器, + * 获取口令认证执行器后,口令认证服务可以调用相关接口获取执行器信息,获取凭据模版信息,注册口令,认证口令,删除口令等。 + * + * @since 3.2 + */ + +/** + * @file IExecutorCallback.idl + * + * @brief 定义异步API接口回调,用于返回异步接口的请求处理结果和获取信息。 + * + * @since 3.2 + */ + +package ohos.hdi.pin_auth.v1_0; + +/** + * @brief 定义异步API接口回调,用于返回异步接口的请求处理结果和获取信息。使用细节见{@link IExecutor}。 + * + * @since 3.2 + * @version 1.0 + */ +[callback] interface IExecutorCallback { + /** + * @brief 定义操作结果回调函数。 + * + * @param result 结果。 + * @param extraInfo 其他相关信息。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + OnResult([in] int result, [in] unsigned char[] extraInfo); + /** + * @brief 定义请求获取口令数据回调函数。 + * + * @param salt 盐值,用于对口令明文进行单向处理。 + * @param authSubType 口令子类型。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + OnGetData([in] unsigned long scheduleId, [in] unsigned char[] salt, [in] unsigned long authSubType); +} +/** @} */ \ No newline at end of file diff --git a/zh-cn/device_api/hdi/pin_auth/IPinAuthInterface.idl b/zh-cn/device_api/hdi/pin_auth/IPinAuthInterface.idl new file mode 100755 index 0000000000000000000000000000000000000000..6f9694c99b86386f5590362900eb18d18111b7d4 --- /dev/null +++ b/zh-cn/device_api/hdi/pin_auth/IPinAuthInterface.idl @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @addtogroup HdfPinAuth + * @{ + * + * @brief 提供口令认证驱动的标准API接口。 + * + * 口令认证驱动为口令认证服务提供统一的接口用于访问口令认证驱动,获取口令认证驱动代理后,口令认证服务可以调用相关接口获取执行器, + * 获取口令认证执行器后,口令认证服务可以调用相关接口获取执行器信息,获取凭据模版信息,注册口令,认证口令,删除口令等。 + * + * @since 3.2 + */ + +/** + * @file IPinAuthInterface.idl + * + * @brief 定义获取口令认证驱动的执行器列表接口,用于从口令认证驱动获取执行器对象列表。 + * + * @since 3.2 + */ + +package ohos.hdi.pin_auth.v1_0; + +import ohos.hdi.pin_auth.v1_0.IExecutor; + +/** + * @brief 定义获取口令认证驱动的执行器列表接口。 + * + * @since 3.2 + * @version 1.0 + */ +interface IPinAuthInterface { + /** + * @brief 获取执行器列表。 + * + * @param executorList 执行器对象列表{@link IExecutor}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + GetExecutorList([out] IExecutor[] executorList); +} +/** @} */ \ No newline at end of file diff --git a/zh-cn/device_api/hdi/pin_auth/PinAuthTypes.idl b/zh-cn/device_api/hdi/pin_auth/PinAuthTypes.idl new file mode 100755 index 0000000000000000000000000000000000000000..7afa9cb3b64f812afb690779727cbffe0f5b9ad1 --- /dev/null +++ b/zh-cn/device_api/hdi/pin_auth/PinAuthTypes.idl @@ -0,0 +1,136 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @addtogroup HdfPinAuth + * @{ + * + * @brief 提供口令认证驱动的标准API接口。 + * + * 口令认证驱动为口令认证服务提供统一的接口用于访问口令认证驱动,获取口令认证驱动代理后,口令认证服务可以调用相关接口获取执行器, + * 获取口令认证执行器后,口令认证服务可以调用相关接口获取执行器信息,获取凭据模版信息,注册口令,认证口令,删除口令等。 + * + * @since 3.2 + */ + +/** + * @file IPinTypes.idl + * + * @brief 定义口令认证驱动的枚举类和数据结构。 + * + * @since 3.2 + */ + +package ohos.hdi.pin_auth.v1_0; + +/** + * @brief 枚举用户认证凭据类型。 + * + * @since 3.2 + * @version 1.0 + */ +enum AuthType : int { + /** 认证类型为口令。 */ + PIN = 1, + /** 认证类型为人脸。 */ + FACE = 2, + /** 认证类型为指纹。 */ + FINGERPRINT = 3, +}; + +/** + * @brief 枚举执行器角色。 + * + * @since 3.2 + * @version 1.0 + */ +enum ExecutorRole : int { + /** 执行器角色为采集器。 */ + COLLECTOR = 1, + /** 执行器角色为认证器。 */ + VERIFIER = 2, + /** 执行器角色为全功能执行器。 */ + ALL_IN_ONE = 3, +}; + +/** + * @brief 枚举执行器安全等级。 + * + * @since 3.2 + * @version 1.0 + */ +enum ExecutorSecureLevel : int { + /** 执行器安全级别为0,关键操作在无访问控制执行环境中完成。 */ + ESL0 = 0, + /** 执行器安全级别为1,关键操作在有访问控制的执行环境中完成。 */ + ESL1 = 1, + /** 执行器安全级别为2,关键操作在可信执行环境中完成。 */ + ESL2 = 2, + /** 执行器安全级别为3,关键操作在高安环境如独立安全芯片中完成。 */ + ESL3 = 3, +}; + +/** + * @brief 枚举操作命令。 + * + * @since 3.2 + * @version 1.0 + */ +enum CommandId : int { + /** 默认无效操作命令。 */ + DEFAULT = 0, +}; + + +/** + * @brief 执行器信息。 + * + * @since 3.2 + * @version 1.0 + */ +struct ExecutorInfo { + /** 传感器id,驱动内唯一。 */ + unsigned short sensorId; + /** 执行器类型。 */ + unsigned int executorType; + /** 执行器角色@{ExecutorRole}。 */ + enum ExecutorRole executorRole; + /** 认证类型@{AuthType}。 */ + enum AuthType authType; + /** 执行器安全等级@{ExecutorSecureLevel}。 */ + enum ExecutorSecureLevel esl; + /** 执行器公钥。 */ + unsigned char[] publicKey; + /** 其他相关信息。 */ + unsigned char[] extraInfo; +}; + +/** + * @brief 凭据模版信息。 + * + * @since 3.2 + * @version 1.0 + */ +struct TemplateInfo { + /** 执行器类型。 */ + unsigned int executorType; + /** 冻结时间。 */ + int freezingTime; + /** 剩余认证次数。 */ + int remainTimes; + /** 其他相关信息。 */ + unsigned char[] extraInfo; +}; +/** @} */ \ No newline at end of file diff --git a/zh-cn/device_api/hdi/user_auth/IUserAuthInterface.idl b/zh-cn/device_api/hdi/user_auth/IUserAuthInterface.idl new file mode 100755 index 0000000000000000000000000000000000000000..59040bf598ad27091023a8703cf585c13113a3ee --- /dev/null +++ b/zh-cn/device_api/hdi/user_auth/IUserAuthInterface.idl @@ -0,0 +1,277 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @addtogroup HdfUserAuth + * @{ + * + * @brief 提供用户认证驱动的标准API接口。 + * + * 用户认证驱动为用户认证服务提供统一的接口用于访问用户认证驱动,获取用户认证驱动代理后, + * 用户认证服务可以调用相关接口注册执行器,管理用户凭据,完成PIN码和生物特征认证。 + * + * @since 3.2 + */ + +/** + * @file IUserAuthInterface.idl + * + * @brief 声明用户认证驱动的API接口。接口可用于注册执行器,管理用户凭据,完成PIN码和生物特征认证。 + * + * @since 3.2 + */ + +package ohos.hdi.user_auth.v1_0; + +import ohos.hdi.user_auth.v1_0.UserAuthTypes; + +/** + * @brief 声明用户认证驱动的API接口。 + * + * @since 3.2 + * @version 1.0 + */ +interface IUserAuthInterface { + /** + * @brief 初始化用户认证缓存信息。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + Init(); + /** + * @brief 添加认证执行器来获取认证能力。 + * + * @param info 执行器注册信息{@link ExecutorRegisterInfo}。 + * @param index 用户认证框架的执行器索引。 + * @param publicKey 用户认证框架公钥。 + * @param templateIds 该执行器已注册的模版id列表。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + AddExecutor([in] struct ExecutorRegisterInfo info, [out] unsigned long index, + [out] unsigned char[] publicKey, [out] unsigned long[] templateIds); + /** + * @brief 删除执行器。 + * + * @param index 用户认证框架的执行器索引。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + DeleteExecutor([in] unsigned long index); + /** + * @brief 开启一个认证凭据管理会话。 + * + * @param userId 用户id。 + * @param challenge 随机挑战值,用于生成用户身份认证令牌。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + OpenSession([in] int userId, [out] unsigned char[] challenge); + /** + * @brief 关闭认证凭据管理会话。 + * + * @param userId 用户id。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + CloseSession([in] int userId); + /** + * @brief 开始注册用户认证凭据。当注册凭据类型为口令且该用户已经注册了口令凭据时,将会更新口令凭据。 + * + * @param userId 用户id。 + * @param authToken 用户口令认证令牌。 + * @param param 注册凭据参数{@link EnrollParam}。 + * @param info 调度信息{@link ScheduleInfo}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + BeginEnrollment([in] int userId, [in] unsigned char[] authToken, [in] struct EnrollParam param, + [out] struct ScheduleInfo info); + /** + * @brief 更新用户凭据注册结果,完成凭据注册。 + * + * @param userId 用户id。 + * @param scheduleResult 执行器签发的注册结果。 + * @param credentialId 凭据id。 + * @param oldInfo 已经删除的凭据信息{@link CredentialInfo}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + UpdateEnrollmentResult([in] int userId, [in] unsigned char[] scheduleResult, [out] unsigned long credentialId, + [out] struct CredentialInfo oldInfo); + /** + * @brief 取消注册请求。 + * + * @param userId 用户id。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + CancelEnrollment([in] int userId); + /** + * @brief 删除用户凭据信息。 + * + * @param userId 用户id。 + * @param credentialId 凭据id。 + * @param authToken 用户口令认证令牌。 + * @param info 删除的凭据信息{@link CredentialInfo}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + DeleteCredential([in] int userId, [in] unsigned long credentialId, [in] unsigned char[] authToken, + [out] struct CredentialInfo info); + /** + * @brief 查询用户凭据信息。 + * + * @param userId 用户id。 + * @param authType 凭据类型{@link AuthType}。 + * @param infos 凭据信息{@link CredentialInfo}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + GetCredential([in] int userId, [in] enum AuthType authType, [out] struct CredentialInfo[] infos); + /** + * @brief 查询用户安全信息。 + * + * @param userId 用户id。 + * @param secureUid 安全用户id。 + * @param infos 注册信息{@link EnrolledInfo}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + GetSecureInfo([in] int userId, [out] unsigned long secureUid, [out] struct EnrolledInfo[] infos); + /** + * @brief 删除用户口令,在用户IAM系统内删除该用户。 + * + * @param userId 用户id。 + * @param authToken 用户口令认证令牌。 + * @param deletedInfos 删除的凭据信息{@link CredentialInfo}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + DeleteUser([in] int userId, [in] unsigned char[] authToken, [out] struct CredentialInfo[] deletedInfos); + /** + * @brief 强制删除用户。 + * + * @param userId 用户id。 + * @param deletedInfos 删除的凭据信息{@link CredentialInfo}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + EnforceDeleteUser([in] int userId, [out] struct CredentialInfo[] deletedInfos); + /** + * @brief 开始认证用户,并生成认证方案。 + * + * @param contextId 上下文索引。 + * @param param 认证方案{@link AuthSolution}。 + * @param scheduleInfos 调度信息{@link ScheduleInfo}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + BeginAuthentication([in] unsigned long contextId, [in] struct AuthSolution param, + [out] struct ScheduleInfo[] scheduleInfos); + /** + * @brief 更新认证结果,评估认证方案的认证结果。 + * + * @param contextId 上下文索引。 + * @param scheduleResult 执行器签发的认证结果。 + * @param info 认证结果信息{@link AuthResultInfo}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + UpdateAuthenticationResult([in] unsigned long contextId, [in] unsigned char[] scheduleResult, + [out] struct AuthResultInfo info); + /** + * @brief 取消用户认证请求。 + * + * @param contextId 上下文索引。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + CancelAuthentication([in] unsigned long contextId); + /** + * @brief 开始用户身份识别,并生成识别方案。 + * + * @param contextId 上下文索引。 + * @param authType 用户身份识别类型@{AuthType}。 + * @param scheduleInfo 调度信息{@link ScheduleInfo}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + BeginIdentification([in] unsigned long contextId, [in] enum AuthType authType, [in] byte[] challenge, + [in] unsigned int executorId, [out] struct ScheduleInfo scheduleInfo); + /** + * @brief 更新用户身份识别结果,生成身份识别方案的结果 + * + * @param contextId 上下文索引。 + * @param scheduleResult 执行器签发的用户身份识别结果。 + * @param info 用户身份识别结果{@link IdentifyResultInfo}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + UpdateIdentificationResult([in] unsigned long contextId, [in] unsigned char[] scheduleResult, + [out] struct IdentifyResultInfo info); + /** + * @brief 取消用户身份识别请求。 + * + * @param contextId 上下文索引。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + CancelIdentification([in] unsigned long contextId); + /** + * @brief 获取当前认证类型的认证结果可信等级。 + * + * @param userId 用户id。 + * @param authType 认证类型{@link AuthType}。 + * @param authTrustLevel 认证结果可信等级。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + GetAuthTrustLevel([in] int userId, [in] enum AuthType authType, [out] unsigned int authTrustLevel); + /** + * @brief 获取指定认证结果可信等级下有效的认证方式。 + * + * @param userId 用户id。 + * @param authTypes 用于筛选的认证方式列表{@link AuthType}。 + * @param authTrustLevel 认证结果可信等级。 + * @param validTypes 有效的认证方式列表{@link AuthType}。 + * + * @return 如果操作成功,则返回0。 + * @return 如果操作失败,则返回非0的数值。 + */ + GetValidSolution([in] int userId, [in] enum AuthType[] authTypes, [in] unsigned int authTrustLevel, + [out] enum AuthType[] validTypes); +} +/** @} */ \ No newline at end of file diff --git a/zh-cn/device_api/hdi/user_auth/UserAuthTypes.idl b/zh-cn/device_api/hdi/user_auth/UserAuthTypes.idl new file mode 100755 index 0000000000000000000000000000000000000000..ee4c35c48de9da36b84fac66ac658a308e982b13 --- /dev/null +++ b/zh-cn/device_api/hdi/user_auth/UserAuthTypes.idl @@ -0,0 +1,257 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + /** + * @addtogroup HdfUserAuth + * @{ + * + * @brief 提供用户认证驱动的标准API接口。 + * + * 用户认证驱动为用户认证服务提供统一的接口用于访问用户认证驱动。 + * + * @since 3.2 + */ + + /** + * @file UserAuthTypes.idl + * + * @brief 定义用户认证驱动的枚举类和数据结构。 + * + * @since 3.2 + */ + +package ohos.hdi.user_auth.v1_0; + + /** + * @brief 枚举用户认证凭据类型。 + * + * @since 3.2 + * @version 1.0 + */ +enum AuthType : int { + /** 所有认证类型。 */ + ALL = 0, + /** 认证类型为口令。 */ + PIN = 1, + /** 认证类型为人脸。 */ + FACE = 2, + /** 认证类型为指纹。 */ + FINGERPRINT = 3, +}; + +/** + * @brief 枚举执行器角色。 + * + * @since 3.2 + * @version 1.0 + */ +enum ExecutorRole : int { + /** 执行器角色为采集器。 */ + COLLECTOR = 1, + /** 执行器角色为认证器。 */ + VERIFIER = 2, + /** 执行器角色为全功能执行器。 */ + ALL_IN_ONE = 3, +}; + +/** + * @brief 枚举执行器安全等级。 + * + * @since 3.2 + * @version 1.0 + */ +enum ExecutorSecureLevel : int { + /** 执行器安全级别为0,关键操作在无访问控制执行环境中完成。 */ + ESL0 = 0, + /** 执行器安全级别为1,关键操作在有访问控制的执行环境中完成。 */ + ESL1 = 1, + /** 执行器安全级别为2,关键操作在可信执行环境中完成。 */ + ESL2 = 2, + /** 执行器安全级别为3,关键操作在高安环境如独立安全芯片中完成。 */ + ESL3 = 3, +}; + +/** + * @brief 执行器注册信息。 + * + * @since 3.2 + * @version 1.0 + */ +struct ExecutorRegisterInfo { + /** 认证类型@{AuthType}。 */ + enum AuthType authType; + /** 执行器角色@{ExecutorRole}。 */ + enum ExecutorRole executorRole; + /** 既定认证类型的执行器id。 */ + unsigned int executorId; + /** 执行器类型。 */ + unsigned int executorType; + /** 执行器安全等级@{ExecutorSecureLevel}。 */ + enum ExecutorSecureLevel esl; + /** 执行器公钥。 */ + unsigned char[] publicKey; +}; + +/** + * @brief 执行器信息。 + * + * @since 3.2 + * @version 1.0 + */ +struct ExecutorInfo { + /** 用户认证框架的执行器索引。 */ + unsigned long index; + /** 执行器注册信息@{ExecutorRegisterInfo}。 */ + struct ExecutorRegisterInfo info; +}; + +/** + * @brief 调度信息。 + * + * @since 3.2 + * @version 1.0 + */ +struct ScheduleInfo { + /** 调度id。 */ + unsigned long scheduleId; + /** 模版id列表。 */ + unsigned long[] templateIds; + /** 认证类型@{AuthType}。 */ + enum AuthType authType; + /** 执行器类型。 */ + unsigned int executorType; + /** 调度模式。 */ + unsigned int scheduleMode; + /** 执行器信息列表@{ExecutorInfo}。 */ + struct ExecutorInfo[] executors; +}; + +/** + * @brief 认证方案。 + * + * @since 3.2 + * @version 1.0 + */ +struct AuthSolution { + /** 用户id。 */ + int userId; + /** 认证结果可信等级。 */ + unsigned int authTrustLevel; + /** 认证类型@{AuthType}。 */ + enum AuthType authType; + /** 既定认证类型的执行器id。 */ + unsigned int executorId; + /** 挑战值。 */ + unsigned char[] challenge; +}; + +/** + * @brief 执行器发送的消息。 + * + * @since 3.2 + * @version 1.0 + */ +struct ExecutorSendMsg { + /** 用户认证框架的执行器索引。 */ + unsigned int index; + /** 执行器发送的消息。 */ + unsigned char[] msg; +}; + +/** + * @brief 用户身份认证结果信息。 + * + * @since 3.2 + * @version 1.0 + */ +struct AuthResultInfo { + /** 结果。 */ + unsigned int result; + /** 冻结时间。 */ + int freezingTime; + /** 剩余认证次数。 */ + int remainTimes; + /** 执行器发送的消息。 */ + struct ExecutorSendMsg[] msgs; + /** 用户身份认证令牌。 */ + unsigned char[] token; +}; + +/** + * @brief 用户身份识别结果信息。 + * + * @since 3.2 + * @version 1.0 + */ +struct IdentifyResultInfo { + /** 结果。 */ + int result; + /** 用户id。 */ + int userId; + /** 用户身份识别令牌。 */ + unsigned char[] token; +}; + +/** + * @brief 注册认证凭据参数。 + * + * @since 3.2 + * @version 1.0 + */ +struct EnrollParam { + /** 认证类型@{AuthType}。 */ + enum AuthType authType; + /** 执行器类型。 */ + unsigned int executorType; + /** 既定认证类型的执行器id。 */ + unsigned int executorId; +}; + +/** + * @brief 认证凭据信息。 + * + * @since 3.2 + * @version 1.0 + */ +struct CredentialInfo { + /** 认证凭据id。 */ + unsigned long credentialId; + /** 用户认证框架的执行器索引。 */ + unsigned long index; + /** 认证凭据模版id。 */ + unsigned long templateId; + /** 认证类型@{AuthType}。 */ + enum AuthType authType; + /** 执行器类型。 */ + unsigned int executorType; + /** 既定认证类型的执行器id。 */ + unsigned int executorId; + /** 其他相关信息。 */ + unsigned char[] extraInfo; +}; + +/** + * @brief 注册信息。 + * + * @since 3.2 + * @version 1.0 + */ +struct EnrolledInfo { + /** 注册id。 */ + unsigned long enrolledId; + /** 认证类型@{AuthType}。 */ + enum AuthType authType; +}; +/** @} */ \ No newline at end of file