воскресенье, 2 декабря 2007 г.

Скрипты для создания SSL сертификатов Под Openvpn сервер

Для сервера
-------------------------------------------------------------------------------------------------------
#!/bin/sh
#cp /etc/ssl/openssl2.cnf ./openssl.cnf
vim openssl.cnf
touch serial
echo 01 > serial
mkdir crl newcerts private
touch index
echo -n "введите имя хоста(Имя сгенерированного сертификата) "
read HOST
echo -n "введите имя сервера(Имя Linux компьютера) "
read MOST
export MOST="$MOST"
openssl req -new -nodes -config openssl.cnf -x509 -keyout private/ca-key.pem -out ca-cert.pem -days 3650
openssl genrsa -out $HOST.key
openssl req -new -nodes -config openssl.cnf -key $HOST.key -out $HOST.csr
openssl ca -batch -config openssl.cnf -in $HOST.csr -out $HOST.cert
openvpn --genkey --secret ta.key
openssl dhparam -out dh1024.pem 1024
mkdir $HOST
cp $HOST.* $HOST
cp ca-cert.pem $HOST
cp ta.key $HOST
cp dh1024.pem $HOST
rm $HOST.*


--------------------------------------------------
Для клиента
--------------------------------------------------
#!/bin/sh
#cp /etc/ssl/openssl2.cnf ./openssl.cnf
#vim openssl.cnf
echo Сколько сертификатов делать?
read CEND
SU=1
MOST=0
#export MOST="$MOST"
mkdir ./client-sert
while test $MOST -lt $CEND
do
MOST=$SU
export MOST="$MOST"
openssl genrsa -out client_$MOST.key
openssl req -new -nodes -config openssl.cnf -key client_$MOST.key -out client_$MOST.csr
openssl ca -batch -config openssl.cnf -in client_$MOST.csr -out client_$MOST.cert
mkdir ./client-sert/$MOST
mv ./client_$MOST.* ./client-sert/$MOST
cp ./dh1024.pem ./client-sert/$MOST
cp ./ta.key ./client-sert/$MOST
cp ./ca-cert.pem ./client-sert/$MOST
let SU=$MOST+1
done
echo Всё готово

-----------------------------------------------------------------------------------------------------------------------
Необходимо немного отредактировать файл openssl.cnf
В моём пакете используется уже отредактированный и адоптированный файл конфигурации.

Комментариев нет: