Unable to load RSA public key for signature verification
Michael Wojcik
Michael.Wojcik at microfocus.com
Thu Apr 13 17:28:34 UTC 2023
> From: openssl-users <openssl-users-bounces at openssl.org> On Behalf Of Juan Pablo Garibotti Arias
> Sent: Thursday, 13 April, 2023 10:42
> RsaPtr PublicKey(FILE* keyFile) {
> char pass[] = "";
> return RsaPtr{PEM_read_RSAPublicKey(keyFile, nullptr, nullptr, pass)};
> }
> int main() {
> constexpr auto pubKey = "-----BEGIN PUBLIC KEY-----\n"
A quick look at the source shows PEM_read_RSAPublicKey wants PEM_STRING_RSA_PUBLIC, which is "RSA PUBLIC KEY". So that function only supports PEM objects with the start line "-----BEGIN RSA PUBLIC KEY-----".
OpenSSL supports multiple PEM formats for RSA keys. I'm trying to recall the details -- I think there's an old OpenSSL format and a later standard format, maybe?
Try PEM_read_RSA_PUBKEY instead.
--
Michael Wojcik
More information about the openssl-users
mailing list