Open
Description
What would you like to see added?
jwt::algorithm::rs256 support load openssh oneline format public key.
Additional Context
std::string rsa_pub_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCPgCi68jXsRX/4bgVFBfv4vyuK0vno13FKqKmBF12YgYUQalv6Km2N6yh2llgiDRKEo/DLUvKDSSonzIZeQ396lAwqM1hEdQ9py8bUUMeX5RjUSO24TRaJhuw62sRwSxDdwBjo6F0fmugLG4tmK9ulbSpHSRQcwKGt701DmMGhyQ==";
std::cout << "PUB KEY:\n" << rsa_pub_key << std::endl;
try {
auto verify = jwt::verify().allow_algorithm(jwt::algorithm::rs256(rsa_pub_key, "", "", ""));
auto decoded = jwt::decode(token);
verify.verify(decoded);
for (auto& e : decoded.get_header_json())
std::cout << e.first << " = " << e.second << std::endl;
for (auto& e : decoded.get_payload_json())
std::cout << e.first << " = " << e.second << std::endl;
} catch (const std::exception& ex) {
std::cout << "verify failed." << ex.what() << std::endl;
return 1;
}
throw an exception, "failed to load key: bio read failed".