openssl

1、简介

OpenSSL是一个开放源代码软件包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连线者的身份。这个包广泛被应用在互联网的网页服务器上。

其主要是以C语言所写成,实现了基本的加密功能,实现了SSL与TLS协议。

OpenSSL支持许多不同的加密算法:

(从1.0版开始,椭圆曲线迪菲-赫尔曼密钥交换用于支持前向安全性)[17])

2、如何进行移植

2.1 openssl版本详情

版本发布时间备注最近更新版本
0.9.1 1998年12月23日 OpenSSL项目的正式开启 0.9.1c(1998年12月23日)
0.9.2 1999年3月22日 取代0.9.1c 0.9.2b(1999年4月6日)
0.9.3 1999年5月25日 取代0.9.2b 0.9.3a(1999年5月27日)
0.9.4 1999年8月9日 取代0.9.3a 0.9.4(1999年4月9日)
0.9.5 2000年2月28日 取代0.9.4 0.9.5a(2000年4月1日)
0.9.6 2000年9月24日 取代0.9.5a 0.9.6m(2004年3月17日)
0.9.7 2002年12月31日 取代0.9.6m 0.9.7m(2007年2月23日)
0.9.8 2005年7月5日 取代0.9.7m 0.9.8zh(2015年12月3日)
1.0.0 2010年3月29日 取代0.9.8n 1.0.0t(2015年12月3日)
1.0.1[8] 2012年3月14日 取代1.0.0维护至2016年12月31日支持RFC 6520 TLS/DTLS心跳支持SCTPRFC 5705 TLS key material exporterRFC 5764 DTLS-SRTP协商Next Protocol NegotiationPSS signatures in certificates, requests and 证书吊销列表Support for password based recipient info for CMS支持TLS v1.2以及TLS v1.1Preliminary FIPS capability for unvalidated 2.0 FIPS module支持安全远程密码协议(SRP) 1.0.1u(2016年9月22日)
1.0.2[9] 2015年1月22日 取代1.0.1维护至2019年12月31日(长期维护)Suite B支持TLS 1.2和DTLS 1.2支持DTLS 1.2TLS自动选择椭圆曲线(EC)用于设置TLS支持的签名算法和曲线的APISSL_CONF配置API支持TLS Brainpool支持应用层协议协商CMS支持RSA-PSSRSA-OAEPECDH及X9.42 DH 1.0.2u(2019年12月20日)
1.1.0[10] 2016年8月25日 取代1.0.2h预计维护到2019年9月[11]支持BLAKE (RFC 7693)支持ChaCha20-Poly1305RFC 7539)支持X25519RFC 7748)支持DANE证书透明度支持扩CCM密码包支持扩展主密钥移除SSLv2移除对Kerberos密码包的支持将RC4和3DES从libssl从DEFAULT密码包中移除将DSS、SEED、IDEA、CAMELLIA以及AES-CCM从DEFAULT密码包中移除将40和56位密码从libssl中移除 1.1.0l(2019年9月10日)
1.1.1[12] 2018年9月11日 将持续维护至少五年(预计到2023年9月)[11]支持TLS1.3[13][14]支持SHA-3支持X448以及Ed448RFC 7748)支持SipHash支持ARIA (cipher)支持多素数RSARFC 8017)支持SM2SM3以及SM4移除Heartbleed移除对QNX支持的支持 1.1.1g(2020年4月21日)

2.2 下载源码

官网下载所需版本源码,我下载的版本是openssl-1.1.1h.tar.gz

2.3 编译安装

参考

  1. 解压源码包:tar xzvf /mnt/hgfs/sdk/openssl/openssl-1.1.1h.tar.gz -C /disk4/opt/openssl/

  2. 配置openssl:./config no-asm shared no-async --prefix=$(pwd)/install --cross-compile-prefix=arm-himix200-linux-

  3. 删除makefile中-m32编译选项

  4. make && make install

  5. 可以根据需要使用intall文件夹下的动态或者静态库

  6. 如果使用动态库,只需将libcrypto.so.1.1libssl.so.1.1拷贝到

备注:

make clean':清除Makefile以及中间生成文件使用,可用于错误配置makefile使用

no-asm: 在交叉编译过程中不使用汇编代码代码加速编译过程

shared: 生成动态连接库

no-async: 交叉编译工具链没有提供GNU Cucontext

--prefix=: 安装路径

--cross-compile-prefix=: 交叉编译工具

 

3、如何在海思运行使用

  1. 将编译安装好的install

  2.  

 

 

posted on 2022-07-03 20:41  magiccats  阅读(1658)  评论(0编辑  收藏  举报