问题标签 [android-fingerprint-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1557 浏览

android - 为什么`hasEnrolledFingerprints`会给出错误,它只需要在我的片段中而不是在谷歌示例中的活动中需要权限?

我正在尝试在我的应用程序中实现 Google 的指纹 API(特别是在我的 Fragment 中)。谷歌给出了一个例子,但它是在 Activity 中实现

我的具体问题是,下面的代码检查是否已经注册了指纹,它给了我一个错误(下面的截图):

问题——>我需要做些什么改变才能让它在我的片段中工作(而不是像谷歌这样的活动)?

在此处输入图像描述

0 投票
1 回答
4371 浏览

android - Android Fingerprint Authentication: Crypto primitive not initialized

I implemented Fingerprint authentication inside the application which was working fine a week ago. No changes to the code and I am now getting the following error:

I'm not sure what's going on as nothing has been changed in the code, even verifying with a clean pull of the branch.

Below is a list of dependencies that I am using in the app.

Is there anything I should be aware of in regards to these new-ish APIs?

0 投票
4 回答
4858 浏览

android - 棉花糖指纹扫描仪硬件存在

我希望开始使用 Marshmallow Fingerprint Authentication API。我明白要请求许可,我必须使用以下方法:

我必须检查设备是否运行 API 级别 23 或更高级别。但在我请求许可之前,我想先检查一下设备是否真的有指纹扫描仪。我找到了以下两种方法来做这个检查:

但是这两种方法都需要USE_FINGERPRINT调用权限。为什么我要请求允许使用我什至不知道存在的指纹扫描仪?是否有其他方法可以确定扫描仪是否存在?或者是首先请求许可的唯一方法?

0 投票
2 回答
3914 浏览

android - 三星会支持 Marshmallow 的 Google 指纹 API 吗?

关于三星的 Marshmallow 更新是否会使用谷歌的新指纹 API 或继续使用他们的自定义 SDK 或两者兼而有之,是否有任何可用信息?

我看到他们已经开始对 beta 测试人员进行滚动更新,但这些在我的国家/地区不可用,我找不到其他信息。

0 投票
0 回答
45 浏览

android - 在安卓中模仿苹果的指纹设置流程

我想知道 Apple 如何在指纹设置流程中实现不断增长的指纹效果。在安卓中可以吗?我认为它看起来像 Android 中的某种进度条,但我很好奇它是如何工作的以及它与 Android 6.0 中的指纹 api 的实际关系

0 投票
1 回答
1282 浏览

android - 安卓指纹识别

这个想法是使用指纹识别用户。我想将手指与用户绑定,以便用户可以使用任何指纹设备使用手指登录应用程序,因此如果用户更改设备并且无需输入用户名和密码,用户将能够登录。怎么做?正如我到目前为止发现的那样,没有办法做到这一点。或者我可能是错的?

我找到了关于使用公钥和私钥进行身份验证的文章,但这不是我真正想要的,因为如果用户要更改设备,设备必须生成一对新的公钥和私钥。

0 投票
1 回答
2576 浏览

android - Android UI 使用 Espresso 测试指纹

我有一个 Android 指纹实现工作,我正在寻找使用 Espresso 添加 UI 测试。我找不到解决方案的一个问题是如何模拟手指的扫描。有一个 adb 命令 adb -e emu finger touch应该在模拟器上工作。

关于如何将类似的东西与 Espresso 整合的任何想法?

0 投票
1 回答
1021 浏览

android - 如何使用android指纹API识别哪个注册指纹被授权

我想对我的一个应用程序使用指纹身份验证进行登录。在我的应用程序中,多个用户可以使用应用程序登录。现在我想实现指纹认证以方便我的用户。我需要以某种方式区分用户。因此,如果我实现指纹登录,我想知道哪个指纹被识别。有什么方法可以获取与指纹相关的任何信息?

0 投票
1 回答
15852 浏览

android - Android指纹API加解密

我正在使用 Android M 指纹 API 来允许用户登录到应用程序。为此,我需要将用户名和密码存储在设备上。目前我有登录工作,以及指纹 API,但用户名和密码都存储为明文。我想在存储密码之前对其进行加密,并在用户使用他们的指纹进行身份验证后能够检索它。

我很难让它发挥作用。我一直在尝试从Android 安全示例中应用我所能做的,但每个示例似乎只处理加密或签名,而从不解密。

到目前为止,我必须使用非对称加密来获取AndroidKeyStore、 aKeyPairGenerator和 a的实例,Cipher以允许使用 Android KeyGenParameterSpec.Builder().setUserAuthenticationRequired(true)。非对称加密的原因是,如果用户未通过身份验证,该setUserAuthenticationRequired方法将阻止对密钥的任何使用,但是:

此授权仅适用于密钥和私钥操作。公钥操作不受限制。

这应该允许我在用户使用他们的指纹进行身份验证之前使用公钥加密密码,然后仅在用户通过身份验证后使用私钥解密。

老实说,我不确定这是否正确,这是我能找到的关于该主题的所有内容的零碎。我更改的所有内容都会引发不同的异常,并且此特定构建不会运行,因为我无法实例化Cipher,它会引发NoSuchAlgorithmException: No provider found for EC. 我也尝试过切换到RSA,但我遇到了类似的错误。

所以我的问题基本上是这样的;如何在 Android 上加密明文,并在用户通过指纹 API 身份验证后使其可用于解密?


我取得了一些进展,主要是由于发现了KeyGenParameterSpec文档页面上的信息。

我保留了getKeyStore, encryptePassword, decryptPassword,getKeyPairGeneratorgetCipher大部分相同,但我分别将and更改为KeyPairGenerator.getInstanceand 。Cipher.getInstance"RSA""RSA/ECB/OAEPWithSHA-256AndMGF1Padding"

我还将其余代码更改为 RSA 而不是椭圆曲线,因为据我了解,Java 1.7(因此 Android)不支持使用 EC 进行加密和解密。createKeyPair我根据文档页面上的“使用 RSA OAEP 进行加密/解密的 RSA 密钥对”示例更改了我的方法:

我还根据文档中的已知问题initCipher更改了我的方法:KeyGenParameterSpec

Android 6.0(API 级别 23)中的一个已知错误会导致即使对公钥也强制执行与用户身份验证相关的授权。要解决此问题,请提取公钥材料以在 Android Keystore 之外使用。

现在我可以加密密码,并保存加密的密码。但是当我获得加密密码并尝试解密时,我收到一个KeyStoreException 未知错误...

0 投票
1 回答
7221 浏览

android - Android KeyStoreException 未知错误

在用户通过 Android M 指纹 API 进行身份验证后,我正在尝试解密加密文本。我一直在尝试遵循Android Security samples以及KeyGenParameterSpec文档中提供的示例。我已经能够使用公钥成功加密文本,但是当我使用私钥调用cipher.doFinala时,我收到“未知错误”:CipherDECRYPT_MODEKeyStoreException

当前相关代码如下:

什么可能导致此“未知错误”?我已经排除了setUserAuthenticationRequired,但我无法弄清楚是什么原因造成的。我还尝试使用 globalmCipher而不是Cipherby 提供的FragmentManagerCompat.AuthenticationCallback.onAuthenticationSucceeded(尽管我认为它们应该是相同的),结果相同。


我在寻找另一个问题的答案时遇到了这个问题