Error: "uso no válido de tipo incompleto‘ RSA {aka struct rsa_st} "en OpenSSL 1.1.0
Tengo un código antiguo que se escribió para vincular con una versión anterior de openssl. Parte de este código carga una clave de un archivo PEM e intenta comprender si esta clave es privada o pública, utilizando el siguiente código:
if( (prv->p==0 || prv->q==0) ) {
// This is not a private key!
throw error("No private key for decryption");
}
Con la última versión de openssl, esto (justificadamente) no compila:
crypto.cpp: In function ‘key* decrypt_header(file_t, RSA*)’:
crypto.cpp:158:13: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’
if( (prv->p==0 || prv->q==0) ) {
^~
Entiendo que el acceso directo a los miembros privados de la estructura fue reemplazado por una función, pero estoy teniendo dificultades para determinar qué función es esa.