fixes #24571 - support private keys from new google developer console

the new developer console provides private keys in a different way, then the old google cloud console. one way is a .json file that can be downloaded in the console. the other option is to use a .p12 keystore to authenticate a service account.

this pull request improves the private key handling. the user only needs to upload one of the mentioned private key files.

see [Jenkins Issue #24571](https://issues.jenkins-ci.org/browse/JENKINS-24571) for more details.
I'm not sure return null will be useful for downstream code.  Can you please justify?  (if justified we'll need to annotate this signature with @Nullable)

I'd say we just rethrow, may be in some wrapped form