yum install autoconf automake gcc
libtasn1-devel zlib zlib-devel trousers
trousers-devel gmp-devel gmp xz texinfo
libnl-devel libnl tcp_wrappers-libs
tcp_wrappers-devel tcp_wrappers dbus
dbus-devel ncurses-devel pam-devel
readline-devel bison bison-devel flex
gcc automake autoconf wget
安装Nettle:
wget http://www.lysator.liu.se/~nisse/archive/nettle-2.7.tar.gz
tar xvf nettle-2.7.tar.gz
cd nettle-2.7
./configure --prefix=/opt/
make && make install
cd ..
安装最新的GnuTLS,此版本附带修复安全漏洞:
wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/gnutls-3.2.12.tar.xz
tar xvf gnutls-3.2.12.tar.xz
cd gnutls-3.2.12
export LD_LIBRARY_PATH=/opt/lib/:/opt/lib64/
NETTLE_CFLAGS="-I/opt/include/" NETTLE_LIBS="-L/opt/lib64/ -lnettle" HOGWEED_CFLAGS="-I/opt/include" HOGWEED_LIBS="-L/opt/lib64/ -lhogweed"
./configure --prefix=/opt/
make && make install
cd ..
安装最新的LibNL:
wget http://www.carisma.slowglass.com/~tgr/libnl/files/libnl-3.2.24.tar.gz
tar xvf libnl-3.2.24.tar.gz
cd libnl-3.2.24
./configure --prefix=/opt/
make && make install
cd ..
安装Ocserv
最新版本的ocserv是0.8.0 [1],如果你想要一个git版本,你可能需要编译一个最新版本的automake和autoconf。
wget ftp://ftp.infradead.org/pub/ocserv/ocserv-0.8.0.tar.xz
tar xvf ocserv-0.8.0.tar.xz
cd ocserv-0.8.0
export LIBGNUTLS_CFLAGS="-I/opt/include/" LIBGNUTLS_LIBS="-L/opt/lib/ -lgnutls" LIBNL3_CFLAGS="-I/opt/include" LIBNL3_LIBS="-L/opt/lib/ -lnl-3 -lnl-route-3"
./configure --prefix=/opt/
make && make install
当我运行certtool --generate-privkey --outfile ca-key.pem
时,遇到以下错误:
[root@arx ~]# certtool --generate-privkey --outfile ca-key.pem
certtool: relocation error: certtool: symbol gnutls_srp_3072_group_prime, version GNUTLS_3_0_0 not defined in file libgnutls.so.28 with link time reference
[root@arx ~]#
如何解决错误?
感谢。
PS:我的linux vps中的操作系统是centos 7.在centos 6中,我没有遇到上述错误。