当前位置: 首页 > 软件库 > iOS代码库 > 支付(Payment) >

TENCENT SOTER

腾讯生物认证平台
授权协议 Apache
开发语言 Java
所属分类 iOS代码库、 支付(Payment)
软件类型 开源软件
地区 国产
投 递 者 宗乐池
操作系统 跨平台
开源组织 腾讯
适用人群 未知
 软件概览

TENCENT SOTER是腾讯于2015年开始制定的生物认证平台与标准,通过与厂商合作,目前已经在一百余款、2.3亿部Android设备上得到支持,并且这个数字还在快速增长。

目前,TENCENT SOTER已经在微信指纹支付、微信公众号/小程序指纹授权接口等场景使用,并得到了验证。

接入TENCENT SOTER,你可以在不获取用户指纹图案的前提下,在Android设备上实现可信的指纹认证,获得与微信指纹支付一致的安全快捷认证体验。


快速接入

可以在几行代码之内快速体验TENCENT SOTER完成指纹授权接口。

在使用之前,请确保所使用的测试机在支持机型列表中。

添加gradle依赖

在项目的build.gradle中,添加TENCENT SOTER依赖

dependencies {
    ...
    compile 'com.tencent.soter:soter-wrapper:1.3.2'
    ...
}

声明权限

在 AndroidManifest.xml中添加使用指纹权限

<uses-permission android:name="android.permission.USE_FINGERPRINT"/>

初始化

初始化过程整个应用声明周期内只需要进行一次,用于生成基本配置和检查设备支持情况。你可以选择在Application的onCreate()中,或者在使用TENCENT SOTER之前进行初始化。

InitializeParam param = new InitializeParam.InitializeParamBuilder()
.setScenes(0) // 场景值常量,后续使用该常量进行密钥生成或指纹认证
.build();
SoterWrapperApi.init(context, 
new SoterProcessCallback<SoterProcessNoExtResult>() {...}, 
param);

准备密钥

需要在使用指纹认证之前生成相关密钥

SoterWrapperApi.prepareAuthKey(new SoterProcessCallback<SoterProcessKeyPreparationResult>() {...},false, true, 0, null, null);

进行指纹认证

密钥生成完毕之后,可以使用封装接口调用指纹传感器进行认证。

AuthenticationParam param = new AuthenticationParam.AuthenticationParamBuilder()
                                    .setScene(0)
                                    .setContext(MainActivity.this)
                                    .setFingerprintCanceller(mSoterFingerprintCanceller)
                                    .setPrefilledChallenge("test challenge")
                                    .setSoterFingerprintStateCallback(new SoterFingerprintStateCallback() {...}).build();
SoterWrapperApi.requestAuthorizeAndSign(new SoterProcessCallback<SoterProcessAuthenticationResult>() {...}, param);

释放

当你不再使用TENCENT SOTER时,可以选择释放所有资源,用于停止所有生成、上传任务以及支持状态等。释放之后再次使用时,需要重新进行初始化。 实际上,TENCENT SOTER本身不会占据过多资源,只需要在确认不会再次使用的前提下(如切换账户之前)释放一次即可。

