展开

关键词

首页关键词移动应用安全多少钱一年

移动应用安全多少钱一年

相关内容

移动应用安全

移动应用安全

移动应用(APP)安全为用户提供移动应用全生命周期的一站式安全解决方案。涵盖移动应用加固、安全测评、安全组件等服务……
  • 移动应用安全

    应用加固,产品概述,快速入门,安全测评,安全测评,应用加固,购买指南,产品优势,功能介绍,应用场景,请求结构,公共参数,签名方法,返回结果,查询加固结果,用户查询提交过的app列表,批量删除提交过的app信息,提交加固基础数据,批量查询扫描结果,查询扫描列表,批量删除提交过的app扫描信息,批量提交安全扫描,查询加固策略,新增加固策略,获取用户的所有资源信息,将应用绑定到资源,创建资源,签名方法 v3,获取云COS临时密钥,获取用户基础信息,产品动态,联系我们,应用加固,产品概述,快速入门,安全测评,常见问题,安全测评,应用加固,购买指南,产品简介,产品优势,功能介绍,应用场景,控制台指南,简介,API 概览,调用方式,请求结构,公共参数,签名方法,返回结果,更新历史,应用加固相关接口,查询加固结果,用户查询提交过的app列表,批量删除提交过的app信息,提交加固基础数据,应用安全扫描相关接口,批量查询扫描结果,查询扫描列表,批量删除提交过的app扫描信息,批量提交安全扫描,数据结构,查询加固策略,新增加固策略,用户服务信息相关接口,获取用户的所有资源信息,将应用绑定到资源,创建资源,签名方法 v3,其他接口,获取云COS临时密钥,错误码,获取用户基础信息,词汇表,产品动态,联系我们
    来自:
  • 产品动态

    2020-11-18- 2020-09动态名称动态描述发布时间相关文档更新免费版4.1.0.28提升移动应用安全的安全性,优化加固过程,提升大文件加固速度。2020-09-17- 2020-08动态名称动态描述发布时间相关文档更新免费版4.1.0.27提升移动应用安全的安全性和稳定性,优化加固速度。2020-07-08- 2020-06动态名称动态描述发布时间相关文档更新免费版4.1.0.25提升移动应用安全的安全性和稳定性。优化加解密,提升解密速度。2020-06-04- 2020-05动态名称动态描述发布时间相关文档更新免费版4.1.0.24提升移动应用安全的安全性和稳定性。2020-01-09- 2019-11动态名称动态描述发布时间相关文档移动应用安全客户端工具下线移动应用安全产品全面升级为 SaaS 版本。
    来自:
  • 广告
    关闭

    云产品限时秒杀

    云服务器1核2G首年50元,还有多款热门云产品满足您的上云需求

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到
  • 应用加固

    上传的应用未签名,目前移动应用安全仅允许上传已签名应用。已加固的 apk 不可进行重复加固,只需要重签名即可。部分浏览器可能存在不兼容情况,尝试换其他浏览器登录。说明应用被国内外杀毒引擎判定为恶意,移动应用安全将会拒绝对此类应用进行加固,请检查应用是否有违规行为。移动应用安全采信了第三方杀毒引擎判定结果,若您的应用被杀毒引擎判定为恶意,加固已经没有意义。推荐使用 移动应用安全控制台 在线加固,请勿用第三方加固包或移动应用安全加固包再次加固。 如何进行应用加固?移动应用安全版本更新动态如何查看?移动应用安全版本更新动态可参见 更新日志。使用应用加固基础版的用户如何反馈问题?如您对应用加固有个性化需求,请联系移动应用安全客服 QQ:1783961938。 移动应用安全加固是否支持 SAAS 服务?移动应用安全加固已全面升级为 SAAS 版,旧版 PC 工具已暂停维护。
    来自:
  • 应用场景

    移动应用安全服务使用场景如下所示: 应用开发中:移动应用安全提供了界面防劫持、防截屏录屏等 SDK,供开发者集成。应用开发完毕:通过移动应用安全的安全检测功能,及时发现应用中存在的安全漏洞。应用待上线:通过移动应用安全的应用加固功能,防止应用上线后被盗版、破解。应用上线后:通过移动应用安全的运行环境检测功能,全面掌握系统层、网络层及应用层的安全情况。
    来自:
  • 产品概述

    移动应用安全(Mobile Security,MS)可提供移动应用的一站式安全解决方案。您只需上传已签名的安装包,即可享受安全检测、应用加固、渠道监控以及安全 SDK 等一系列功能。移动应用安全服务可以防止您的应用被盗版破解,同时可及时发现应用漏洞,监控应用正盗版分发等,有效捍卫移动应用所有者利益。 注意: 应用加固后需重新签名,否则无法正常安装。使用限制移动应用安全服务使用过程中有如下限制: 需上传已签名安装包。每个账号下维持不超过8个应用记录。
    来自:
  • 产品优势

    自研的安全检测引擎移动应用安全下的安全扫描服务采用腾讯自研的安全检测引擎,腾讯旗下多款用户量上亿级的应用均采用该引擎,历经市场考验,可帮助开发者尽早发现应用中存在的安全风险。优秀的加固性能移动应用安全下的应用加固服务严格控制加固对应用安装包大小及性能影响,加固前后应用的体积及性能不会出现显著变化。良好的兼容性移动应用安全下的应用加固服务采用千余款真机而非虚拟机来验证加固稳定性,确保加固方案在主要机型上的兼容。
    来自:
  • 安全测评

    功能介绍安全检测服务概述高达97%的应用存在各式安全漏洞,如果不加以处理和修复,应用开发者将面临信息劫持、广告病毒恶意植入、破解逆向等一系列安全问题,为此移动应用安全针对移动应用开发者,推出了安全检测服务结合腾讯多年的研发评测经验,移动应用安全能帮助开发者快速发现应用中存在的安全风险。安全检测服务介绍移动应用安全检测服务,主要包含组件公开安全检测、AndroidManifest.xml 配置安全检测、Intent 劫持风险安全检测、数据存储安全检测、WebView 高危接口安全检测、操作步骤登录 移动应用安全控制台,在左侧导航栏单击安全测评,进入安全测评页面。在安全测评页面,单击免费测评,进入测评流程页面。在测评流程页面,单击上传应用,上传需要进行检测的 APK 文件。
    来自:
  • 快速入门

    下载加固包后重签名即可免测发布,贴心保卫您的版权和收入,下面将为您详细介绍如何使用移动应用安全服务。上传应用登录 移动应用安全控制台 ,在左侧导航栏单击应用加固,进入应用加固页面, 单击立即去加固,进入加固介绍页面。在加固介绍页面,单击立即加固,进入加固流程页面。
    来自:
  • 应用加固

    登录腾讯云 移动应用安全控制台, 在左侧导航栏单击应用加固,进入应用加固页面。 说明: 您也可以在 移动应用安全产品介绍页 中,单击立即使用,进入控制台。
    来自:
  • 功能介绍

    移动应用安全为用户提供了一站式的服务体验,提供包括应用加固、安全测评等功能。应用加固DEX 文件加固:对 DEX 文件进行专业加壳加花保护,防止利用调试器对应用进行逆向破解。
    来自:
  • 购买指南

    服务项目收费(元应用年)付款类型 源码混淆120,000预付 购买方式如需购买应用加固企业版或源码混淆服务,可以进入 移动应用安全购买页 进行购买。
    来自:
  • 联系我们

    售前咨询当您需要购买咨询时,您可以直接通过 售前在线咨询 进行提问,会有专属客户经理在线为您解答,为您提供专业的上云方案。同时,您也可以直接致电销售人员,咨询热线:4009100100转1(工作日9:00 - 18:00)。售后支持当您遇到问题需要处理时,您可以直接通过 售后在线支持 进行提问,腾讯云工程师7 × 24小时在线为您提供服务。同时,您也可以直接致电客服人员,寻求相应的帮助。 客服咨询:4009100100(7 × 24小时)备案帮助:4009100100转3(7 × 24小时) 腾讯云助手腾讯云助手是腾讯云为开发者提供的移动管理工具,可以帮助开发者在手机上快捷管理云资源和云账户,进行充值续费、管理工单备案等,同时联系客服快速获取帮助。通过腾讯云助手,开发者不论在何时何地,都可快速进行管理操作,提高管理效率。微信扫一扫下方二维码,立即体验腾讯云助手。 问答社区问答社区是腾讯云为开发者提供的交流平台。该平台汇聚了云计算、人工智能、小程序、产品文档等热门标签版块。您可以登录问答社区进行提问,会有产品专家或热心用户对您提出的问题,进行相应解答、探讨和指导。平台入口:问答
    来自:
  • 请求结构

    1. 服务地址API 支持就近地域接入,本产品就近地域接入域名为 ms.tencentcloudapi.com ,也支持指定地域域名访问,例如广州地域的域名为 ms.ap-guangzhou.tencentcloudapi.com 。推荐使用就近地域接入域名。根据调用接口时客户端所在位置,会自动解析到最近的某个具体地域的服务器。例如在广州发起请求,会自动解析到广州的服务器,效果和指定 ms.ap-guangzhou.tencentcloudapi.com 是一致的。注意:对时延敏感的业务,建议指定带地域的域名。目前支持的域名列表为: 接入地域域名 就近地域接入(推荐,只支持非金融区)ms.tencentcloudapi.com 华南地区(广州)ms.ap-guangzhou.tencentcloudapi.com 华东地区(上海)ms.ap-shanghai.tencentcloudapi.com 华北地区(北京)ms.ap-beijing.tencentcloudapi.com 西南地区(成都)ms.ap-chengdu.tencentcloudapi.com 西南地区(重庆)ms.ap-chongqing.tencentcloudapi.com 港澳台地区(中国香港)ms.ap-hongkong.tencentcloudapi.com 亚太东南(新加坡)ms.ap-singapore.tencentcloudapi.com 亚太东南(曼谷)ms.ap-bangkok.tencentcloudapi.com 亚太南部(孟买)ms.ap-mumbai.tencentcloudapi.com 亚太东北(首尔)ms.ap-seoul.tencentcloudapi.com 亚太东北(东京)ms.ap-tokyo.tencentcloudapi.com 美国东部(弗吉尼亚)ms.na-ashburn.tencentcloudapi.com 美国西部(硅谷)ms.na-siliconvalley.tencentcloudapi.com 北美地区(多伦多)ms.na-toronto.tencentcloudapi.com 欧洲地区(法兰克福)ms.eu-frankfurt.tencentcloudapi.com 欧洲地区(莫斯科)ms.eu-moscow.tencentcloudapi.com 注意:由于金融区和非金融区是隔离不互通的,因此当访问金融区服务时(公共参数 Region 为金融区地域),需要同时指定带金融区地域的域名,最好和 Region 的地域保持一致。 金融区接入地域金融区域名 华东地区(上海金融)ms.ap-shanghai-fsi.tencentcloudapi.com 华南地区(深圳金融)ms.ap-shenzhen-fsi.tencentcloudapi.com 2. 通信协议腾讯云 API 的所有接口均通过 HTTPS 进行通信,提供高安全性的通信通道。3. 请求方法支持的 HTTP 请求方法: POST(推荐)GET POST 请求支持的 Content-Type 类型: applicationjson(推荐),必须使用签名方法 v3(TC3-HMAC-SHA256)。applicationx-www-form-urlencoded,必须使用签名方法 v1(HmacSHA1 或 HmacSHA256)。multipartform-data(仅部分接口支持),必须使用签名方法 v3(TC3-HMAC-SHA256)。 GET 请求的请求包大小不得超过32KB。POST 请求使用签名方法 v1(HmacSHA1、HmacSHA256)时不得超过1MB。POST 请求使用签名方法 v3(TC3-HMAC-SHA256)时支持10MB。4. 字符编码均使用UTF-8编码。
    来自:
  • 公共参数

    公共参数是用于标识用户和接口签名的参数,如非必要,在每个接口单独的接口文档中不再对这些参数进行说明,但每次请求均需要携带这些参数,才能正常发起请求。签名方法 v3签名方法 v3 (有时也称作 TC3-HMAC-SHA256)相比签名方法 v1 (有些文档可能会简称签名方法),更安全,支持更大的请求包,支持 POST JSON 格式,性能有一定提升,推荐使用该签名方法计算签名。完整介绍详见 文档。注意:接口文档中的示例由于目的是展示接口参数用法,简化起见,使用的是签名方法 v1 GET 请求,如果依旧想使用签名方法 v1 请参考下文章节。使用签名方法 v3 时,公共参数需要统一放到 HTTP Header 请求头部中,如下: 参数名称类型必选描述 X-TC-ActionString是操作的接口名称。取值参考接口文档中输入参数公共参数 Action 的说明。例如云服务器的查询实例列表接口,取值为 DescribeInstances。 X-TC-RegionString-地域参数,用来标识希望操作哪个地域的数据。接口接受的地域取值参考接口文档中输入参数公共参数 Region 的说明。注意:某些接口不需要传递该参数,接口文档中会对此特别说明,此时即使传递该参数也不会生效。 X-TC-TimestampInteger是当前 UNIX 时间戳,可记录发起 API 请求的时间。例如 1529223702。注意:如果与服务器时间相差超过5分钟,会引起签名过期错误。 X-TC-VersionString是操作的 API 的版本。取值参考接口文档中入参公共参数 Version 的说明。例如云服务器的版本 2017-03-12。 AuthorizationString是HTTP 标准身份认证头部字段,例如:TC3-HMAC-SHA256 Credential=AKIDEXAMPLEDateservicetc3_request, SignedHeaders=content-type;host, Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024 其中,- TC3-HMAC-SHA256:签名方法,目前固定取该值;- Credential:签名凭证,AKIDEXAMPLE 是 SecretId;Date 是 UTC 标准时间的日期,取值需要和公共参数 X-TC-Timestamp 换算的 UTC 标准时间日期一致;service 为产品名,通常为域名前缀,例如域名 cvm.tencentcloudapi.com 意味着产品名是 cvm。本产品取值为 ms;- SignedHeaders:参与签名计算的头部信息,content-type 和 host 为必选头部;- Signature:签名摘要,计算过程详见 文档。 X-TC-TokenString否临时证书所用的 Token ,需要结合临时密钥一起使用。临时密钥和 Token 需要到访问管理服务调用接口获取。长期密钥不需要 Token。 假设用户想要查询广州地域的云服务器实例列表,则其请求结构按照请求 URL、请求头部、请求体示例如下:HTTP GET 请求结构示例:https:cvm.tencentcloudapi.com?Limit=10&Offset=0 Authorization: TC3-HMAC-SHA256 Credential=AKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLE2018-10-09cvmtc3_request, SignedHeaders=content-type;host, Signature=5da7a33f6993f0614b047e5df4582db9e9bf4672ba50567dba16c6ccf174c474Content-Type: applicationx-www-form-urlencodedHost: cvm.tencentcloudapi.comX-TC-Action: DescribeInstancesX-TC-Version: 2017-03-12X-TC-Timestamp: 1539084154X-TC-Region: ap-guangzhouHTTP POST (applicationjson) 请求结构示例:https:cvm.tencentcloudapi.com Authorization: TC3-HMAC-SHA256 Credential=AKIDEXAMPLE2018-05-30cvmtc3_request, SignedHeaders=content-type;host, Signature=582c400e06b5924a6f2b5d7d672d79c15b13162d9279b0855cfba6789a8edb4cContent-Type: applicationjsonHost: cvm.tencentcloudapi.comX-TC-Action: DescribeInstancesX-TC-Version: 2017-03-12X-TC-Timestamp: 1527672334X-TC-Region: ap-guangzhou {Offset:0,Limit:10}HTTP POST (multipartform-data)请求结构示例(仅特定的接口支持):https:cvm.tencentcloudapi.com Authorization: TC3-HMAC-SHA256 Credential=AKIDEXAMPLE2018-05-30cvmtc3_request, SignedHeaders=content-type;host, Signature=582c400e06b5924a6f2b5d7d672d79c15b13162d9279b0855cfba6789a8edb4cContent-Type: multipartform-data; boundary=58731222010402Host: cvm.tencentcloudapi.comX-TC-Action: DescribeInstancesX-TC-Version: 2017-03-12X-TC-Timestamp: 1527672334X-TC-Region: ap-guangzhou --58731222010402Content-Disposition: form-data; name=Offset 0--58731222010402Content-Disposition: form-data; name=Limit 10--58731222010402--签名方法 v1使用签名方法 v1 (有时会称作 HmacSHA256 和 HmacSHA1),公共参数需要统一放到请求串中,完整介绍详见文档 参数名称类型必选描述 ActionString是操作的接口名称。取值参考接口文档中输入参数公共参数 Action 的说明。例如云服务器的查询实例列表接口,取值为 DescribeInstances。 RegionString-地域参数,用来标识希望操作哪个地域的数据。接口接受的地域取值参考接口文档中输入参数公共参数 Region 的说明。注意:某些接口不需要传递该参数,接口文档中会对此特别说明,此时即使传递该参数也不会生效。 TimestampInteger是当前 UNIX 时间戳,可记录发起 API 请求的时间。例如1529223702,如果与当前时间相差过大,会引起签名过期错误。 NonceInteger是随机正整数,与 Timestamp 联合起来,用于防止重放攻击。 SecretIdString是在 云API密钥 上申请的标识身份的 SecretId,一个 SecretId 对应唯一的 SecretKey ,而 SecretKey 会用来生成请求签名 Signature。 SignatureString是请求签名,用来验证此次请求的合法性,需要用户根据实际的输入参数计算得出。具体计算方法参见 文档。 VersionString是操作的 API 的版本。取值参考接口文档中入参公共参数 Version 的说明。例如云服务器的版本 2017-03-12。 SignatureMethodString否签名方式,目前支持 HmacSHA256 和 HmacSHA1。只有指定此参数为 HmacSHA256 时,才使用 HmacSHA256 算法验证签名,其他情况均使用 HmacSHA1 验证签名。 TokenString否临时证书所用的 Token ,需要结合临时密钥一起使用。临时密钥和 Token 需要到访问管理服务调用接口获取。长期密钥不需要 Token 。 假设用户想要查询广州地域的云服务器实例列表,其请求结构按照请求 URL、请求头部、请求体示例如下:HTTP GET 请求结构示例:https:cvm.tencentcloudapi.com?Action=DescribeInstances&Version=2017-03-12&SignatureMethod=HmacSHA256&Timestamp=1527672334&Signature=37ac2f4fde00b0ac9bd9eadeb459b1bbee224158d66e7ae5fcadb70b2d181d02&Region=ap-guangzhou&Nonce=23823223&SecretId=AKIDEXAMPLE Host: cvm.tencentcloudapi.comContent-Type: applicationx-www-form-urlencodedHTTP POST 请求结构示例:https:cvm.tencentcloudapi.com Host: cvm.tencentcloudapi.comContent-Type: applicationx-www-form-urlencoded Action=DescribeInstances&Version=2017-03-12&SignatureMethod=HmacSHA256&Timestamp=1527672334&Signature=37ac2f4fde00b0ac9bd9eadeb459b1bbee224158d66e7ae5fcadb70b2d181d02&Region=ap-guangzhou&Nonce=23823223&SecretId=AKIDEXAMPLE
    来自:
  • 签名方法

    签名方法 v1 简单易用,但是功能和安全性都不如签名方法 v3,推荐使用签名方法 v3。首次接触,建议使用 API Explorer 中的“签名串生成”功能,选择签名版本为“API 3.0 签名 v1”,可以生成签名过程进行验证,并提供了部分编程语言的签名示例,也可直接生成 SDK 代码。推荐使用腾讯云 API 配套的 7 种常见的编程语言 SDK,已经封装了签名和请求过程,均已开源,支持 Python、Java、PHP、Go、NodeJS、.NET、C++。腾讯云 API 会对每个访问请求进行身份验证,即每个请求都需要在公共请求参数中包含签名信息(Signature)以验证请求者身份。签名信息由安全凭证生成,安全凭证包括 SecretId 和 SecretKey;若用户还没有安全凭证,请前往 云API密钥页面 申请,否则无法调用云 API 接口。1. 申请安全凭证在第一次使用云 API 之前,请前往 云 API 密钥页面 申请安全凭证。安全凭证包括 SecretId 和 SecretKey: SecretId 用于标识 API 调用者身份SecretKey 用于加密签名字符串和服务器端验证签名字符串的密钥。用户必须严格保管安全凭证,避免泄露。 申请安全凭证的具体步骤如下: 登录 腾讯云管理中心控制台。前往 云 API 密钥 的控制台页面在 云 API 密钥 页面,单击【新建密钥】即可以创建一对 SecretIdSecretKey。 注意:每个账号最多可以拥有两对 SecretIdSecretKey。2. 生成签名串有了安全凭证SecretId 和 SecretKey后,就可以生成签名串了。以下是生成签名串的详细过程:假设用户的 SecretId 和 SecretKey 分别是: SecretId: AKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLESecretKey: Gu5t9xGARNpq86cd98joQYCN3EXAMPLE 注意:这里只是示例,请根据用户实际申请的 SecretId 和 SecretKey 进行后续操作!以云服务器查看实例列表(DescribeInstances)请求为例,当用户调用这一接口时,其请求参数可能如下: 参数名称中文参数值 Action方法名DescribeInstances SecretId密钥 IDAKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLE Timestamp当前时间戳1465185768 Nonce随机正整数11886 Region实例所在区域ap-guangzhou InstanceIds.0待查询的实例 IDins-09dx96dg Offset偏移量0 Limit最大允许输出20 Version接口版本号2017-03-12 2.1. 对参数排序首先对所有请求参数按参数名的字典序( ASCII 码)升序排序。注意:1)只按参数名进行排序,参数值保持对应即可,不参与比大小;2)按 ASCII 码比大小,如 InstanceIds.2 要排在 InstanceIds.12 后面,不是按字母表,也不是按数值。用户可以借助编程语言中的相关排序函数来实现这一功能,如 PHP 中的 ksort 函数。上述示例参数的排序结果如下:{ Action : DescribeInstances, InstanceIds.0 : ins-09dx96dg, Limit : 20, Nonce : 11886, Offset : 0, Region : ap-guangzhou, SecretId : AKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLE, Timestamp : 1465185768, Version: 2017-03-12,}使用其它程序设计语言开发时,可对上面示例中的参数进行排序,得到的结果一致即可。2.2. 拼接请求字符串此步骤生成请求字符串。将把上一步排序好的请求参数格式化成“参数名称=参数值”的形式,如对 Action 参数,其参数名称为 "Action" ,参数值为 "DescribeInstances" ,因此格式化后就为 Action=DescribeInstances 。注意:“参数值”为原始值而非 url 编码后的值。然后将格式化后的各个参数用"&"拼接在一起,最终生成的请求字符串为:Action=DescribeInstances&InstanceIds.0=ins-09dx96dg&Limit=20&Nonce=11886&Offset=0&Region=ap-guangzhou&SecretId=AKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLE&Timestamp=1465185768&Version=2017-03-122.3. 拼接签名原文字符串此步骤生成签名原文字符串。签名原文字符串由以下几个参数构成: 请求方法: 支持 POST 和 GET 方式,这里使用 GET 请求,注意方法为全大写。请求主机:查看实例列表(DescribeInstances)的请求域名为:cvm.tencentcloudapi.com。实际的请求域名根据接口所属模块的不同而不同,详见各接口说明。请求路径: 当前版本云API的请求路径固定为 。请求字符串: 即上一步生成的请求字符串。 签名原文串的拼接规则为:请求方法 + 请求主机 +请求路径 + ? + 请求字符串。示例的拼接结果为:GETcvm.tencentcloudapi.com?Action=DescribeInstances&InstanceIds.0=ins-09dx96dg&Limit=20&Nonce=11886&Offset=0&Region=ap-guangzhou&SecretId=AKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLE&Timestamp=1465185768&Version=2017-03-122.4. 生成签名串此步骤生成签名串。首先使用 HMAC-SHA1 算法对上一步中获得的签名原文字符串进行签名,然后将生成的签名串使用 Base64 进行编码,即可获得最终的签名串。具体代码如下,以 PHP 语言为例:$secretKey = Gu5t9xGARNpq86cd98joQYCN3EXAMPLE;$srcStr = GETcvm.tencentcloudapi.com?Action=DescribeInstances&InstanceIds.0=ins-09dx96dg&Limit=20&Nonce=11886&Offset=0&Region=ap-guangzhou&SecretId=AKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLE&Timestamp=1465185768&Version=2017-03-12;$signStr = base64_encode(hash_hmac(sha1, $srcStr, $secretKey, true));echo $signStr;最终得到的签名串为:EliP9YW3pW28FpsEdkXt+WcGeI=使用其它程序设计语言开发时,可用上面示例中的原文进行签名验证,得到的签名串与例子中的一致即可。3. 签名串编码生成的签名串并不能直接作为请求参数,需要对其进行 URL 编码。如上一步生成的签名串为 EliP9YW3pW28FpsEdkXt+WcGeI= ,最终得到的签名串请求参数(Signature)为:EliP9YW3pW28FpsEdkXt%2f%2bWcGeI%3d,它将用于生成最终的请求 URL。注意:如果用户的请求方法是 GET,或者请求方法为 POST 同时 Content-Type 为 applicationx-www-form-urlencoded,则发送请求时所有请求参数的值均需要做 URL 编码,参数键和=符号不需要编码。非 ASCII 字符在 URL 编码前需要先以 UTF-8 进行编码。注意:有些编程语言的网络库会自动为所有参数进行 urlencode,在这种情况下,就不需要对签名串进行 URL 编码了,否则两次 URL 编码会导致签名失败。注意:其他参数值也需要进行编码,编码采用 RFC 3986。使用 %XY 对特殊字符例如汉字进行百分比编码,其中“X”和“Y”为十六进制字符(0-9 和大写字母 A-F),使用小写将引发错误。4. 签名失败根据实际情况,存在以下签名失败的错误码,请根据实际情况处理。 错误代码错误描述 AuthFailure.SignatureExpire签名过期 AuthFailure.SecretIdNotFound密钥不存在 AuthFailure.SignatureFailure签名错误 AuthFailure.TokenFailuretoken 错误 AuthFailure.InvalidSecretId密钥非法(不是云 API 密钥类型) 5. 签名演示在实际调用 API 3.0 时,推荐使用配套的腾讯云 SDK 3.0 ,SDK 封装了签名的过程,开发时只关注产品提供的具体接口即可。详细信息参见 SDK 中心。当前支持的编程语言有: PythonJavaPHPGoJavaScript.NET 为了更清楚的解释签名过程,下面以实际编程语言为例,将上述的签名过程具体实现。请求的域名、调用的接口和参数的取值都以上述签名过程为准,代码只为解释签名过程,并不具备通用性,实际开发请尽量使用 SDK 。最终输出的 url 可能为:https:cvm.tencentcloudapi.com?Action=DescribeInstances&InstanceIds.0=ins-09dx96dg&Limit=20&Nonce=11886&Offset=0&Region=ap-guangzhou&SecretId=AKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLE&Signature=EliP9YW3pW28FpsEdkXt%2F%2BWcGeI%3D&Timestamp=1465185768&Version=2017-03-12。注意:由于示例中的密钥是虚构的,时间戳也不是系统当前时间,因此如果将此 url 在浏览器中打开或者用 curl 等命令调用时会返回鉴权错误:签名过期。为了得到一个可以正常返回的 url ,需要修改示例中的 SecretId 和 SecretKey 为真实的密钥,并使用系统当前时间戳作为 Timestamp 。注意:在下面的示例中,不同编程语言,甚至同一语言每次执行得到的 url 可能都有所不同,表现为参数的顺序不同,但这并不影响正确性。只要所有参数都在,且签名计算正确即可。注意:以下代码仅适用于 API 3.0,不能直接用于其他的签名流程,即使是旧版的 API ,由于存在细节差异也会导致签名计算错误,请以对应的实际文档为准。Javaimport java.io.UnsupportedEncodingException;import java.net.URLEncoder;import java.util.Random;import java.util.TreeMap;import javax.crypto.Mac;import javax.crypto.spec.SecretKeySpec;import javax.xml.bind.DatatypeConverter; public class TencentCloudAPIDemo { private final static String CHARSET = UTF-8; public static String sign(String s, String key, String method) throws Exception { Mac mac = Mac.getInstance(method); SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(CHARSET), mac.getAlgorithm()); mac.init(secretKeySpec); byte args) throws Exception { TreeMap<String, Object> params = new TreeMap<String, Object>(); TreeMap可以自动排序 实际调用时应当使用随机数,例如:params.put(Nonce, new Random().nextInt(java.lang.Integer.MAX_VALUE)); params.put(Nonce, 11886); 公共参数 实际调用时应当使用系统当前时间,例如: params.put(Timestamp, System.currentTimeMillis() 1000); params.put(Timestamp, 1465185768); 公共参数 params.put(SecretId, AKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLE); 公共参数 params.put(Action, DescribeInstances); 公共参数 params.put(Version, 2017-03-12); 公共参数 params.put(Region, ap-guangzhou); 公共参数 params.put(Limit, 20); 业务参数 params.put(Offset, 0); 业务参数 params.put(InstanceIds.0, ins-09dx96dg); 业务参数 params.put(Signature, sign(getStringToSign(params), Gu5t9xGARNpq86cd98joQYCN3EXAMPLE, HmacSHA1)); 公共参数 System.out.println(getUrl(params)); }}Python注意:如果是在 Python 2 环境中运行,需要先安装 requests 依赖包: pip install requests 。# -*- coding: utf8 -*-import base64import hashlibimport hmacimport time import requests secret_id = AKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLEsecret_key = Gu5t9xGARNpq86cd98joQYCN3EXAMPLE def get_string_to_sign(method, endpoint, params): s = method + endpoint + ? query_str = &.join(%s=%s % (k, params) for k in sorted(params)) return s + query_str def sign_str(key, s, method): hmac_str = hmac.new(key.encode(utf8), s.encode(utf8), method).digest() return base64.b64encode(hmac_str) if __name__ == __main__: endpoint = cvm.tencentcloudapi.com data = { Action : DescribeInstances, InstanceIds.0 : ins-09dx96dg, Limit : 20, Nonce : 11886, Offset : 0, Region : ap-guangzhou, SecretId : secret_id, Timestamp : 1465185768, # int(time.time()) Version: 2017-03-12 } s = get_string_to_sign(GET, endpoint, data) data = sign_str(secret_key, s, hashlib.sha1) print(data) # 此处会实际调用,成功后可能产生计费 # resp = requests.get(https: + endpoint, params=data) # print(resp.url)Golangpackage main import ( bytes cryptohmac cryptosha1 encodingbase64 fmt sort) func main() { secretId := AKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLE secretKey := Gu5t9xGARNpq86cd98joQYCN3EXAMPLE params := mapstring{ Nonce: 11886, Timestamp: 1465185768, Region: ap-guangzhou, SecretId: secretId, Version: 2017-03-12, Action: DescribeInstances, InstanceIds.0: ins-09dx96dg, Limit: 20, Offset: 0, } var buf bytes.Buffer buf.WriteString(GET) buf.WriteString(cvm.tencentcloudapi.com) buf.WriteString() buf.WriteString(?) sort keys by ascii asc order keys := make( buf.WriteString(k) buf.WriteString(=) buf.WriteString(params) buf.WriteString(&) } buf.Truncate(buf.Len() - 1) hashed := hmac.New(sha1.New, = 11886;rand();$param = 1465185768;time();$param = ap-guangzhou;$param = $secretId;$param = 2017-03-12;$param = DescribeInstances;$param = ins-09dx96dg;$param = 20;$param = 0; ksort($param); $signStr = GETcvm.tencentcloudapi.com?;foreach ( $param as $key => $value ) { $signStr = $signStr . $key . = . $value . &;}$signStr = substr($signStr, 0, -1); $signature = base64_encode(hash_hmac(sha1, $signStr, $secretKey, true));echo $signature.PHP_EOL; need to install and enable curl extension in php.ini $param = $signature; $url = https:cvm.tencentcloudapi.com?.http_build_query($param); echo $url.PHP_EOL; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); $output = curl_exec($ch); curl_close($ch); echo json_decode($output);Ruby# -*- coding: UTF-8 -*-# require ruby>=2.3.0require timerequire opensslrequire base64 secret_id = AKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLEsecret_key = Gu5t9xGARNpq86cd98joQYCN3EXAMPLE method = GETendpoint = cvm.tencentcloudapi.comdata = { Action => DescribeInstances, InstanceIds.0 => ins-09dx96dg, Limit => 20, Nonce => 11886, Offset => 0, Region => ap-guangzhou, SecretId => secret_id, Timestamp => 1465185768, # Time.now.to_i Version => 2017-03-12,}sign = method + endpoint + ?params = }=#{item}endsign += params.join(&)digest = OpenSSL::Digest.new(sha1)data = Base64.encode64(OpenSSL::HMAC.digest(digest, secret_key, sign))puts data # require nethttp# uri = URI(https: + endpoint)# uri.query = URI.encode_www_form(data)# p uri# res = Net::HTTP.get_response(uri)# puts res.body
    来自:
  • 返回结果

    注意:目前只要请求被服务端正常处理了,响应的 HTTP 状态码均为200。例如返回的消息体里的错误码是签名失败,但 HTTP 状态码是200,而不是401。正确返回结果以云服务器的接口查看实例状态列表 (DescribeInstancesStatus) 2017-03-12 版本为例,若调用成功,其可能的返回如下为:{ Response: { TotalCount: 0, InstanceStatusSet: [], RequestId: b5b41468-520d-4192-b42f-595cc34b6c1c }} Response 及其内部的 RequestId 是固定的字段,无论请求成功与否,只要 API 处理了,则必定会返回。RequestId 用于一个 API 请求的唯一标识,如果 API 出现异常,可以联系我们,并提供该 ID 来解决问题。除了固定的字段外,其余均为具体接口定义的字段,不同的接口所返回的字段参见接口文档中的定义。此例中的 TotalCount 和 InstanceStatusSet 均为 DescribeInstancesStatus 接口定义的字段,由于调用请求的用户暂时还没有云服务器实例,因此 TotalCount 在此情况下的返回值为 0, InstanceStatusSet 列表为空。 错误返回结果若调用失败,其返回值示例如下为:{ Response: { Error: { Code: AuthFailure.SignatureFailure, Message: The provided credentials could not be validated. Please check your signature is correct. }, RequestId: ed93f3cb-f35e-473f-b9f3-0d451b8b79c6 }} Error 的出现代表着该请求调用失败。Error 字段连同其内部的 Code 和 Message 字段在调用失败时是必定返回的。Code 表示具体出错的错误码,当请求出错时可以先根据该错误码在公共错误码和当前接口对应的错误码列表里面查找对应原因和解决方案。Message 显示出了这个错误发生的具体原因,随着业务发展或体验优化,此文本可能会经常保持变更或更新,用户不应依赖这个返回值。RequestId 用于一个 API 请求的唯一标识,如果 API 出现异常,可以联系我们,并提供该 ID 来解决问题。 公共错误码返回结果中如果存在 Error 字段,则表示调用 API 接口失败。 Error 中的 Code 字段表示错误码,所有业务都可能出现的错误码为公共错误码,下表列出了公共错误码。 错误码错误描述 AuthFailure.InvalidSecretId密钥非法(不是云 API 密钥类型)。 AuthFailure.MFAFailureMFA 错误。 AuthFailure.SecretIdNotFound密钥不存在。 AuthFailure.SignatureExpire签名过期。 AuthFailure.SignatureFailure签名错误。 AuthFailure.TokenFailuretoken 错误。 AuthFailure.UnauthorizedOperation请求未 CAM 授权。 DryRunOperationDryRun 操作,代表请求将会是成功的,只是多传了 DryRun 参数。 FailedOperation操作失败。 InternalError内部错误。 InvalidAction接口不存在。 InvalidParameter参数错误。 InvalidParameterValue参数取值错误。 LimitExceeded超过配额限制。 MissingParameter缺少参数错误。 NoSuchVersion接口版本不存在。 RequestLimitExceeded请求的次数超过了频率限制。 ResourceInUse资源被占用。 ResourceInsufficient资源不足。 ResourceNotFound资源不存在。 ResourceUnavailable资源不可用。 UnauthorizedOperation未授权操作。 UnknownParameter未知参数错误。 UnsupportedOperation操作不支持。 UnsupportedProtocolHTTPS 请求方法错误,只支持 GET 和 POST 请求。 UnsupportedRegion接口不支持所传地域。
    来自:
  • 批量删除提交过的app信息

    1. 接口描述接口请求域名: ms.tencentcloudapi.com 。删除一个或者多个app加固信息默认接口请求频率限制:20次秒。 推荐使用 API Explorer 点击调试 API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。 2. 输入参数以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。 参数名称必选类型描述 Action是String公共参数,本接口取值:DeleteShieldInstances。 Version是String公共参数,本接口取值:2018-04-08。 Region否String公共参数,本接口不需要传递此参数。 ItemIds.N是Array of String任务唯一标识ItemId的列表 3. 输出参数 参数名称类型描述 ProgressInteger任务状态: 1-已完成,2-处理中,3-处理出错,4-处理超时 RequestIdString唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 4. 示例示例1 根据ItemId对加固实例进行删除通过传入ItemId集合删除1个或者多个加固实例输入示例https:ms.tencentcloudapi.com?Action=DeleteShieldInstances&ItemIds.0=hhussxu-hui2677-kk&ItemIds.1=xyuu-csu-ee78236l&<公共请求参数>输出示例{ Response: { RequestId: 5e93a212-ca01-0fdc-eedd-5a1fce5e83e6, Progress: 1 }}5. 开发者资源API Explorer该工具提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力,能显著降低使用云 API 的难度,推荐使用。 API 3.0 Explorer SDK云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。 Tencent Cloud SDK 3.0 for PythonTencent Cloud SDK 3.0 for JavaTencent Cloud SDK 3.0 for PHPTencent Cloud SDK 3.0 for GoTencent Cloud SDK 3.0 for NodeJSTencent Cloud SDK 3.0 for .NET 命令行工具 Tencent Cloud CLI 3.0 6. 错误码以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。 错误码描述 InternalError.ServerError服务端无法响应。 InvalidParameterValue.InvalidItemIdsItemIds不合法。 MissingParameter.MissingItemIds缺少ItemIds字段。 ResourceNotFound.ItemIdNotFoundItemId不存在。
    来自:
  • 提交加固基础数据

    1. 接口描述接口请求域名: ms.tencentcloudapi.com 。用户通过该接口提交应用进行应用加固,加固后需通过DescribeShieldResult接口查询加固结果默认接口请求频率限制:20次秒。 推荐使用 API Explorer 点击调试 API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。 2. 输入参数以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。 参数名称必选类型描述 Action是String公共参数,本接口取值:CreateShieldInstance。 Version是String公共参数,本接口取值:2018-04-08。 Region否String公共参数,本接口不需要传递此参数。 AppInfo是AppInfo待加固的应用信息 ServiceInfo是ServiceInfo加固服务信息 3. 输出参数 参数名称类型描述 ProgressInteger任务状态: 1-已完成,2-处理中,3-处理出错,4-处理超时 ItemIdString任务唯一标识 RequestIdString唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 4. 示例示例1 提交一个app进行加固通过该接口提交要加固的app信息(示例中的AppUrl和CallbackUrl仅示例,实际无法使用,请用实际可用的url进行替换)输入示例https:ms.tencentcloudapi.com?Action=CreateShieldInstance&AppInfo.AppUrl=http:example.com1.apk&AppInfo.AppMd5=dd5b29a800246d7089febf228286d901&AppInfo.AppSize=1024&ServiceInfo.ServiceEdition=basic&ServiceInfo.CallbackUrl=http:example.comcb&ServiceInfo.SubmitSource=MC&<公共请求参数>输出示例{ Response: { RequestId: 5e93a212-ca01-0fdc-eedd-5a1fce5e83e6, Progress: 1, ItemId: shgugu-hiw72-334kd }}5. 开发者资源API Explorer该工具提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力,能显著降低使用云 API 的难度,推荐使用。 API 3.0 Explorer SDK云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。 Tencent Cloud SDK 3.0 for PythonTencent Cloud SDK 3.0 for JavaTencent Cloud SDK 3.0 for PHPTencent Cloud SDK 3.0 for GoTencent Cloud SDK 3.0 for NodeJSTencent Cloud SDK 3.0 for .NET 命令行工具 Tencent Cloud CLI 3.0 6. 错误码以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。 错误码描述 InternalError.ServerError服务端无法响应。 InvalidParameter.MissingServiceInfoServiceInfo结构体参数缺失。 InvalidParameter.PlanIdNotFound不能找到指定的加固策略。 LimitExceeded超过配额限制 MissingParameter.MissingAppInfoAppInfo结构体参数缺失。 ResourceNotFound.PlanIdNotFound无法找到指定的加固策略。 ResourceUnavailable资源不可用。 ResourceUnavailable.NotFound找不到该资源。 UnauthorizedOperation未授权操作
    来自:
  • 新增加固策略

    1. 接口描述接口请求域名: ms.tencentcloudapi.com 。对资源进行策略新增默认接口请求频率限制:20次秒。 推荐使用 API Explorer 点击调试 API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。 2. 输入参数以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。 参数名称必选类型描述 Action是String公共参数,本接口取值:CreateShieldPlanInstance。 Version是String公共参数,本接口取值:2018-04-08。 Region否String公共参数,本接口不需要传递此参数。 ResourceId是String资源id PlanName是String策略名称 PlanInfo是PlanInfo策略具体信息 3. 输出参数 参数名称类型描述 PlanIdInteger策略id ProgressInteger任务状态: 1-已完成,2-处理中,3-处理出错,4-处理超时 RequestIdString唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 4. 示例示例1 新增加固策略输入示例https:ms.tencentcloudapi.com?Action=CreateShieldPlanInstance&ResourceId=127500-shi&PlanName=默认加固策略&PlanInfo.ApkSizeOpt=1&PlanInfo.Dex=1&PlanInfo.So=1&PlanInfo.Bugly=0&PlanInfo.AntiRepack=1&PlanInfo.Db=0&PlanInfo.DexSig=1&PlanInfo.SeperateDex=0&PlanInfo.AntiLogLeak=0&PlanInfo.AntiVMP=0&PlanInfo.AntiQemuRoot=0&PlanInfo.AntiAssets=0&PlanInfo.AntiScreenshot=0&PlanInfo.AntiSSL=0&PlanInfo.SoType=so_low_com_dump_huidu&PlanInfo.SoInfo.SoFileNames.0=1.so&<公共请求参数>输出示例{ Response: { RequestId: 5e93a212-ca01-0fdc-eedd-5a1fce5e83e6, Progress: 1, PlanId: 1 }}5. 开发者资源API Explorer该工具提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力,能显著降低使用云 API 的难度,推荐使用。 API 3.0 Explorer SDK云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。 Tencent Cloud SDK 3.0 for PythonTencent Cloud SDK 3.0 for JavaTencent Cloud SDK 3.0 for PHPTencent Cloud SDK 3.0 for GoTencent Cloud SDK 3.0 for NodeJSTencent Cloud SDK 3.0 for .NET 命令行工具 Tencent Cloud CLI 3.0 6. 错误码以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。 错误码描述 InternalError内部错误。 InternalError.ServerError服务端无法响应。 ResourceUnavailable资源不可用。 ResourceUnavailable.NotFound找不到该资源。 UnauthorizedOperation未授权操作
    来自:

扫码关注云+社区

领取腾讯云代金券