AccountManager和签名检查

时间:2017-11-16 16:17:44

标签: android ipc accountmanager

AccountManager相关的

Security tips章节提及:

  

如果凭据仅由您创建的应用程序使用,则可以   验证使用访问AccountManager的应用程序   checkSignature()。

我应该在代码中检查签名?我已经尝试使用Binder.getCallingUid()在我自己的AbstractAccountAuthenticator实现中获取调用进程的UID,但是当系统进程执行IPC时它返回1000。我需要获取试图访问我的应用创建的帐户的其他应用的UID /包名称,因为我想在返回身份验证令牌之前执行checkSignature检查。

1 个答案:

答案 0 :(得分:3)

原来这很简单。真实调用者的包名,uid和pid包含在作为参数传递的const paymentInfo: PaymentInformation = { "str": { "str2": "value", "other": "val" }, "another": { "so on": "etc" } }; 中。此代码应驻留在Bundle

的实现中
AbstractAccountAuthenticator