スポンサーリンク

このドキュメントの内容は、以下の通りです。

はじめに

インターネットでは、セキュリティやプライバシーを守る目的で、多くの通信が暗号化されています。

ソフトウェアが暗号化を行う場合、多くの場合は、暗号ライブラリを利用します。いろいろなライブラリが存在します。オープンソースソフトウェア(OSS)にも暗号の実装があります。OSSの有名な暗号ライブラリの1つは、 OpenSSLでしょう。

OpenSSL は、Linux や FreeBSD などの Unix でよく使われています。
各 Unix のディストリビューションでは、ビルドされたバイナリのパッケージが配布されています。しかし、パッケージで提供されるバイナリを利用したくないケースもあると思います。

たとえば、CentOS のOpenSSL は、FIPSのパッチが適用されており、パフォーマンスに影響が出るケースがあるます。そのため、FIPSのパッチなしのOpenSSLが必要になることがあり、その場合は、自前でビルドする必要があります。

ここでは、 CentOSで OpenSSL を自前でビルドする方法を説明致します。

環境整備

まず、ビルドに必要な環境を整備します。
zlib とは、圧縮のライブラリです。

CentOS 8 は、 dnf コマンドを利用します。
sudo dnf install zlib-devel

CentOS 8 未満の環境は、 yum コマンドを利用します。
sudo yum install zlib-devel

ソースコードのダウンロード

ソースコードはこのサイトからダウンロードできます。
https://www.openssl.org/source/

ブラウザもしくは、wget などのコマンドでダウンロードします。

ビルド

ソースコードのビルドには、 make コマンドを利用しますが、 make コマンドを利用する前に、 config と呼ばれるスクリプトを実行する必要があります。
sh config zlib
make

zlib.h がないとエラーが発生します


zlib-devel がインストールされていないと zlib.h がないため、OpenSSLのビルドが失敗します。 dnf/yum コマンドでインストールしましょう。

gcc -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include  -DZLIB
-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
-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM
-DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM   -c -o c_zlib.o c_zlib.c
c_zlib.c:25:19: 致命的エラー: zlib.h: そのようなファイルやディレクトリはありません
 # include <zlib.h>
                    ^
コンパイルを停止しました。
make[2]: *** [c_zlib.o] エラー 1
make[2]: ディレクトリ `/home/kaworu/tmp/openssl/openssl-1.0.1p/crypto/comp' から出ます
make[1]: *** [subdirs] エラー 1
make[1]: ディレクトリ `/home/kaworu/tmp/openssl/openssl-1.0.1p/crypto' から出ます
make: *** [build_crypto] エラー 1

スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー