Description
Is your feature request related to a problem? Please describe.
Currently com.google.cloud.storage.StorageImpl
class allows to create a presigned URL using RSA algorithm. One can pass their own ServiceAccountSigner
implementation (via StorageOptions.setCredentials()
) but the algorithm name literal is deeply hard-coded as GOOG4-RSA-SHA256
(also in com.google.cloud.storage.SignatureInfo
). It's not possible to efficiently reuse current code to sign URL via HMAC keys (https://cloud.google.com/storage/docs/authentication/signatures#signing-process).
Describe the solution you'd like
Allow to pass an algorithm via StorageOptions
.
Describe alternatives you've considered
The only solution I see is to copy/fork all the code. Reflection seems to be too fragile.