NewSignatureData casts crypto.Signer interface unnecessarily into specific golang crypto implementations. This prevents the use of other implementations, e.g., for signing with an HSM backed key.
I propose this [1] change to allow for generic crypto.Signer use.