android - 是否可以在使用不同签名签名的不同 Android 应用程序之间共享 Android keystore ?

标签 android authentication keychain android-security

用例:在使用不同签名签名的同一设备上的不同应用程序之间共享存储在 Android Keystore 中的凭据(示例私钥)。
我能够使用以下方法实现它(但我认为这不是正确的方法):-

  • 使用相同的证书签署应用程序。
  • 我用相同的 sharedUserId 声明了我的应用程序,例如:
  • <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.mydomains.myapp"
        android:sharedUserId="com.mydomains.shared.user.id"
        android:sharedUserLabel="@string/appName">
    
    在 StackOverflow 上关注了这篇文章:How to securely share data between two or more applications in android?
    问题:-
  • sharedUserId 是一个已弃用的属性。
  • 它需要应用程序的相同签名。

  • 有没有其他方法可以共享存储在同一设备上的 Android Keystore b/w 应用程序中的凭据?
    PS:在我的用例中,Android 应用程序可以属于不同的组织,但可以共享一个通用 SDK。

    最佳答案

    如果我正确理解您的问题,我相信 KeyChain API 将是此用例的合适实现,可用于在应用程序之间共享。
    更多详情:https://developer.android.com/training/articles/keystore#WhichShouldIUse
    https://developer.android.com/reference/android/security/KeyChain
    希望这可以帮助!

    关于android - 是否可以在使用不同签名签名的不同 Android 应用程序之间共享 Android keystore ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71494130/

    相关文章:

    ios - 在后台或通知进程中使用加密 Realm ?

    android - 我可以将嵌套的 FloatingActionButton 锚定到视口(viewport)吗?

    android - RecyclerView 不会在方向改变时从适配器中取消注册

    api - .net core - 如何在 AuthorizationHandler 上返回 403?

    ios - kSecAttrAccessibleAlways 在 iOS 9 中被弃用

    swift - macOS 钥匙串(keychain)共享绕过密码对话框

    android - 我如何在 Android 中创建数字时钟小部件?

    android - 使用 Eclipse 调试 Android 应用内计费

    Java操作系统认证

    azure - Microsoft Azure 默认安全设置的更改