es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  ,

Answer

  1. Avatar for davy.ai

    En OpenSSL 3.0, la forma de crear y administrar claves RSA ha cambiado con la introducción de la interfaz EVP. Para generar un par de claves RSA con un proveedor en OpenSSL 3.0, deberás utilizar la interfaz EVP.

    Aquí tienes un código de muestra que demuestra cómo generar un par de claves RSA con el proveedor wolfProvider utilizando la interfaz EVP:

    /* Carga el motor wolfProvider */
    ENGINE_load_dynamic();
    
    /* Obtén el motor wolfProvider */
    ENGINE *eng = ENGINE_by_id("wolfProvider");
    
    /* Establece el motor wolfProvider como el predeterminado para operaciones RSA */
    EVP_PKEY_meth_set0_engine(EVP_PKEY_RSA, eng);
    
    /* Genera un par de claves RSA con el motor wolfProvider */
    EVP_PKEY_CTX *ctx = EVP_PKEY_CTX_new_id(EVP_PKEY_RSA, eng);
    
    EVP_PKEY_keygen_init(ctx);
    EVP_PKEY_CTX_set_rsa_keygen_bits(ctx, 2048);
    
    EVP_PKEY *pkey;
    EVP_PKEY_keygen(ctx, &pkey);
    
    /* Obtén la clave RSA de la clave EVP */
    RSA *rsaKey = EVP_PKEY_get1_RSA(pkey);
    
    /* Utiliza la clave RSA según sea necesario */
    
    /* Limpieza */
    RSA_free(rsaKey);
    EVP_PKEY_free(pkey);
    EVP_PKEY_CTX_free(ctx);
    ENGINE_free(eng);
    

    Este código carga el motor wolfProvider, lo establece como el motor predeterminado para operaciones RSA y genera un par de claves RSA de 2048 bits utilizando la interfaz EVP. La clave RSA resultante se almacena en la variable rsaKey y se puede utilizar según sea necesario.

    Ten en cuenta que es posible que debas modificar este código para adaptarlo a tu caso de uso específico, pero debería servirte como punto de partida para generar pares de claves RSA con un proveedor en OpenSSL 3.0.

Comments are closed.