IsAuthentic
Checks whether or not all binaries that are expected to be signed, are signed (i.e. the product is authentic). Details are provided to determine which binaries are checked and their signature status.
Syntax
Method ID
#define WAAPI_MID_COMMON_IS_AUTHENTIC 108
JSON Input Structure
{
"input": {
"method": 108,
"signature": number,
"instance_id": string,
"hash_binary": boolean
}
}
Input Properties
| Parameter | Type | Description |
|---|---|---|
instance_id | string | (optional) (macOS only) (macOS only) The current instance id of the product |
hash_binary | boolean | (optional) If true, this method will generate the hash of the binary by SHA-256 (default is false). |
JSON Output Structure
{
"result": {
"method": 108,
"code": number,
"timing": number,
"timestamp": string,
"authentic": boolean,
"details": [
{
"file": string,
"status": string,
"signing_code": number,
"sha256": string,
"certificate_info": [
{
"issuer": string,
"subject": string,
"valid_from": number,
"valid_to": number,
"serial_number": string,
"thumbprint": string
},
...
]
},
...
]
}
}
Output Properties
| Property | Type | Description |
|---|---|---|
result.method | number | The method ID that generated this result. |
result.code | number | The result code. See Result Codes. |
result.timing | number | The measured time for the method call in milliseconds. |
result.timestamp | string | The timestamp in seconds of when the call was made. |
result.authentic | boolean | Will return true if all files expected to be signed are signed. |
result.details | array<object> | An array of information about the files being checked for authenticity. |
result.details.file | string | File which is expected to be signed. |
result.details.status | string | The status reflects the value of the signing code. Getting the details info via the signing code is recommended instead of this field. |
result.details.signing_code | number | The signing codes are different based on the platform. macOS: it reports the status exactly with the result code of the code signing service. Details: https://developer.apple.com/documentation/security/1574088-code_signing_services_result_cod Windows: it returns codes from WinVerifyTrustEx function Details: https://learn.microsoft.com/en-us/windows/win32/api/wintrust/nf-wintrust-winverifytrustex. |
result.details.sha256 | string | (optional) The hash string of the binary. |
result.details.certificate_info | array<object> | (optional) (Windows and macOS only) List of certificates of the file. |
result.details.certificate_info.issuer | string | (optional) (Windows and macOS only) Issuer |
result.details.certificate_info.subject | string | (optional) (Windows and macOS only) Subject |
result.details.certificate_info.valid_from | number | (optional) (Windows and macOS only) Valid from |
result.details.certificate_info.valid_to | number | (optional) (Windows and macOS only) Valid to |
result.details.certificate_info.serial_number | string | (optional) (Windows and macOS only) Serial number |
result.details.certificate_info.thumbprint | string | (optional) (Windows only) Thumbprint |
Result Codes
| Code | Name | Description |
|---|---|---|
| 0 | WAAPI_OK | The operation completed successfully. |
note
Other codes may be returned. See the full Result Codes reference for the complete list.
Remarks
Error Handling
The results of this function are determined by the error code returned by the call. If successful, WAAPI_OK or a special success code will be returned. Always check both the function return value and the result.code field in the output JSON.
Examples
Examples will be added here demonstrating the usage of this method.
See Also
Last updated: 2026-10-01