• 一种OPENSSL_Uplink(100F2010,05): no OPENSSL_Applink解决方法


       最近项目中使用Openssl库时,程序编译没有错误,但是执行时出现OPENSSL_Uplink(100F2010,05): no OPENSSL_Applink错误,在网上找了好多原因,大部分是说DLL库调用方式不正确,应该修改为与Openssl库相同的编译方式也就是/Md方式,但是都不能解决问题,我的代码是从一个pem文件中读取RSA私钥,出错的代码如下:

       FILE* fp = fopen (keyFileName, "r");
     if ( fp == 0 )
     {
      perror(keyFileName);
      return (-1);
     }

     m_PrivateKey = PEM_read_PrivateKey(fp, 0, 0, 0);
     fclose(fp);
     if ( m_PrivateKey == 0 )
     {
      cerr << "Error reading RSA key in file " <<keyFileName<< endl;
      return (-1);
     }

      最后把上述读取私钥的代码修改为通过BIO方式读取,上述问题不再出现,代码如下:

      BIO* in=NULL;
     //生成IO对象
     in = BIO_new(BIO_s_file());
     //将Key文件读入IO
     BIO_read_filename(in,keyFileName);
     if (in == NULL)
     {
      perror(keyFileName);
      return -1;
     }
     //将IO中数据以PEM格式读入EVP_PKEY结构中
     m_PrivateKey = PEM_read_bio_PrivateKey(in, NULL, NULL, NULL);
     if (in != NULL)
      BIO_free (in);

     if ( m_PrivateKey == NULL )
     {
      cerr << "读取Key文件失败! " << keyFileName << endl;
      return -1;
     }

  • 相关阅读:
    002: Opencv 4.0代码执行
    Opencv4.0+cmake3.13.3+vs2017源码编译
    ubuntu 18.0Lts +YouCompleteMe插件安装
    pip 安装keras
    pip 安装paddle
    pip 安装 tensorboardX
    pip 安装pytorch 命令
    TT信息-4-Spring Boot/Spring Cloud
    TT信息-3-Spring/Spring MVC
    TT信息-2设计模式
  • 原文地址:https://www.cnblogs.com/zhangyunlin/p/6167959.html
Copyright © 2020-2023  润新知