Doesn't this now return a `*PrivateKey` instance where * could be RSA/DSA/EC?