美文网首页
openssl win10 下配置遇到的问题以及解决

openssl win10 下配置遇到的问题以及解决

作者: _不知年 | 来源:发表于2018-06-14 21:51 被阅读0次

    安装perl

    没什么好说的,按照其他教程一步步安装好,然后配置环境变量就好,并没有遇到问题。
    测试perl是否安装好:
    命令行进入安装目录并测试,会有如下结果:(我直接默认安装在c盘)

    cd C:\Perl64\eg
    C:\Perl64\eg>perl example.pl
    Hello from ActivePerl!
    

    官网下载openssl最新版

    官网指路 http://www.openssl.org/source/

    安装vs2017

    这是之前装的,离线版,其中包括了VC。

    开始安装openssl

    首先初始化编译环境,本人安装的VS中VC的vcvars64批处理文件有点难找,目录如下(仅供参考):

    cd E:\develope_tools\VS_community\VC\Auxiliary\Build
    E:\develope_tools\VS_community\VC\Auxiliary\Build>vcvars64.bat
    **********************************************************************
    ** Visual Studio 2017 Developer Command Prompt v15.0.26228.4
    ** Copyright (c) 2017 Microsoft Corporation
    **********************************************************************
    [vcvarsall.bat] Environment initialized for: 'x64'
    

    解压openssl压缩包,并进入其目录
    输入以下命令:

    openssl-1.1.1-pre7>perl  Configure  VC-WIN64A --prefix=你想要的目录
    

    如果遇到了显示没有nmake或者dmake的错,按照提示输入ppm install dmake安装即可

    运行完之后,会提示生成了makefile文件,之后依次输入

    >nmake
    >nmake test
    >nmake install
    

    等待其运行完成,这里需要等待时间较长
    等待完成后会发现openssl根目录下多了一些库之类的文件,
    并且在prefix中指定的路径下多了三个文件夹:


    生成三个文件夹

    其中bin里有openssl的可执行文件,可以通过此命令行来执行加解密等操作:


    openssl.exe

    如果遇到了NMAKE : fatal error U1077且返回代码为0x20的错误,可能是未成功初始化编译环境造成,确认vcvars64.bat是否执行正确

    在VC中加入openssl

    打开VS,新建一个项目

    注意,需要在编译运行的时候设置为x64模式:


    编译选项

    项目>属性>C/C++>常规>附加包含目录中加入include文件夹:

    添加头文件库
    项目>属性>链接器>常规>附加库目录中加入lib文件夹:
    链接器
    项目>属性>链接器>输入>附加依赖项中加入lib文件名:
    链接依赖项
    配置完成,可以开始编写代码了。
    编写如下一个小的demo尝试运行:
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    #include <openssl/md5.h>
    
    int main() {
        printf("hello openssl!");
        //int MD5_Init(MD5_CTX *c);
        //int MD5_Update(MD5_CTX *c, const void *data, size_t len);
        //int MD5_Final(unsigned char *md, MD5_CTX *c);
        MD5_CTX c;
        unsigned char md[MD5_DIGEST_LENGTH];
        char buff[] = "hello";
        unsigned long len = strlen(buff);
        MD5_Init(&c);
        MD5_Update(&c, buff, len);
        MD5_Final(md, &c);
        printf("\n");
        for (int i = 0; i < MD5_DIGEST_LENGTH; i++)
        {
            printf("%02x ", md[i]);
        }
        system("pause");
        return 0;
    }
    

    成功得到结果:


    运行结果

    虽然可以成功运行,但是有警告:


    警告

    进入调试>选项>常规,勾选“启用源服务器支持”,
    进入调试>选项>符号,勾选“Microsoft符号服务器”。
    警告解决。

    相关文章

      网友评论

          本文标题:openssl win10 下配置遇到的问题以及解决

          本文链接:https://www.haomeiwen.com/subject/fwcueftx.html