移动到新的 Openssl 目录并在您的终端中输入以下命令
编辑c_rehash文件,vi +11tools/c_rehash并更改以下行
DIR=/usr/local/ssl |
DIR=/usr |
默认情况下,OpenSSL 源文件假定您的 Perl 程序目录位于/usr/local/bin/perl目录。我们必须修改所有依赖 perl 的脚本中的 #!/usr/local/bin/perl 行,以反映我们在 Red Hat Linux 下的 Perl 目录为/usr/bin.
[root@deep ]/openssl-0.9.5a# perl util/perlpath.pl /usr/bin |
OpenSSL 必须知道在哪里找到必要的 OpenSSL 源库才能成功编译其所需的文件。使用以下命令,我们设置PATH环境变量为我们解压缩 OpenSSL 源文件的默认目录。
[root@deep ]/openssl-0.9.5a# export LD_LIBRARY_PATH=`pwd` |
现在,我们必须为我们的系统配置 OpenSSL
CC="egcs" \ ./Configure linux-elf -DSSL_FORBID_ENULL \ |
编辑 Makefile.ssl 文件并更改以下行
vi +50 Makefile.ssl
CC= gcc |
CC= egcs |
使用 vi +52 编辑Makefile.ssl并添加/更改以下行
CFLAG= -DTHREADS -D_REENTRANT -DSSL_FORBID_ENULL -DL_ENDIAN -DTERMIO -O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM |
使用 vi +79 编辑Makefile.ssl并为 Pentium Pro 处理器添加以下值
PROCESSOR= 686 |
: 我们上面做的三个修改将为服务器上 OpenSSL 软件的编译设置优化标志。对于最后一个修改PROCESSOR=上面,如果您使用586表示 Pentium,请使用686表示 Pro/II/III,请使用486表示 486,具体取决于您拥有的处理器类型。
使用 vi +161 编辑Makefile.ssl并更改以下行
MANDIR=$(OPENSSLDIR)/man |
MANDIR=/usr/man |
现在我们必须在服务器上编译和安装 OpenSSL
[root@deep ]/openssl-0.9.5a# make -f Makefile [root@deep ]/openssl-0.9.5a# make test [root@deep ]/openssl-0.9.5a# make install [root@deep ]/openssl-0.9.5a# mv /etc/ssl/misc/* /usr/bin/ [root@deep ]/openssl-0.9.5a# rm -rf /etc/ssl/misc/ [root@deep ]/openssl-0.9.5a# rm -rf /etc/ssl/lib/ [root@deep ]/openssl-0.9.5a# rm -f /usr/bin/CA.pl [root@deep ]/openssl-0.9.5a# rm -f /usr/bin/CA.sh [root@deep ]/openssl-0.9.5a# install -m 644 libRSAglue.a /usr/lib/ [root@deep ]/openssl-0.9.5a# install -m 644 rsaref/rsaref.h /usr/include/openssl/ [root@deep ]/openssl-0.9.5a# strip /usr/bin/openssl [root@deep ]/openssl-0.9.5a# mkdir -p /etc/ssl/crl |
make -f 命令将构建 OpenSSL 库,libcrypto.a和libssl.a以及 OpenSSL 二进制文件 openssl。这些库将在顶层目录中构建,二进制文件将在apps目录。
成功构建后,make test 将测试库,最后 make install 将创建安装目录并install OpenSSL。
mv 命令将移动以下目录下的所有文件/etc/ssl/misc/目录到/usr/bin/目录。这些文件是二进制文件,必须位于/usr/bin/因为在我们的系统中,所有二进制文件都保存在此目录中。此外,将这些文件放在/usr/bin/目录中将使它们保留在我们的PATH环境变量中。
rm 命令将删除/etc/ssl/misc/和/etc/ssl/lib/我们系统中的目录,因为这些目录中的文件现在位于其他位置。此外,它还将删除CA.pl和CA.sh文件,它们是用于创建您自己的 CA 证书的小脚本。这些与 openssl ca 命令相关的脚本有一些奇怪的要求,并且默认的 OpenSSL 配置不允许用户直接轻松地使用 openssl ca。因此,我们将创建sign.sh脚本程序稍后替换它们。
![]() |
选项bc-1.05a-4.i386.rpm或更高版本的软件包必须已安装在您的 Linux 服务器上,否则您将在 OpenSSL 的库测试期间收到错误消息。 |
请不要忘记稍后清理
[root@deep] /# cd /var/tmp [root@deep tmp]# rm -rf openssl-version/ openssl-version.tar.gz |