它被记录为不支持Android。为什么?仅仅是因为Android的BouncyCastle实现缩减了功能并且不支持KeyPairGenerator/ECDSA(椭圆曲线数字签名算法)之类的功能吗? (这是另一个链接。)
BouncyCastle
KeyPairGenerator/ECDSA
仅使用SpongyCastle代替就足够了吗?仅仅是因为Google不支持SpongyCastle其KMSJava客户端不支持Android吗?
SpongyCastle
KMS
https://github.com/GoogleCloudPlatform/google-cloud- java/issues/1696#issuecomment-284464059是我能找到的最权威的解释。引用garrettjonesgoogle:
我们尚未做任何特定的工作来使google-cloud- java与Android兼容,并且有许多已知问题(如您所知)。一流的Android支持将在以后发布。 我们当前建议的方法是拥有自己的服务器(例如,在App Engine上)来进行GCP的调用,而您自己的Android应用程序可以对服务器进行调用。原因是google-cloud-java仅支持2LO auth(基于服务帐户),而不支持3LO auth(基于用户帐户)。如果您使用2LO auth从Android应用程序拨打电话,则理论上有人可以从您的应用程序中窃取您的服务凭据,然后在自己的应用程序中使用它们。但是,这不是3LO的问题。
我们尚未做任何特定的工作来使google-cloud- java与Android兼容,并且有许多已知问题(如您所知)。一流的Android支持将在以后发布。
我们当前建议的方法是拥有自己的服务器(例如,在App Engine上)来进行GCP的调用,而您自己的Android应用程序可以对服务器进行调用。原因是google-cloud-java仅支持2LO auth(基于服务帐户),而不支持3LO auth(基于用户帐户)。如果您使用2LO auth从Android应用程序拨打电话,则理论上有人可以从您的应用程序中窃取您的服务凭据,然后在自己的应用程序中使用它们。但是,这不是3LO的问题。