SoterWrapperApi.release();
  •       最近公司在做一个电子签约的APP,用到指纹登录和指纹签约,我们集成的是FIDO,完成了第一期,现在准备开第二期项目了,前期准备时,领导让我查一下腾讯的SOTER,总结一下平台功能和用到的技术等,这是第一篇博客,就来总结一下SOTER吧! 1. 什么是SOTER         SOTER的本意是希腊神话中的神祗,象征着安全。现如今,生物识别作为一个新兴的认证方式,从好莱坞大片的银幕中正

  • https://blog.csdn.net/peilong1988/article/details/88253704 一、分析了下腾讯Soter的原理和开源代码。 开源代码:https://github.com/Tencent/soter 三级密钥管理(采用的RSA2048密钥) ATTK:设备根密钥,在设备出厂前在TEE中生成,公钥通过安全通道传输到腾讯TAM服务器,私钥存储在RPMB ASK:

  • 权限信息 · 允许接收WLAN多播 · com.tencent.mm.plugin.permission.READ · com.tencent.mm.plugin.permission.WRITE · com.tencent.mm.permission.MM_MESSAGE · com.huawei.authentication.HW_ACCESS_AUTH_SERVICE · com.googl

  • Google原生 介绍 在google官方的api中,有三个类作为生物&指纹识别的入口可以供开发者使用 FingerprintManagerCompat:指纹识别,Android M及以上,设备上有指纹模块,不提供UI; BiometricPrompt:生物识别,Android P及以上,设备上有至少一个生物方式的安全验证模块,系统统一UI(只可以自定义一些文案); FingerprintMana

  • 本人在很长一段时间内研究指纹识别,因公司业务需求,需要拿到设备内的指纹的唯一标识(后面简称指纹ID),在探索的时候,看了很多前辈写的帖子,大致都是说的是用反射来拿指纹id,但是随着android版本的不断升级,反射是可以拿到设备内所有指纹的id,但是拿不到当前识别的指纹id,无法进行对比,反射的探索到此基本没有下文了。 在一篇博文中,我看到了关于对soter的介绍,进而对指纹识别有了一个全新的认知

 相关资料
  • 生物认证秘钥签名验证 https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/soter/soter.verifySignature.html $app->soter->verifySignature($openid, $json, $signature); 返回值示例: { "is_ok": true

  • #非技术2024笔面经# 写面经攒人品! 次9本中外合办硕,最开始投递的是云计算产品经理,一面过后被挂了(感觉是kpi),被转移到了平台产品经理,还是csig事业部 3月18号下午4点半打电话约面,面试官说要不早点面试吧,当晚8点突击一面 1.自我介绍 2.项目介绍 3.说一下自己对云计算的理解 4.你觉得一个云计算产品经理该有什么特质(三个方面) 5.讲一下你觉得团队中最重要的元素是什么 6.讲

  • 时间线:投简历-线上直属leader面试 面试过程: 一面(直属leader面): 实际面试软件:wx语音 当时面试官有事情,等了一阵子才被告知 面试改期 面试时间:30-40分钟左右 1.自我介绍 2.仔细问简历上关于电商的经历(我没有正式的电商实习经历,写了自己生活中和电商有关系的经历) 2.1上架商品怎么写文案、图片怎么选、货源怎么来 2.2有没有买过平台方的广告流量,关于平台方流量的一些询

  • 事业群:IEG 岗位:平台型产品经理   群面:什么角色真的不重要,重要的是整体把控,抓关键点,我当时在我觉得方向有点偏大时候提出了产品边界的问题。   一面: 1.简历深挖:两个重点项目,案例库中的一个案例遇到的问题,怎么解决的 2.对话型产品北极星指标: 3.数据产品的核心能力,为什么需要这些能力 4.产品推出海外遇到 数据上的难点?   二面: 1.两个重点项目选一个讲(简历深挖) 2.Ch

  • 笔试时间:2023年3月23日 腾讯音乐 春招实习 第一题 题目:二叉树赋值 小红拿到了一个二叉树,二叉树共有n个节点。小红希望你将所有节点赋值为1到n的正整数,且没有两个节点的值相等。需要满足:奇数层的权值和与偶数层的权值和之差的绝对值不超过1。如果有多种赋值方案,请返回任意—种方案。如果无解,请返回空树。数据范围: 1<n ≤105。给定的二叉树节点初始权值默认为-1。 示例输入一 {-1,-

  • 笔试时间:2023年3月26日 春招实习 第一题 题目:层序遍历二叉树 小红拿到一棵满二叉树,她通过层序遍历的顺序把每个节点的权值都告诉了你,保证每个节点的权值都不相同。现在小红有q次询问,每次询问一个权值,小红想知道: 1、这个节点是否存在? 2、这个节点的左儿子和右儿子的权值是多少? 输入描述 第一行输入一个正整数n,代表二叉树的层数; 第二行输入 2n-1个正整数ai,代表这个完全二叉树的层

  • 0.自我介绍 1.介绍项目里一个关于文件系统的(因为该部门主要是linux编程调优相关 2.平时用哪些linux命令 3.有没有接触过linux编程 算法 很简单的一道题 大概是一个"aa bbb aa0aa fsadfas"这样的串,求合法单词的最大长度,即不包含数字的单词 最后反问问题后,我简历里写了“能积极google解决问题”,他就问了kxsw相关的,这种一下子还真不知道该不该说。 整个过

  • 主要是问了实习还有一些mysql的问题,没有手撕 1.自我介绍 2.实习内容 3.实习内容有什么难点或者贡献比较多的点,说了点sql优化的问题 4.那你怎么优化的慢sql呢? 5.我就说了实习的一个慢sql优化的流程,然后讲了我怎么优化的 6.问了为什么这么优化,用了哪些字段 7.mysql有什么结构索引,底层是什么 8.又问了一下项目里面的tcp还有工作池怎么实现的 反问:部门主要做的什么?一些