openssl/ssl.h,该怎么处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openssl/ssl.h,该怎么处理相关的知识,希望对你有一定的参考价值。

参考技术A 最近需要安装openssl,需要使用openssl/md5.h这个头文件,可是使用Ubuntu的apt-get install openssl安装,没有这个文件,连urs/include/openssl都没,经过一天的查找资料都没解决,最后想到了使用源码安装openssl,最终解决了。

OpenSSL 是一款开源的 SSL 软件包,采用 SSL 的公开密钥技术,用于实现传输层的通信加密功能。OpenSSL 支持 Linux、Windows、BSD、Mac 等平台,功能强大,包含丰富的密码算法库,SSL 协议库和应用程序。
一、SSL 基本常识 1.1、什么是 SSL?
安全套接层(Secure Sockets Layer,SSL), 最初由 netscape 公司设计,建立在传输层的安全通信协议,采用公开密钥体系的证书认证方式来确保客户端和 SSL 服务器之间的通信安全。
1.2、SSL 认证流程
SSL 客户端在 TCP 连接建立之后,发出一个消息(包含了客户端所支持的算法列表)给服务器端,然后服务器端返回一个数据包(确定了这次通信所需算法)和 SSL 服务器端的证书(包含了公钥)给客户端。客户端随后会用收到的公钥将消息加密再传送,该加密消息只能用 SSL 服务器端私钥解密,即便中途被截取也无法获知内容。
二、编译安装 OpenSSL 2.1、准备工作
系统版本:Ubuntu-10.10-Server-I386
更新源:apt-get update
升级软件:apt-get upgrade
更新系统:apt-get dist-upgrade
2.2、查看OpenSSL版本
部分 Linux 系统已默认安装了 OpenSSL 0.9.8,特别是 VPS 一般都安装了。
openssl version -a
2.3、安装基础编译环境
apt-get install build-essential
2.3、编译安装 Zlib 库(这一步我没有成功,但是也成功安装了openssl)

tar -zxf zlib-1.2.5.tar.gz
cd zlib-1.2.5/
./configure --prefix=/usr/local
make && make install
2.4、卸载旧版本 OpenSSL
apt-get purge openssl
rm -rf /etc/ssl #删除配置文件
2.5、编译与安装 OpenSSL
prefix 是安装目录,openssldir 是配置文件目录,另外建议安装两次,shared 作用是生成动态连接库。

tar -zxf openssl-1.0.0c.tar.gz
cd openssl-1.0.0c/
./config --prefix=/usr/local --openssldir=/usr/local/ssl
make && make install
./config shared --prefix=/usr/local --openssldir=/usr/local/ssl
make clean
make && make

docker ubuntu swoole fatal error: openssl/ssl.h: No such file or directory

Dockerfile

RUN apt-get update -y
RUN apt-get install -y libssl-dev
RUN cd /tmp/ && rm -rf ./swoole-src
&& curl -o ./swoole.tar.gz https://github.com/swoole/swoole-src/archive/master.tar.gz -L
&& tar zxvf ./swoole.tar.gz
&& mv swoole-src* swoole-src
&& cd swoole-src
&& phpize
&& ./configure --enable-openssl --with-openssl-dir=/usr/lib/ssl --enable-http2
&& make && make install
&& docker-php-ext-enable swoole

虽然已经装过openssl了,但缺少对应的lib,找半天才知道需要装libssl-dev(centos是openssl-devel)

安装过程收获

openssl version -a

以上是关于openssl/ssl.h,该怎么处理的主要内容,如果未能解决你的问题,请参考以下文章

致命错误:openssl/ssl.h:没有这样的文件或目录

“openssl/ssl.h:没有这样的文件或目录”在安装 Git 期间

Xcode gRPC-Core 错误:找不到“openssl_grpc/ssl.h”文件

docker ubuntu swoole fatal error: openssl/ssl.h: No such file or directory

docker ubuntu swoole fatal error: openssl/ssl.h: No such file or directory

docker ubuntu swoole fatal error: openssl/ssl.h: No such file or directory