OpenSSL:n asentaminen lähteestä CentOS:ään ja Ubuntuun


OpenSSL on monipuolinen ohjelmistokirjasto, joka sisältää avoimen lähdekoodin Transport Layer Securityn (TLS) ja Secure Sockets -sovelluksen. Layer (SSL) -protokollat, joita käytetään tietokoneverkkojen kautta siirrettävien tietojen suojaamiseen.

Se on yleiskäyttöinen salauskirjasto ja tukee useita erilaisia salausalgoritmeja, mukaan lukien AES, Blowfish; MD5, MD4, SHA-1, SHA-2 kryptografiset hajautustoiminnot; RSA, DSA, Diffie-Hellman-avaimenvaihto, elliptinen käyrä ja monet muut.

Tässä artikkelissa selitämme, kuinka OpenSSL:n uusin vakaa versio asennetaan lähteistä CentOS- ja Ubuntu-pohjaisiin jakeluihin.

Vaihe 1: Asenna kehitystyökalut

1. Jos haluat kääntää OpenSSL manuaalisesti lähteistä, sinun on ensin asennettava muutama riippuvuus, kuten "Kehitystyökalut" RHEL/CentOS:ään. /Fedora tai "build-essential" Debianissa/Ubuntussa kuvan mukaisesti.

------------------- On CentOS, RHEL & Fedora ------------------- 
yum group install 'Development Tools' && yum install perl-core libtemplate-perl zlib-devel 

------------------- On Ubuntu & Debian -------------------
sudo apt update && apt install build-essential checkinstall zlib1g-dev libtemplate-perl

Vaihe 2: Käännä OpenSSL lähteistä

2. Lataa seuraavaksi uusin vakaa versio OpenSSL:stä (v1.0.2 kirjoitushetkellä, mikä on pitkäaikainen Tuki (LTS), tuettu 31. joulukuuta 2019 asti, lataussivulta seuraavalla wget-komennolla ja pura se tar-komennolla.

wget -c https://www.openssl.org/source/openssl-1.0.2p.tar.gz
tar -xzvf openssl-1.0.2p.tar.gz

3. Siirry nyt purettuun hakemistoon, määritä, luo, onnistuneen koontiversion jälkeen testaa kirjastoja ja asenna OpenSSL oletussijaintiin, joka on /usr/local/ssl . suorittamalla seuraavat komennot.

cd openssl-1.0.2p/
./config
make
make test
sudo make install 

4. Kun OpenSSL on asennettu onnistuneesti, voit siirtyä asennushakemistoon ja tarkastella erilaisia alihakemistoja ja tiedostoja ls-komennolla.

cd /usr/local/ssl/
$ ls -l

drwxr-xr-x. 2 root root  4096 Aug 22 06:37 bin
drwxr-xr-x. 2 root root  4096 Aug 22 06:37 certs
drwxr-xr-x. 3 root root  4096 Aug 22 06:37 include
drwxr-xr-x. 4 root root  4096 Aug 22 06:37 lib
drwxr-xr-x. 6 root root  4096 Aug 22 06:36 man
drwxr-xr-x. 2 root root  4096 Aug 22 06:37 misc
-rw-r--r--. 1 root root 10835 Aug 22 06:37 openssl.cnf
drwxr-xr-x. 2 root root  4096 Aug 22 06:37 private

Seuraavat ovat tärkeitä hakemistoja, jotka sinun on otettava huomioon:

  • bin – sisältää openssl-binaarin ja joitain apuohjelmia.
  • include/openssl – sisältää otsikkotiedostot, joita tarvitaan omien libcrypto- tai libssl-ohjelmien rakentamiseen.
  • lib – sisältää OpenSSL-kirjastotiedostot.
  • lib/engines – sisältää dynaamisesti ladattavat OpenSSL-moottorit.
  • mies – sisältää OpenSSL-man-sivut.
  • share/doc/openssl/html – sisältää man-sivujen HTML-version.
  • sertifikaatit – varmennetiedostojen oletussijainti.
  • yksityinen – yksityisen avaimen tiedostojen oletussijainti.

5. Tarkista juuri asentamasi OpenSSL-versio suorittamalla seuraava komento.

/usr/local/ssl/bin/openssl version

OpenSSL 1.0.2p  14 Aug 2018

6. Jos haluat käyttää äskettäin asennettua OpenSSL-versiota järjestelmässäsi, sinun on lisättävä hakemistoon /usr/local/ssl/bin/ PATH tiedostossa ~/.bashrc (tai vastaavassa komentotulkissasi).

vim ~/.bashrc

Lisää tämä rivi tiedoston alaosaan.

export PATH="/usr/local/ssl/bin:${PATH}"

Tallenna ja sulje tiedosto ja lataa kokoonpano uudelleen käyttämällä alla olevaa komentoa.

source .bashrc

7. Avaa nyt uusi pääteikkuna ja suorita seuraavat komennot varmistaaksesi, että uusi OpenSSL-binaari sijaitsee PATHssa ja että voit suorittaa sen kirjoittamatta sen koko polkua.

whereis openssl

openssl: /usr/bin/openssl /usr/lib64/openssl /usr/include/openssl /usr/local/ssl/bin/openssl /usr/share/man/man1/openssl.1ssl.gz
openssl version 	

OpenSSL 1.0.2p  14 Aug 2018

Siinä kaikki! Tässä artikkelissa olemme selittäneet, kuinka uusin OpenSSL-versio asennetaan lähdekoodista Linux-järjestelmiin. Jos sinulla on kysyttävää, ota meihin yhteyttä alla olevalla komentolomakkeella.