1.nginx调用openssl函数源码分析
2.Linux Ubuntu openssl离线源码安装、码提升级版本
3.如何在 CentOS 7 / RHEL 7 上安装 OpenSSL 1.1.x
4.FFmpeg开发笔记(十六)Linux交叉编译Android的码提OpenSSL库
5.Windows下编译OpenSSL3.1.1
6.Windows下openssl的下载安装和使用方法
nginx调用openssl函数源码分析
本文分为两部分,分别是码提nginx部分和openssl部分。在nginx部分,码提首先在ngx_/openssl/open...,码提各版本openssl的码提苹果cydiapp助手源码下载页面是github.com/openssl/open...。以年月发布的码提openssl-3.2.0为例,可以从以下链接下载该版本的码提openssl源码包:
github.com/openssl/open...
将openssl的源码包上传到Linux服务器,解压并进入源码目录,码提执行以下命令:
tar zxvf openssl-3.2.0.tar.gz cd openssl-3.2.0
确认ndk已放置在服务器上,码提创建编译脚本build_openssl.sh,码提填入以下脚本内容(注意android-arm表示编译位的码提so库,no-shared表示只编译静态库不编译动态库):
#!/bin/bash NDK_HOME=/usr/local/src/android-ndk-re SYSTEM=linux-x_ HOST=aarch-linux-android API= export PATH=$NDK_HOME/toolchains/llvm/prebuilt/$SYSTEM/bin:$NDK_HOME/toolchains/$HOST-4.9/prebuilt/$SYSTEM/bin:$PATH export ANDROID_NDK_ROOT=$NDK_HOME echo "config for openssl" ./Configure android-arm no-shared --prefix=/usr/local/app_openssl -D__ANDROID_API__=$API echo "config for openssl completed" make -j4 make install
保存并退出build_openssl.sh,码提执行以下命令编译和安装openssl:
chmod +x build_openssl.sh ./build_openssl.sh
2、码提加载openssl的码提环境变量
第一步将openssl安装在/usr/local/app_openssl,并将openssl的pkgconfig路径加载到环境变量PKG_CONFIG_PATH中。Linux系统的profile文件位于用户初始目录的.bash_profile。执行以下命令编辑当前用户的profile文件:
cd vi .bash_profile
往.bash_profile文件末尾添加以下一行:
export PKG_CONFIG_PATH=/usr/local/app_openssl/lib/pkgconfig:$PKG_CONFIG_PATH
保存并退出.bash_profile后,执行以下命令加载环境变量:
source .bash_profile
然后执行以下环境变量查看命令,确保openssl的环境变量已经成功加载:
env | grep PKG
3、重新编译FFmpeg启用openssl
打开《FFmpeg开发实战:从零基础到短视频上线》随书源码的香烟网站源码chapter/config_ffmpeg_full.sh,将该文件另存为config_ffmpeg_openssl.sh,并在文件内部这行--enable-libx \的下面增加如下一行配置:
--enable-openssl \
将config_ffmpeg_openssl.sh上传到服务器的FFmpeg源码目录,执行以下命令赋予可执行权限:
chmod +x config_ffmpeg_openssl.sh
然后运行以下命令配置、编译和安装FFmpeg:
./config_ffmpeg_openssl.sh make clean make -j4 make install
4、将so文件导入App工程
(1)将FFmpeg交叉编译好的include目录(位于/usr/local/app_ffmpeg/include)整个复制到App工程的src/main/cpp目录下。
(2)在src\main目录下创建jniLibs目录,并在jniLibs下面创建子目录arm-v8a,将FFmpeg交叉编译好的8个so文件(位于/usr/local/app_ffmpeg/lib)全部复制到arm-v8a目录下。
(3)将config_ffmpeg_openssl.sh里面启用的几个第三方库的so文件也一起复制到arm-v8a目录下,包括x、petshop 4.0 源码x、mp3lame、freetype等。
(4)打开App工程的cpp代码,将待播放的在线视频地址改为/activeperl/downloads/
2)安装与配置:
直接运行安装文件(例如:ActivePerl-5..3.-MSWin-x-.msi)即可完成安装;安装过程将自动完成环境变量的配置(安装完成之后,可以在系统环境变量里看到perl的bin目录(例如: C:\Program Files\perl\site\bin;)已经被加入进来),无需再手工配置;
3)测试安装是否成功:
进入perl安装目录的eg文件夹,执行perl example.pl若显示Hello from ActivePerl!,则说明Perl安装成功。如下图所示:
perl安装成功之后就可以开始使用Perl的wpf 布局 源码相关命令来进行OpenSSL的安装了。
2、openssl可以自己下载源码编译也可以直接下载安装包安装完之后即可使用。
2.1使用源码编译openssl
1) 下载openssl源码的路径:
/blog/static//
下面将使用一个现成的ca文件(ca.key和ca.crt)生成证书文件(client.key和client.crt):
1)创建一个目录用于存放ca文件以及将要生成的证书文件,本例中将该目录创建在outdll目录下:C:\Program Files\openssl-1.0.1g\outdll\test,
2)执行命令生成证书的key文件:..\openssl genrsa -out client.key ,如下图所示:
3) 生成证书请求文件:..\openssl req -out server.csr -key server.key -new
4) 生成证书文件:..\ openssl x -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days
下面是其他网友的补充:
安装环境:
操作系统:window7(位)
C++编译器:VS
工具下载:
下载ActivePerl-5.或5.(其他版本也可以):
下载地址:/activeperl/downloads/ (安装过程只要按照Windows下一般程序的安装步骤进行即可)
下载openssl-1.0.1g(其他版本也可以)并解压
下载地址:http://www.openssl.org/source/(建议解压后的文件路径为C:\openssl,PS:只是为了下文的内容匹配,并且方便寻找,其他路径也无不影响)。
安装Perl
(我的安装目录为C:\Perl)
运行CMD命令,使用cd命令将运行目录指向perl安装目录的hash算法源码eg文件夹, 执行perl example.pl若显示Hello from ActivePerl!,则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了。
(PS:如果你想看看原始的INSTALL文件,那么请打开OpenSSL的解压缩目录,下面有两个文件INSTALL.W和INSTALL.W,用记事本方式打开,你可以看到详细的关于安装的解释)
安装openssl
(最关键的步骤来了)
1)首先设定好环境变量,这步参照网上的教程后发现后面的编译步骤不成功,找了很就才发现是这部设置的不对才导致的。
设定环境变量:桌面计算机图标右键-属性-高级系统设置-环境变量-在系统变量当中找到变量名称为path的变量(如果没有找到这新建)点击编辑-在变量名称中填入C:\Program Files (x)\Microsoft Visual Studio .0\VC\bin;C:\Perl\bin;c:\windows\system-点击确定完成设定。(说明:C:\Program Files (x)\Microsoft Visual Studio .0\VC\bin路径是VS的路径。C:\Perl\bin是运行perl的路径,不若不设定那么perl命令将找不到。c:\windows\system这个路径很少提到但是很重要,如果不设置那么会造成后面vcvars.bat环境变量执行出错。)到此环境变量路径设置好之后重启下电脑才能生效。
2)使用Visual Studio命令提示()进入控制台模式
开始菜单-所有程序-Microsoft Visual Studio -Visual Studio Tools-Visual Studio命令提示(),(PS:以管理员身份运行), 使用cd命令将目录指向C:\Program Files (x)\Microsoft Visual Studio .0\VC\bin(PS:自己的VC安装路径), 命令行键入vcvars,运行vcvars.bat..完成后进入OpenSSL源码的目录(C:\openssl)
3)执行Configure命令(配置编译参数)(需将目录跳到OpenSSL源码目录下)
在命令行中键入perl configure VC-WIN --prefix=c:\openssl(PS:--prefix=c:\openssl命令为指定安装位置)
4)运行ms\do_ms命令(需将目录跳到OpenSSL源码目录下)
在命令行中键入ms\do_ms。
5)运行nmake -f ms\ntdll.mak命令进行代码编译(需将目录跳到OpenSSL源码目录下)
编译分两种情况,生成静态库和动态库
(1) 如果是编译OpenSSL动态库,则在命令行键入 nmake -f ms\ntdll.mak
编译成功课在文件夹outdll里面查看输出的文件,包括应用程序的exe文件、lib文件、dll文件。
(2) 如果是编译OpenSSL静态库,则在命令行键入 nmake -f ms\nt.mak
编译成功课在文件夹out里面查看输出的文件,包括应用程序的exe文件、lib文件。
6)测试使用命令nmake -f ms\ntdll.mak test(若安装成功则可以使用此命令来验证)
使用openssl
当VS工程需要用到openssl库时,在包含目录中胎添加openssl安装目录的include目录, 来库目录中添加outdll目录。
或者将OpenSSL下的include文件夹、lib文件、dll文件考出,使用的时候包含进去就行了。
另外还有几个命令可能会用到:
测试OpenSSL动态库:nmake -f ms\ntdll.mak test
测试OpenSSL静态库:nmake -f ms\nt.mak test
安装OpenSSL动态库:nmake -f ms\ntdll.mak install
安装OpenSSL静态库:nmake -f ms\nt.mak install
清除上次OpenSSL动态库的编译,以便重新编译:nmake -f ms\ntdll.mak clean
清除上次OpenSSL静态库的编译,以便重新编译:nmake -f ms\nt.mak clean