WIN10-64位+VS2017下安装和编译openssl库

环境 
windows10,64位 
openssl解压目录:D:\openssl-1.0.2q
ActivePer安装的位置:D:\Perl64 
VS2017自带的VC++编译器

第一步:下载工具和源码

1. ActivePerl工具,官网下载链接:http://www.activestate.com/activeperl/downloads
2. openssl源码,下载链接:https://www.openssl.org/source/

第二步:开始安装

1、安装ActivePerl软件

安装ActivePerl软件根据提示一步一步进行安装即可,安装过程软件会自动设置环境变量。要确认是否安装成功,我们可以利用cmd命令行的形式输入指令进入到安装目录,比如安装在D:\Perl64\下,进入到D:\Perl64\eg目录,输入“perl example.pl”, 如果出现如下图所示的:"Hello from ActivePerl!",则表示软件安装成功。

2、安装openssl

首先把openssl-1.0.2q解压放到C盘中,openssl所在目录为:D:\openssl-1.0.2q
然后输入cmd进入命令提示符,输入命令进入到openssl的目录中:cd D:\openssl-1.0.2q
接着再输入命令:perl Configure VC-WIN32 no-asm --prefix=D:\openssl-1.0.2q
注意:当你下载的openssl是高版本的话,如openssl-1.0.2q,需要在这里加上no-asm,表示不使用汇编,如果你不加上的话,在执行nmake命令时会出错。这里是编译32位的库,所示参数为VC-WIN32

执行命令:“ms\do_ms.bat”

注意:在OpenSSL根目录下执行,不要进入到ms目录中执行,否则有的文件或目录找不到

进入x64 Native Tools Command Prompt for VS2017 

运行 nmake -f ms\ntdll.mak进行编译动态库 ,

  • 执行make进行编译,执行完后会在openssl-1.0.2g目录下生成一个out32dll文件夹,里面包含了一些静态库、动态库和.exe文件,这里需要花点时间。

运行 nmake -f ms\nt.mak进行编译静态库 

  • 测试,执行命令:nmake -f ms\ntdll.mak test。
  • 检查上一步编译是否成功,如果成功则最后显示“passed all tests”字样
  • 执行命令:nmake -f ms\ntdll.mak install
  • 成功则会在D:\openssl-1.0.2q目录下生成bin、include、lib、ssl四个文件夹
  • 运行 nmake -f ms\nt.mak install 进行安装静态库

到此为止,OpenSSL就安装成功啦。

使用命令nmake -f ms\ntdll.mak test,若成功,会出现结果:

第三步:使用Opensll库

8.在VS2017里使用OpenSSL库 
编辑工程属性: 1)配置属性——VC++目录——在include包含目录中新增”D:\openssl-1.0.2q\include”(存放编译后的库文件的目录中); 
2)VC++目录——”Library files”选择中新增目录”D:\openssl-1.0.2q\lib”。 
3)配置属性——链接器——输入——附加依赖项——libeay32.lib 和ssleay32.lib即可

下面讲一下利用openssl生成RSA公私密钥对。

在Windows环境下,打开OPENSSL安装目录bin文件下面的openssl.exe。

1)生成RSA私钥:genrsa -out rsa_private_key.pem 1024
该命令会生成1024位的私钥
2) 生成RSA公钥:rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
此时,我们可以看到一个文件名为rsa_public_key.pem的文件,打开它,可以看到-----BEGIN PUBLIC KEY-----开头,
-----END PUBLIC KEY-----结尾的没有换行的字符串,这个就是公钥
3)把RSA私钥转换成PKCS8格式:pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt
生成的结果就是PKCS8格式的私钥
 

 

