How to Install and update openssl on opensuse15.1

How to Install and update openssl on opensuse15.1

This video covers the method to install and update OpenSSL on opensuse15.1

Process:

To check the installed version of os

LinuxHelp:~ # cat /etc/os-release 
NAME="openSUSE Leap"
VERSION="15.1 "
ID="opensuse-leap"
ID_LIKE="suse opensuse"
VERSION_ID="15.1"
PRETTY_NAME="openSUSE Leap 15.1"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:15.1"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"

To install the gcc compiler

LinuxHelp:~ # zypper install gcc
Retrieving repository 'Main Update Repository' metadata ...............................................................................................................................[done]
Building repository 'Main Update Repository' cache ....................................................................................................................................[done]
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following 13 NEW packages are going to be installed:
  gcc gcc7 glibc-devel libasan4 libatomic1 libcilkrts5 libitm1 liblsan0 libmpx2 libmpxwrappers2 libtsan0 libubsan0 linux-glibc-devel
13 new packages to install.
Overall download size: 22.8 MiB. Already cached: 0 B. After the operation, additional 84.4 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): y
Retrieving package libatomic1-8.2.1+r264010-lp151.1.33.x86_64                                                                                          (1/13),  20.5 KiB ( 26.1 KiB unpacked)
...
....
...

Change directory to mnt

LinuxHelp:~ # cd /mnt

Download the openssl latest version tar file

LinuxHelp:/mnt # wget https://www.openssl.org/source/openssl-1.0.2t.tar.gz
--2019-11-04 06:25:02--  https://www.openssl.org/source/openssl-1.0.2t.tar.gz
Resolving www.openssl.org (www.openssl.org)... 184.31.218.239, 2600:140f:3c00:1ab::c1e, 2600:140f:3c00:1a9::c1e
Connecting to www.openssl.org (www.openssl.org)|184.31.218.239|:443... connected.
The HTTP request sent, awaiting a response... 200 OK
Length: 5355422 (5.1M) [application/x-gzip]
Saving to: ‘openssl-1.0.2t.tar.gz’
openssl-1.0.2t.tar.gz                           100%[====================================================================================================>]   5.11M  1.11MB/s    in 4.6s    
2019-11-04 06:25:07 (1.11 MB/s) - ‘openssl-1.0.2t.tar.gz’ saved [5355422/5355422]

Extract the downloaded tar file using

LinuxHelp:/mnt # tar -xvf openssl-1.0.2t.tar.gz
openssl-1.0.2t/ACKNOWLEDGMENTS
openssl-1.0.2t/apps/
openssl-1.0.2t/apps/app_rand.c
openssl-1.0.2t/apps/apps.c
openssl-1.0.2t/apps/apps.h
openssl-1.0.2t/apps/asn1pars.c
.....
......

under openssl directory run the following commands

LinuxHelp:/mnt/openssl-1.0.2t # ./config
Operating system: x86_64-whatever-linux2
Configuring for linux-x86_64
Configuring for linux-x86_64
    no-ec_nistp_64_gcc_128 [default]  OPENSSL_NO_EC_NISTP_64_GCC_128 (skip dir)
    no-gmp          [default]  OPENSSL_NO_GMP (skip dir)
    no-jpake        [experimental] OPENSSL_NO_JPAKE (skip dir)
    no-krb5         [krb5-flavor not specified] OPENSSL_NO_KRB5
    no-libunbound   [experimental] OPENSSL_NO_LIBUNBOUND (skip dir)
    no-md2          [default]  OPENSSL_NO_MD2 (skip dir)
    no-rc5          [default]  OPENSSL_NO_RC5 (skip dir)
LinuxHelp:/mnt/openssl-1.0.2t # make
making all in crypto...
make[1]: Entering directory '/mnt/openssl-1.0.2t/crypto'
/usr/bin/perl ../util/mkbuildinf.pl "gcc -I. -I.. -I../include  -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM" "linux-x86_64" >buildinf.h
gcc -I. -I.. -I../include  -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM   -c -o cryptlib.o cryptlib.c
gcc -I. -I.. -I../include  -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM   -c -o mem.o mem.c
gcc -I. -I.. -I../include  -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM   -c -o mem_dbg.o mem_dbg.c
gcc -I. -I.. -I../include  -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM   -c -o cversion.o cversion.c
gcc -I. -I.. -I../include  -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_
LinuxHelp:/mnt/openssl-1.0.2t # make test
testing...
make[1]: Entering directory '/mnt/openssl-1.0.2t/test'
make[2]: Entering directory '/mnt/openssl-1.0.2t'
making all in apps...
....
...
LinuxHelp:/mnt/openssl-1.0.2t # make install
making all in crypto...
make[1]: Entering directory '/mnt/openssl-1.0.2t/crypto'
making all in crypto/objects...
...
...

If the old version is still displayed or installed before, please make a copy of openssl bin file

LinuxHelp:/mnt/openssl-1.0.2t # mv /usr/bin/openssl   /root/

Create soft link for newly installed openssl under bin directory

LinuxHelp:/mnt/openssl-1.0.2t # ln -s /usr/local/ssl/bin/openssl    /usr/bin/openssl

To check the installed version of openssl

LinuxHelp:/mnt/openssl-1.0.2t # openssl version
OpenSSL 1.0.2t  10 Sep 2019

with this, Installation and use of openssl comes to end

FAQ
Q
List some alternatives to OpenSSL?
A
WolfSSL
mbed TLS
Gnu TLS
LibreSSL
Q
What are the prerequisites to install OpenSSL?
A
GCC compiler is the prerequisites to install OpenSSL
Q
How to check the OpenSSL version?
A
Use the command ""OpenSSL version"" to check the OpenSSL version
Q
What is the latest version of OpenSSL?
A
The latest version of OpenSSL is OpenSSL-1.0.2t
Q
What is OpenSSL?
A
OpenSSL is an open-source software library for applications that provides SSL ( Secure Socket Layer) and TLS (Transport Layer Security) web security protocols.