本文詳細介紹對移動應用進行安全加固的開放接口。
獲取上傳文件 token
請求 - GetFileTokenForUploadToMsaRequest
參數名稱 | 類型 | 說明 |
appId | String | 所屬的 App。 |
workspaceId | String | 所屬的 Workspace。 |
tenantId | String | 所屬的租戶。 |
onexFlag | Boolean | 固定傳值為 |
返回值 - GetFileTokenForUploadToMsaResponse
{
"resultContent":{
"content":{
"accessid":"LTAI7z7XPfKU****",
"dir":"mds/tempFileForOnex/ONEXE9B092D/test/PUQYHL/8b574cb7-3596-403f-a0e9-208660fc2081/",
"expire":"1584327372",
"host":"https://mcube-test.oss-cn-hangzhou.aliyuncs.com",
"policy":"QwM2YtYTBlOS0yMDg2NjBmYzIwODEvIl1dfQ==",
"signature":"kisfP5YhbPtmES8+w="
},
"resultMsg":"",
"success":true
},
"requestId":"8BAA3288-662E-422C-9960-2EEBFC08369F",
"resultCode":"OK"
}
返回值說明
返回值名稱 | 類型 | 說明 |
requestId | String | 標識請求的 ID。 |
resultCode | String | 正常情況下,請求返回的 code 是 |
ResultContent.Content | Object | 返回的具體對象,具體含義見下表。 |
在返回的對象中,包含的字段含義如下:
名稱 | 類型 | 說明 |
resultMsg | String | 查詢失敗后的返回值。 |
success | Boolean | 查詢是否成功。 |
通知 MSA 開始處理已經上傳到 OSS 的應用
請求 - UploadUserAppToMsaRequest
參數名稱 | 類型 | 說明 |
appId | String | 所屬的 App。 |
workspaceId | String | 所屬的 Workspace。 |
tenantId | String | 所屬的租戶。 |
fileUrl | String | APK/ABB 上傳后的地址。 |
返回值 - UploadUserAppToMsaResponse
{
"resultContent":{
"data":{
"id": 12345,
"enhanceTaskId": 12345,
"progress": 10,
"status": 0
},
"resultMsg":"",
"success":true
},
"requestId":"637D5BE0-0111-4C53-BCEE-473CFFA0DBAD",
"resultCode":"OK"
}
返回值說明
返回值名稱 | 類型 | 說明 |
requestId | String | 標識請求的 ID。 |
resultCode | String | 正常情況下,請求返回的 code 是 |
resultContent | Object | 返回的具體對象,具體含義見下表。 |
在返回的對象中,包含的字段含義如下:
名稱 | 類型 | 說明 |
data.id | Integer | 上傳任務的 ID,如果加固沒有完成需要輪詢檢查。 |
data.enhanceTaskId | Integer | 上傳完成之后,會返回一個加固任務 ID,利用這個 ID 啟動加固任務。 |
data.progress | Integer | 加固的進度,范圍 0 - 100。 |
data.status | Integer | 上傳狀態,-1 為失敗,0 為處理中,1 為上傳成功。 |
resultMsg | String | 查詢失敗后的返回值。 |
success | Boolean | 查詢是否成功。 |
查詢處理上傳應用狀態
請求 - GetUserAppUploadProcessInMsaRequest
參數名稱 | 類型 | 說明 |
appId | String | 所屬的 App。 |
workspaceId | String | 所屬的 Workspace。 |
tenantId | String | 所屬的租戶。 |
id | Long | 上傳任務 ID。 |
返回值 - GetUserAppUploadProcessInMsaResponse
{
"resultContent":{
"data":{
"id": 12345,
"enhanceTaskId": 12345,
"progress": 10,
"status": 0
},
"resultMsg":"",
"success":true
},
"requestId":"637D5BE0-0111-4C53-BCEE-473CFFA0DBAD",
"resultCode":"OK"
}
返回值說明
返回值名稱 | 類型 | 說明 |
requestId | String | 標識請求的 ID。 |
resultCode | String | 正常情況下,請求返回的 code 是 |
resultContent | Object | 返回的具體對象,具體含義見下表。 |
在返回的對象中,包含的字段含義如下:
名稱 | 類型 | 說明 |
data.id | String | 上傳任務的 ID,如果加固沒有完成需要輪詢檢查。 |
data.enhanceTaskId | String | 上傳完成之后,會返回一個加固任務 ID,利用這個 ID 啟動加固任務。 |
data.status | Integer | 上傳狀態,-1 為失敗,0 為處理中,1 為上傳成功。 |
resultMsg | String | 查詢失敗后的返回值。 |
success | Boolean | 查詢是否成功。 |
啟動加固任務
請求 - StartUserAppAsyncEnhanceInMsaRequest
名稱 | 類型 | 說明 |
appId | String | 所屬的 App。 |
workspaceId | String | 所屬的 Workspace。 |
tenantId | String | 所屬的租戶。 |
id | Long | 加固任務 ID。 |
taskType | String | 任務類型,有 |
useAShield | boolean | true 為啟動新加固工具鏈加固任務。不傳或者傳 false 為啟動老加固工具鏈加固任務。 |
classes | String | 設置需要 Java2C 加固的核心類,應當只添加關鍵核心類,使用英文逗號(,)隔開,如 |
totalSwitch | boolean | 總開關,設置為 |
javaHook | Integer | 防 Java Hook 能力,0 為 Killself,1 為 Warning。 |
memoryDump | Integer | 防 memory dump 能力,0 為 Killself,1 為 Warning。 |
emulatorEnvironment | Integer | 防模擬器能力,0 為 Killself,1 為 Warning。 |
nativeHook | Integer | 防 Native Hook 能力,0 為 Killself,1 為 Warning。 |
dalvikDebugger | Integer | 防 Java 調試能力,0 為 Killself,1 為 Warning。 |
nativeDebugger | Integer | 防 Native 調試和 Root 能力,0 為 Killself,1 為 Warning。 |
返回值 - StartUserAppAsyncEnhanceInMsaResponse
{
"resultContent":{
"data":{
"afterMd5": "aaaaaaaa",
"afterSize": 1000,
"appCode": "ONEXxxxx",
"appPackage": "com.example.app",
"beforeMd5": "bbbbbb",
"id": 1,
"label": "支付寶",
"progress": 0,
"status": 2,
"taskType": "shell",
"versionCode": 1,
"versionName": "1.0.0",
"enhancedClasses": ["aaa", "bbb"]
},
"resultMsg":"",
"success":true
},
"requestId":"F9C681F2-6377-488D-865B-1144E0CE69D2",
"resultCode":"OK"
}
返回值說明
返回值名稱 | 類型 | 說明 |
requestId | String | 標識請求的 ID。 |
resultCode | String | 正常情況下,請求返回的 code 是 OK。若有其他情況,則表明 API 請求異常。 |
resultContent | Object | 返回的具體對象,具體含義見下表。 |
在返回的對象中,包含的字段含義如下:
名稱 | 類型 | 說明 |
resultMsg | String | 查詢失敗后的返回值。 |
success | Boolean | 查詢是否成功。 |
data.afterMd5 | String | 加固后 APK/ABB 的 MD5。 |
data.afterSize | Long | 加固后 APK/ABB 的大小。 |
data.id | Long | 加固任務的 ID,后續用來輪詢調用。 |
data.label | String | APK/ABB 的 label 字段。 |
data.progress | Integer | 加固的進度,范圍 0 - 100。 |
data.status | Integer | 加固任務的狀態: 0 未開始,1 已提交任務,2 加固中,3 加固成功,4 加固失敗。 |
data.taskType | String | 加固任務類型。 |
data.enhancedClasses | String[] | Java2C 選擇的類。 |
查詢加固任務進度
請求 - GetUserAppEnhanceProcessInMsaRequest
名稱 | 類型 | 說明 |
appId | String | 所屬的 App。 |
workspaceId | String | 所屬的 workspace。 |
tenantId | String | 所屬的租戶。 |
id | Long | 加固任務 ID。 |
返回值 - GetUserAppEnhanceProcessInMsaResponse
{
"resultContent":{
"data":{
"afterMd5": "aaaaaaaa",
"afterSize": 1000,
"appCode": "ONEXxxxx",
"appPackage": "com.example.app",
"beforeMd5": "bbbbbb",
"id": 1,
"label": "支付寶",
"progress": 0,
"status": 2,
"taskType": "shell",
"versionCode": 1,
"versionName": "1.0.0",
"enhancedClasses": ["aaa", "bbb"]
},
"resultMsg":"",
"success":true
},
"requestId":"F9C681F2-6377-488D-865B-1144E0CE69D2",
"resultCode":"OK"
}
返回值說明
返回值名稱 | 類型 | 說明 |
requestId | String | 標識請求的 ID。 |
resultCode | String | 正常情況下,請求返回的 code 是 OK。若有其他情況,則表明 API 請求異常。 |
resultContent | Object | 返回的具體對象,具體含義見下表。 |
在返回的對象中,包含的字段含義如下:
名稱 | 類型 | 說明 |
resultMsg | String | 查詢失敗后的返回值。 |
success | Boolean | 查詢是否成功。 |
data.afterMd5 | String | 加固后 APK/ABB 的 MD5。 |
data.afterSize | Long | 加固后 APK/ABB 的大小。 |
data.id | Long | 加固任務的 ID,后續用來輪詢調用。 |
data.label | String | APK/ABB 的 label 字段。 |
data.progress | Integer | 加固的進度,范圍 0 - 100。 |
data.status | Integer | 加固任務的狀態: 0 未開始,1 已提交任務,2 加固中,3 加固成功,4 加固失敗。 |
data.taskType | String | 加固任務類型。 |
data.enhancedClasses | String[] | Java2C 選擇的類。 |
查詢加固后的產物下載鏈接
請求 - GetUserAppDownloadUrlInMsaRequest
參數名稱 | 類型 | 說明 |
appId | String | 所屬的 App。 |
workspaceId | String | 所屬的 workspace。 |
tenantId | String | 所屬的租戶。 |
taskId | String | 加固任務 ID。 |
返回值 - GetUserAppDownloadUrlInMsaResponse
{
"resultContent":{
"data": { "url": "https://xxxx"},
"resultMsg":"",
"success":false
},
"requestId":"8F76783A-8070-4182-895D-14E5D66F8BA3",
"resultCode":"OK"
}
返回值說明
返回值名稱 | 類型 | 說明 |
requestId | String | 標識請求的 ID。 |
resultCode | String | 正常情況下,請求返回的 code 是 OK。若有其他情況,則表明 API 請求異常。 |
checkRsaKeyResult | Object | 返回的具體對象,具體含義見下表。 |
在返回的對象中,包含的字段含義如下:
名稱 | 類型 | 說明 |
data.url | String | APK/ABB 下載鏈接。 |
data.filename | String | APK/ABB 文件名。 |
resultMsg | String | 查詢失敗后的返回值。 |
success | Boolean | 查詢是否成功。 |
查詢加固日志
請求 - GetLogUrlInMsaRequest
參數名稱 | 類型 | 說明 |
appId | String | 所屬的 App。 |
workspaceId | String | 所屬的 Workspace。 |
tenantId | String | 所屬的租戶。 |
taskId | String | 加固任務 ID。 |
返回值 - GetLogUrlInMsaResponse
{
"resultContent":{
"data": { "url": "https://xxxx"},
"resultMsg":"",
"success":false
},
"requestId":"8F76783A-8070-4182-895D-14E5D66F8BA3",
"resultCode":"OK"
}
返回值說明
返回值名稱 | 類型 | 說明 |
requestId | String | 標識請求的 ID。 |
resultCode | String | 正常情況下,請求返回的 code 是 OK。若有其他情況,則表明 API 請求異常。 |
resultContent | Object | 返回的具體對象,具體含義見下表。 |
在返回的對象中,包含的字段含義如下:
名稱 | 類型 | 說明 |
data | String | log 下載鏈接。 |
resultMsg | String | 查詢失敗后的返回值。 |
success | Boolean | 查詢是否成功。 |