mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
fix: Play service as privileged app for Passkey Cross Device Authentication #2244
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
KeePassDX(4.2.2)
|
KeePassDX(4.2.2)
|
||||||
* Fix database merge algorithm #2223
|
* Fix database merge algorithm #2223
|
||||||
* Fix save search info #2243
|
* Fix save search info #2243
|
||||||
|
* Fix Play Service as privileged app for Passkey Cross Device Authentication #2244
|
||||||
|
|
||||||
KeePassDX(4.2.1)
|
KeePassDX(4.2.1)
|
||||||
* Fix Magikeyboard autosearch #2233
|
* Fix Magikeyboard autosearch #2233
|
||||||
|
|||||||
@@ -98,25 +98,43 @@ object AppUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val processedPackageNames = mutableSetOf<String>()
|
val processedPackageNames = mutableSetOf<String>()
|
||||||
|
|
||||||
for (resolveInfo in resolveInfoList) {
|
for (resolveInfo in resolveInfoList) {
|
||||||
val packageName = resolveInfo.activityInfo.packageName
|
val packageName = resolveInfo.activityInfo.packageName
|
||||||
if (packageName != null && !processedPackageNames.contains(packageName)) {
|
if (packageName != null && !processedPackageNames.contains(packageName)) {
|
||||||
try {
|
buildAndroidPrivilegedApp(packageManager, packageName)?.let { privilegedApp ->
|
||||||
val packageInfo = packageManager.getPackageInfo(
|
browserList.add(privilegedApp)
|
||||||
packageName,
|
processedPackageNames.add(packageName)
|
||||||
PackageManager.GET_SIGNING_CERTIFICATES
|
|
||||||
)
|
|
||||||
val signatureFingerprints = packageInfo.signingInfo?.getAllFingerprints()
|
|
||||||
signatureFingerprints?.let {
|
|
||||||
browserList.add(AndroidPrivilegedApp(packageName, signatureFingerprints))
|
|
||||||
processedPackageNames.add(packageName)
|
|
||||||
}
|
|
||||||
} catch (e: Exception) {
|
|
||||||
Log.e(AppUtil::class.simpleName, "Error processing package: $packageName", e)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add the Play Service
|
||||||
|
val gServices = "com.google.android.gms"
|
||||||
|
buildAndroidPrivilegedApp(packageManager, gServices)?.let { privilegedApp ->
|
||||||
|
browserList.add(privilegedApp)
|
||||||
|
processedPackageNames.add(gServices)
|
||||||
|
}
|
||||||
|
|
||||||
return browserList.distinctBy { it.packageName } // Ensure uniqueness just in case
|
return browserList.distinctBy { it.packageName } // Ensure uniqueness just in case
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequiresApi(Build.VERSION_CODES.P)
|
||||||
|
private fun buildAndroidPrivilegedApp(
|
||||||
|
packageManager: PackageManager,
|
||||||
|
packageName: String
|
||||||
|
): AndroidPrivilegedApp? {
|
||||||
|
return try {
|
||||||
|
val packageInfo = packageManager.getPackageInfo(
|
||||||
|
packageName,
|
||||||
|
PackageManager.GET_SIGNING_CERTIFICATES
|
||||||
|
)
|
||||||
|
val signatureFingerprints = packageInfo.signingInfo?.getAllFingerprints()
|
||||||
|
signatureFingerprints?.let {
|
||||||
|
AndroidPrivilegedApp(packageName, signatureFingerprints)
|
||||||
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
Log.e(AppUtil::class.simpleName, "Error processing package: $packageName", e)
|
||||||
|
null
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,2 +1,3 @@
|
|||||||
* Fix database merge algorithm #2223
|
* Fix database merge algorithm #2223
|
||||||
* Fix save search info #2243
|
* Fix save search info #2243
|
||||||
|
* Fix Play Service as privileged app for Passkey Cross Device Authentication #2244
|
||||||
@@ -1,2 +1,3 @@
|
|||||||
* Correction de l'algorithme de fusion des bases de données #2223
|
* Correction de l'algorithme de fusion des bases de données #2223
|
||||||
* Correction de la sauvegarde des infos de recherche #2243
|
* Correction de la sauvegarde des infos de recherche #2243
|
||||||
|
* Correction Play Service comme appli privilégiée pour l'authentification Passkey multi-appareils #2244
|
||||||
Reference in New Issue
Block a user