参考文章:https://www.cnblogs.com/wyt007/p/8022199.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在VS2017编译OpenSSL纯静态需要按照以下步骤进行: 1. 首先,下载OpenSSL的源代码并解压缩到本地目录,可以从OpenSSL的官方网站(https://www.openssl.org/source/)上获取。 2. 打开VS2017,选择“文件”菜单,然后选择“新建”->“项目”,在弹出的对话框中选择“Visual C++”->“空项目”。 3. 在“解决方案资源管理器”中,右键单击项目名称,选择“属性”。在“属性页”中,选择“配置属性”->“C/C++”->“常规”,在“附加包含目录”中添加OpenSSL的头文件目录。 4. 继续选择“配置属性”->“链接器”->“常规”,在“附加目录”中添加OpenSSL文件目录。 5. 在“链接器”->“输入”中,在“附加依赖项”中添加以下文件:libcrypto.lib和libssl.lib。 6. 添加一个新的源文件到项目中,并包含OpenSSL的源代码文件。 7. 编写代码,使用OpenSSL的功能,并将其编译为纯静态。确保在代码中包含正确的头文件和,以便能够正确地链接和使用OpenSSL。 8. 运行编译器生成纯静态文件。在完成编译之后,您可以在项目的输出目录中找到生成的纯静态文件。 请注意,这些步骤仅适用于VS2017编译OpenSSL纯静态的基本步骤。根据具体情况和OpenSSL版本的不同,可能需要进行更多配置和调整。如果遇到任何问题,请参考OpenSSL的官方文档或咨询相关的论坛和社区。 ### 回答2: 在VS2017编译OpenSSL纯静态需要以下步骤: 1. 首先,确保已经下载并解压了OpenSSL源代码。可以从OpenSSL官方网站上获取最新版本的源代码。 2. 打开VS2017,创建一个新的项目。选择“Visual C++”,然后选择“空项目”。 3. 在项目中,右键单击“资源文件”文件夹,选择“添加” -> “新建项”,然后选择“空文件”。 4. 双击新创建的空文件,在文件中输入以下内容: ```plaintext OPENSSL_CPUID_SETUP=0 TARGET=OPENSSL_NO_ASM AR=lib.exe ARFLAGS=-out: ``` 然后另存为“ms\do_win64a.bat”。 5. 在项目中,右键单击源文件文件夹,选择“添加” -> “现有项”。浏览到OpenSSL源代码文件夹中,选择“Configure”文件。 6. 在“Configure”文件上右键单击,选择“属性”,将“配置类型”更改为“文本”、“文本”和“不使用预编译头” 。 7. 在“配置”文件上右键单击,选择“属性”,将“配置类型”更改为“文本”、“文本”和“不使用预编译头”。 8. 双击“Configure.bat”文件,运行命令提示符,然后关闭命令提示符。 9. 在项目中,右键单击源文件文件夹,选择“添加” -> “现有项”。浏览到OpenSSL源代码文件夹中,选择“perlasm”文件夹。 10. 在“perlasm”文件夹上右键单击,选择“属性”,将“配置类型”更改为“文本”、“文本”和“不使用预编译头”。 11. 双击“perlasm.bat”文件,运行命令提示符,然后关闭命令提示符。 12. 在项目中,右键单击源文件文件夹,选择“添加” -> “现有项”。浏览到OpenSSL源代码文件夹中,选择“makefile”。 13. 在“makefile”文件上右键单击,选择“属性”,将“配置类型”更改为“文本”、“文本”和“不使用预编译头”。 14. 使用文本编辑器打开“makefile”,然后找到以下两行: ```plaintext CC=cl RC=rc ``` 将它们更改为: ```plaintext CC=cl /MT RC=rc /fo ``` 15. 双击“nasm.bat”文件,运行命令提示符,然后关闭命令提示符。 16. 重新生成项目。 这样,你就成功编译了纯静态的OpenSSL。你可以在生成的目录中找到静态文件,并将其用于你的项目中。 ### 回答3: 要在VS2017编译纯静态OpenSSL,您可以按照以下步骤进行操作: 1. 下载OpenSSL源代码:从OpenSSL官方网站(https://www.openssl.org/source/)下载并解压最新版本的源代码。 2. 打开VS2017并创建一个新的空项目。 3. 将OpenSSL的源代码添加到项目中:在VS2017的解决方案资源管理器中右键单击项目,选择“属性”。在属性页中,导航到"C/C++" -> "常规" -> "附加包含目录"。添加OpenSSL源代码中的/include文件夹的路径。 4. 配置编译参数:在属性页中,导航到"C/C++" -> "代码生成" -> "运行时"。选择"多线程(/MT)"选项,这将使得生成的成为纯静态。 5. 编译项目:在VS2017的菜单栏中选择“生成” -> “生成解决方案”。 6. 复制生成的静态编译完成后,在解决方案资源管理器中导航到项目的输出文件夹。您将在此处找到生成的静态文件,其为纯静态。 现在您已经成功编译了一个纯静态OpenSSL。您可以通过将该静态文件链接到您的应用程序中来使用它,并确保在链接时包含正确的头文件和文件路径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值