它被记录为不支持Android。为什么?这只是因为Android的BouncyCastle
的实现在功能上缩小了,不支持像KeyPairGenerator/ECDSA
(椭圆曲线数字签名算法(这样的东西吗
(这是另一个链接。(
仅仅使用SpongyCastle
难道还不够吗?难道只是因为谷歌不支持SpongyCastle
,它的KMS
Java客户端才不支持Android?
https://github.com/GoogleCloudPlatform/google-cloud-java/issues/1696#issuecomment-284464059是我能找到的最权威的解释。引用garrettjonesgoogle:
我们还没有做任何具体的工作来使谷歌云java与安卓兼容,并且存在许多已知的问题(正如您所发现的(。稍后将提供一流的Android支持。
我们目前建议的方法是拥有自己的服务器(例如,在应用程序引擎上(来调用GCP,而您自己的Android应用程序则会调用您的服务器。原因是google cloud java只支持2LO auth(基于服务帐户(,而不支持3LO auth。如果你用2LO auth从你的android应用程序打电话,理论上有人可能从你的应用程序中窃取你的服务凭据,并在他们自己的应用程序上使用它们。不过,这不是3LO的问题。