Ich verwende SafetyNet API zum Prüfen, ob Gerät verwurzelt ist oder nicht und mit Hilfe des unten hilfreich Code aber dies verwendet Android Überprüfung API zur Validierung der JWT validieren Unterschrift:Wie Safety Net JWS Signatur von Kopfdaten in Android App
https://github.com/scottyab/safetynethelper
und ich mag nur auf Client-Seite validieren den Aufwand eines anderen Web-Service auf pro Tag nur 10k Anfrage aller und außerdem hat es Beschränkung zu reduzieren.
So nach dem JWS Decodierung Ich bin die unter info
Probe JWS Nachrichtenantwort
xxxx.yyy.zzzz
Kopfdaten
{"alg":"RS256","x5c":["<certificate1 string>","<certificate2 string>"]}
Nutzdaten
bekommen{"nonce":"<nounce>",
"timestampMs":1472794339527,
"apkPackageName":"<apkPackageName>",
"apkDigestSha256":"<sha digest string>",
"ctsProfileMatch":true,
"extension":"<extension string>",
"apkCertificateDigestSha256":["<apkCertificateDigestSha256 string>"],"basicIntegrity":true}
wenn ausführen Base64-Decodierung 91.363.210
Signature in diesem Teil wird es so unten unleserlich ist die Signatur-String als
Gw09rv1aBbtd4Er7F5ww_3TT1mPRD5YouMkPkwnRXJq8XW_cxlO4428DHTJdD8Tbep-Iv3nrVRWt2t4pH1uSr2kJ9budQJuXqzOUhN93r2Hfk-UAKUYQYhp89_wOWjSCG4ySVHD4jc9S1HrZlngaUosocOmhN4SzLZN5o8BXyBdXkjhWwgArd4bcLhCWJzmxz5iZfkhDiAyeNRq09CeqjRx_plqAy8eR_OaI_2idZBNIGfd2KmLK_CKaeVjDxuC4BzJsIlVRiuLrvP362Wwhz4r1bHh8flmHr88nK99apP2jkQD2l7lPv8y5F3FN3DKhJ15CzHR6ZbiTOw1fUteifg
Jetzt per google
„Überprüfen Sie die Kompatibilitätsprüfung Antwort in JWS letzte Element erhalten: Extrahieren Sie das SSL-Zertifikat chain aus der JWS-Nachricht. Überprüfen Sie die SSL-Zertifikatkette, und verwenden Sie den SSL-Hostnamen , um sicherzustellen, dass das Blattzertifikat an den Hostnamen attest.android.com ausgestellt wurde. Verwenden Sie das Zertifikat die Signatur der JWS Nachricht zu überprüfen.“
ich das CERT-String und Unterschrift haben, wie soll ich über die Validierung von SSL-Zertifikat gehen die Zeichenfolge und Host name matching auf den zweiten cert und , wie man Validierung Unterschrift
I Zeiger auf diese und Code benötigen würde sehr nützlich sein snipped
Java Web Start hat * nichts * mit Android zu tun. Versuchen Sie, * die * hilfreichen Tag-Pop-ups * zu lesen, bevor Sie sie auf Ihren Post setzen. –
@AndrewThompson Meine schlechte – user1068968
Nur überprüfen, aber wenn ich die "JW * S *" Zeichenfolge an meinen Server senden, sollte ich [php-jws] (https://github.com/gamegos/php-jws) oder verwenden [php-jwt] (https://github.com/gamegos/php-jwt)? – Penn