- Use separate EVP_PKEY for public and private keys - On private key load, generate public key allowing better consistency - Support OpenSSL3 providers - Clean up key construction abstraction - Various other clean ups