移动安全-api使用方式介绍

2018-08-22 19:39:40 浏览数 (1)

重要说明:这里只是拿php举例,实际上sdk支持6种语言,包括php、python、java、go、.net和nodejs。具体可以看后面3.3

现在已提供命令行方式进行加固,详情请参考:https://cloud.tencent.com/developer/article/1193406

一、安装(以下两种安装方式任选其一)

1.1、使用 Composer安装

1.1.1安装 Composer(如果已经有Composer请忽略)

windows 环境请访问 Composer官网 下载安装包安装。unix 环境在命令行中执行以下命令安装。

代码语言:text复制
  curl -sS https://getcomposer.org/installer | php

1.1.2 在 composer.json 的 require 结构体中加入依赖:注意这里的版本号只是举例,您可以在composer仓库上看到最新的版本号。

代码语言:javascript复制
  "tencentcloud/tencentcloud-sdk-php": "3.0.2"

1.1.3 运行 composer install 下载安装 PHP SDK

1.1.4 添加以下引用代码,引用方法可参考示例。

代码语言:php复制
  require 'vendor/autoload.php';

1.2、通过源码包安装

1.2.1前往 Github 代码托管地址 下载源码压缩包。

1.2.2解压源码包到您项目合适的位置。

1.2.3添加以下引用代码,引用方法可参考示例。

代码语言:php复制
  require_once '../TCloudAutoLoader.php';

二、使用示例

以下为了说明问题将两个接口分开,实际上可以将两个接口在一份代码中使用,只要use对应的接口即可。两个例子区别只在第3步和第7步

2.1 提交加固请求

代码语言:php复制
  <?php
  // 1、引用
  // 如果通过Composer安装,那么引用方式是:require 'vendor/autoload.php';
  // 如果是源码包安装方式,这里注意解压的位置,保证通过require方式可以引用得到,本例子是源码安装方式使用举例
  require_once "./tencentcloud-sdk-php-master/TCloudAutoLoader.php";
  // 2、导入对应产品模块的client
  use TencentCloudMsV20180408MsClient;
  // 3、导入要请求接口对应的Request类
  use TencentCloudMsV20180408ModelsCreateShieldInstanceRequest;
  use TencentCloudCommonExceptionTencentCloudSDKException;
  use TencentCloudCommonCredential;
  ​
  try {
      // 4、实例化一个证书对象,入参需要传入腾讯云账户secretId,secretKey,获取方式参考3.1
      $cred = new Credential("secretId", "secretKey");
      // 5、 实例化要请求产品(ms)的client对象
      $client = new MsClient($cred, "ap-guangzhou");
  ​
      // 6、实例化一个请求对象
      $req = new CreateShieldInstanceRequest();
     // 7、业务参数
      $params = array(
          'ServiceInfo' => array(
              'ServiceEdition' => 'basic', // 服务版本,填写basic
              'CallbackUrl' => 'http://e.com/a', // 任务处理完成后的反向通知回调地址,通知为POST请求,post信息{ItemId:"xxxduuyt-ugusg"}
              'SubmitSource' => 'API' // 提交来源,固定写API
          ),
          'AppInfo' => array(
              'AppUrl' => 'http://example.com/EasyConnect.apk', // 必选,app的下载url,必须保证不用权限校验就可以下载
              'AppMd5' => '5e723e63c92f4296d79c2a4c2a2f032e', // 必选,app的md5
          )
      );
      $req->fromJsonString(json_encode($params));
      // 8、通过client对象调用想要访问的接口,需要传入请求对象
      $resp = $client->CreateShieldInstance($req);
      // 9、打印结果
      print_r($resp->toJsonString());die;
  }
  catch(TencentCloudSDKException $e) {
      echo $e;
  }
  ?>

2.2 查询加固结果

代码语言:php复制
  <?php
  // 1、引用
  // 如果通过Composer安装,那么引用方式是:require 'vendor/autoload.php';
  // 如果是源码包安装方式,这里注意解压的位置,保证通过require方式可以引用得到,本例子是源码安装方式使用举例
  require_once "./tencentcloud-sdk-php-master/TCloudAutoLoader.php";
  // 2、导入对应产品模块的client
  use TencentCloudMsV20180408MsClient;
  // 3、导入要请求接口对应的Request类
  use TencentCloudMsV20180408ModelsDescribeShieldResultRequest;
  use TencentCloudCommonExceptionTencentCloudSDKException;
  use TencentCloudCommonCredential;
  ​
  try {
      // 4、实例化一个证书对象,入参需要传入腾讯云账户secretId,secretKey,获取方式参考3.1
      $cred = new Credential("secretId", "secretKey");
      // 5、实例化要请求产品(ms)的client对象
      $client = new MsClient($cred, "ap-guangzhou");
      // 6、实例化一个请求对象,这里是查询加固请求对象
      $req = new DescribeShieldResultRequest();
     // 7、业务参数
      $params = array(
          'ItemId' => '5b3def1d81a35cda9d7629b8f95ccedb' //这里ItemId从上面一个接口中获取
      );
      $req->fromJsonString(json_encode($params));
      // 8、通过client对象调用想要访问的接口,需要传入请求对象
      $resp = $client->DescribeShieldResult($req);
      // 9、打印结果
      print_r($resp->toJsonString());die;
  }
  catch(TencentCloudSDKException $e) {
      echo $e;
  }
  ?>

三、加固返回码说明

调用加固api传递参数发送加固请求,完成后需要查询加固结果。

查询接口文档:https://cloud.tencent.com/document/api/283/17750

输出参数中有个字段ShieldInfo,该字段是app加固后的详细信息。ShieldCode是ShieldInfo下面的一个字段,描述的是加固结果返回码。以下是加固结果返回码说明:

返回码

说明

0

请求成功

40101

apk安装包检测到病毒

40102

apk安装包已经加固

40104

apk安装包上传失败,可能是网络原因导致超时

40105

apk安装包大小超过1G

40106

文件不是有效的apk

40109

提交加固请求的链接失效或者无法通过改链接下载apk

40113

apk信息不完整,上传的APK非法,请检查APK是否包含签名、标签、版本号等信息

40115

apk安装包缺少签名

40116

apk安装包缺少标签

40133

获取加固文件结果失败

40134

上传图标出错

40140

任务提交失败

40141

软件不安全

40142

查毒失败

40143

查毒超时

40144

用户上传到web服务器失败

如果遇到其他返回码,可以加QQ群218062986反馈。

四、注意事项

3.1 密钥获取地址 https://console.zijiebao.com/capi

3.2 移动安全所有接口列表https://cloud.tencent.com/document/product/283/17742

3.3 其它语言SDK和SDK更新地址:https://cloud.tencent.com/document/sdk

0 人点赞