Android Safetynet API帮助程序错误
我想实现安全网API来验证设备状态我发现的最简单的方法之一是安全网助手类,它使实现变得非常简单github.com/scottyab/safetynethelper。 我从safetynetlib复制了所有类,并将它们添加到我的代码中。我遵循了植入的方法,但我得到了一个错误 代码Android Safetynet API帮助程序错误,android,google-api,android-security,safetynet,Android,Google Api,Android Security,Safetynet,我想实现安全网API来验证设备状态我发现的最简单的方法之一是安全网助手类,它使实现变得非常简单github.com/scottyab/safetynethelper。 我从safetynetlib复制了所有类,并将它们添加到我的代码中。我遵循了植入的方法,但我得到了一个错误 代码 final-SafetyNetHelper-SafetyNetHelper=new-SafetyNetHelper(BuildConfig.API1) public boolean safetynet() {
final-SafetyNetHelper-SafetyNetHelper=new-SafetyNetHelper(BuildConfig.API1)代码>
public boolean safetynet()
{
safetyNetHelper.requestTest(getApplicationContext(), new SafetyNetHelper.SafetyNetWrapperCallback() {
@Override
public void error(int errorCode, String msg) {
//handle and retry depending on errorCode
}
@Override
public void success(boolean ctsProfileMatch) {
if(ctsProfileMatch){
safetynet=true;
}else{
safetynet=false;
}
}
});
return safetynet;
}`
04-20 22:32:50.950 28741-28741/com.aashish.smart D/SafetyNetHelper:apkDigest:iqb5ulowdbqowpqn3jzev2egxcjtk/yGYUvk1c64F8=
04-20 22:32:51.028 28741-28741/com.aashish.smart V/SafetyNetHelper:Google play服务已连接
04-20 22:32:51.028 28741-28741/com.aashish.smart V/SafetyNetHelper:运行SafetyNet.API测试
04-20 22:32:54.499 28741-28741/com.aashish.smart D/SafetyNetResponse:decodedJWTPayload json:{“nonce”:“tnd1YpjORIX4teJEd7LuigDWNhWkF6s4T7Ay811BxsM=”,“timesms”:14617171774655,“apkPackageName:“com.aashish.smart”,“apkDigestSha256:“iqb5uluwbqowpqn3jjv2egxcjtk/ygyuvk14f8f8=”,“ctsProfileMatch”:true”,扩展名:“cqqm6mqmv”,“apkCertificateDigestSha256”:[“PHKalK4AF5EmDbPL5eBQS9EZJVPkgp06cr64rVQ7B7w=“]”
04-20 22:32:54.500 28741-28741/com.aashish.smart E/SafetyNetHelper:无效的apkCertificateDigest,本地/预期=[Miidizcanogawibagipioxddanbqhkig9w0baqsfadb2mqwcqydvqgewjjtjetmbegingCBMvgfteqma4gauEbxHqHqHqlBm5hateomawg2HcNqxezarbgNvg2Hbg2HPBmLywwxGzzzbgNqg2ZmWzmWzDaefw0m0mTxNja0MtzmzmzmzmzmzmzmzmzmHq2Hq2HqHq2HqHql2HqlBm2Hq2Hql2Hql2mTmTmTmWw2mWf10mTmTmTmWzzmWzmWzmTmTmWmWmWmWmWmWmW一种新的研究方法,一种新的研究方法,一种新的研究方法,一种新的研究方法,一种新的研究方法,一种新的研究方法,一种新的研究方法,一种新的研究方法,一种新的研究方法,一种新的研究方法,一种新的研究方法,一种新的知识,一种新的研究方法,一种新的研究方法,一种新的研究方法,在一种新的研究中,在一个中国的一个中国的一个中国的中国的一个中国的一个中国的一个中国的一个中国一个中国的家庭在一个在一个中国的中国的一个中国一个中国在一个中国在一个中国在一个中国的一个中国的中国在一个中国在一个中国在一个中国的中国在一个中国的中国的中国在一个中国的一个中国的中国在一个中国在一个中国在一个中国在一个中国的中国的中国在一个中国的中国的中国IXEKZIC5B3RKUJJBUC67G2.在一个新的研究中,一个新的研究(2)在一个新的研究(2)在一个新的研究(2)在一个新的研究(2)在一个新的研究(2)在一个新的研究(2)在一个新的研究(2)在一个新的研究(2)在一个新的研究(2)在一个新的研究(2)在一个新的研究(2)的研究(2)在一个新的研究(2)在一个新的研究(2)在一个新的研究(2)在一个新的一个新的研究(2)在一个新的一个新的研究(2)在一个新的一个新的社区社区社区的一个新的一个新的一个社区社区社区的社区的社区的社区的社区的社区的一个新的一个社区的一个新的社区一个社区的社区的社区的社区的社区的社区的社区的社区的社区的社区的社区的社区5H6XTQJU24NSPQEWS6Thuwha1lesannO0JM3lm0ltBOuIGJtWBd5S6tHMgi4U+m1z/oJAW0HAyWwbuwy7/YP1UEKLEEM669BUYG6IQ4E3CIB5GUZF2QMJWPKSCW9BRJOVITGJUGMMVRDPD1DK/OOZFUEK4A+ii5c7SLW2e//QON3WV30ZNHARCvftgrBezOL4Z4=]
04-20 22:32:54.500 28741-28741/com.aashish.smart E/SafetyNetHelper:无效的apkCertificateDigest,响应=[PHKalK4AF5EmDbPL5eBQS9EZJVPkgp06cr64rVQ7B7w=]
04-20 22:32:54.657 28741-4205/com.aashish.smart E/AndroidDeviceVerifier:验证JWS消息时出现问题:
java.io.FileNotFoundException:
位于com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:238)
位于com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getInputStream(DelegatingHttpsURLConnection.java:210)
位于com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java)
位于com.aashish.smart.AndroidDeviceVerifier$AndroidDeviceVerifierTask.doInBackground(AndroidDeviceVerifier.java:113)
位于com.aashish.smart.AndroidDeviceVerifier$AndroidDeviceVerifierTask.doInBackground(AndroidDeviceVerifier.java:82)
在android.os.AsyncTask$2.call(AsyncTask.java:295)
位于java.util.concurrent.FutureTask.run(FutureTask.java:237)
在android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
运行(Thread.java:818)
完整日志:pastebin(dot)com/YXkS7NgW
有人能帮我找出我找不到的错误吗?或者有没有其他教程可以让我使用安全网API?我也在研究解决方案,目前我已经解决了URL命中的“FileNotFoundException”
决议:
如果没有,您应该在GoogleAPI控制台上创建一个项目,并启用Android设备验证API
创建“服务器密钥”并将IP字段留空,以便能够从移动应用程序进行连接
那就行了(:
我仍在研究如何解决apkCertificateDigest不匹配问题