SSL/TLS深度解析–OpenSSL 升级到最新版本

SSL/TLS深度解析–OpenSSL 升级到最新版本

OpenSSL下载地址

OpenSSL 1.1.1

现有版本

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 
[root@localhost ~]# uname -r
3.10.0-862.11.6.el7.x86_64
[root@localhost ~]# openssl version -v
OpenSSL 1.0.2k-fips 26 Jan 2017

升级到新版本

[root@localhost software]# tar xf openssl-1.1.1.tar.gz
[root@localhost software]# cd openssl-1.1.1/
[root@localhost openssl-1.1.1]# ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl enable-ec_nistp_64_gcc_128
Operating system: x86_64-whatever-linux2
Configuring OpenSSL version 1.1.1 (0x1010100fL) for linux-x86_64
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile

**********************************************************************
*** ***
*** If you want to report a building issue, please include the ***
*** output from this command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
**********************************************************************
# enable-ec_nistp_64_gcc_128可以让我们使用优化后的一些常用的椭圆曲线算法,这个优化基于编译器的一些特性,默认情况下会关闭这些特性,而且无法自动检测。

SSL/TLS深度解析--OpenSSL 升级到最新版本

[root@localhost openssl-1.1.1]# make
[root@localhost openssl-1.1.1]# make install
[root@localhost openssl-1.1.1]# mv /usr/bin/openssl /usr/bin/openssl.bak
[root@localhost openssl-1.1.1]# mv /usr/include/openssl /usr/include/openssl.bak
[root@localhost openssl-1.1.1]# ln -s /usr/local/openssl/include/openssl /usr/include/openssl
[root@localhost openssl-1.1.1]# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
[root@localhost openssl-1.1.1]# ldd $(which openssl)
        linux-vdso.so.1 =>  (0x00007ffe2b391000)
        libssl.so.1.1 => not found
        libcrypto.so.1.1 => not found
        libz.so.1 => /lib64/libz.so.1 (0x00007f709695e000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f709675a000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f709653e000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f7096171000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f70972eb000)
[root@localhost openssl-1.1.1]# echo "/usr/local/openssl/lib/" >> /etc/ld.so.conf
[root@localhost openssl-1.1.1]# ldconfig
[root@localhost openssl-1.1.1]# ldd $(which openssl)    
        linux-vdso.so.1 =>  (0x00007fff082be000)
        libssl.so.1.1 => /usr/local/openssl/lib/libssl.so.1.1 (0x00007fdd78f88000)
        libcrypto.so.1.1 => /usr/local/openssl/lib/libcrypto.so.1.1 (0x00007fdd78a82000)
        libz.so.1 => /lib64/libz.so.1 (0x00007fdd7886c000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fdd78668000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fdd7844c000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fdd7807f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fdd79219000)
[root@localhost openssl-1.1.1]# openssl version -a
OpenSSL 1.1.1  11 Sep 2018
built on: Sat Oct 20 07:24:19 2018 UTC
platform: linux-x86_64
options:  bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG
OPENSSLDIR: "/usr/local/openssl"
ENGINESDIR: "/usr/local/openssl/lib/engines-1.1"
Seeding source: os-specific
  • /lib /lib64是内核级的
  • /usr/lib /usr/lib64是系统级的
  • /usr/local/lib /usr/local/lib64是用户级的

转载于:https://blog.51cto.com/stuart/2298793

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101377.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 视觉欺骗:你绝不会相信A和B颜色相同!

    视觉欺骗:你绝不会相信A和B颜色相同!心理导读:图中标为A和B的两个方格其实具有相同的颜色。明明一黑一白的方格,EdwardH.Adelson却说它们颜色一样!到底应该相信科学家还是自己的眼睛?——www.xinli001.com要证明其实很简单,请下载这张图片,然后用任何可以取色的图像处理软件打开它,接着用取色工具提取A、B方格的颜色值。下图是本图在Paint.NET里面的取色结果。可以看出,A、B方格的

    2025年6月18日
    2
  • BloomFilter怎么用?使用布隆过滤器来判断key是否存在?「建议收藏」

    BloomFilter怎么用?使用布隆过滤器来判断key是否存在?「建议收藏」今天跟一个同事聊了一个问题,说最近在做推荐,如何判断用户是否看过这个片段呢?想了一下,正好可以使用布隆过滤器来完成这个需求。布隆,可不是LOL的布隆。我们的这个布隆是一个叫布隆的外国人,在1970年提出的一种方案:如果判断这个key不存在,那么就一定不存在,如果key存在,那么有可能不存在。所以不存在的时候,你永远可以详细布隆。布隆过滤器是一个高空间利用率的概率性数据结构,由BurtonBloom于1970年提出,用于测试一个元素是否在集合中。新创建的布隆过滤器是一串被置为0的Bit数组(假设有m位),

    2025年6月1日
    2
  • java编写定时程序_java编辑器

    java编写定时程序_java编辑器Java定时器代码的编写在某些时候,我们需要实现这样的`功能,某一程序隔一段时间执行一次,而这一事情由系统本身来完成,并不是人为的触发,我们一般可称此为定时器任务.其实到Java中,实现起来是非常简单的,下面我们以每隔5秒钟打引一句”Helloworld”为例:importjava.util.TimerTask;publicclassTimeTastextendsTimerTask…

    2022年9月17日
    4
  • 快速傅里叶变换(FFT)算法【详解】[通俗易懂]

    快速傅里叶变换(FFT)算法【详解】[通俗易懂]快速傅里叶变换(FastFourierTransform)是信号处理与数据分析领域里最重要的算法之一。我打开一本老旧的算法书,欣赏了JWCooley和JohnTukey在1965年的文章

    2022年7月3日
    61
  • android 倒计时控件_安卓倒计时

    android 倒计时控件_安卓倒计时CountDownTimer构造函数:CountDownTimer(longmillisInFuture,longcountDownInterval)millisInfuture:要倒计时的总时间,单位ms。countDownInterval:要倒计时的间隔时间,单位ms。CountDownTimer是个抽象类,在实际运用中我们会去构造一个匿名实现类对象来进行处理…

    2022年9月17日
    2
  • Python实现五子棋人机对战 | CSDN博文精选「建议收藏」

    Python实现五子棋人机对战 | CSDN博文精选「建议收藏」作者|吴小鹏来源|数据札记倌(ID:Data_Groom)五子棋是常见的一款小游戏,五子棋问题是人工智能中的一个经典问题。这篇文章主要介绍了Python版本五子棋的实现代码,大家可以做个参考,与我的傻儿子对弈一下。简述虽然计算机已经几乎激活成功教程了五子棋的取胜秘籍,甚至给出了取胜的具体方案,然而,对人来说,五子棋还是非常有玩头的。我们往往有五子棋的技巧性和全局观远远比不上象棋,围棋之类的感…

    2022年6月21日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号