В инсталяционном пакете идут скрипты.
build-ca
build-dh
build-inter
build-key
build-key-pass
build-key-pkcs12
build-key-server
build-req
build-req-pass
clean-all
inherit-inter
list-crl
Makefile
openssl-0.9.6.cnf
openssl.cnf
pkitool
README
revoke-full
sign-req
vars
whichopensslcnf
Для всех действий права рута не нужны.
Скопируйте скрипты в какой-то рабочий каталог.
отредактируйте файл vars
установите дату истечения сертификатов имя организации емейл
export KEY_SIZE=2048
export CA_EXPIRE=3650
export KEY_EXPIRE=3650
export KEY_COUNTRY="DE"
export KEY_PROVINCE="none"
export KEY_CITY="Berlin"
export KEY_ORG="vpn01 v.p.n.."
export KEY_EMAIL="vpn01@gate1.common.vpn"
выйдите в чистый shell
запустите
. vars
после этого не выходя из шела запускайте по очереди.
./build-ca ${NAME}
./build-dh
./build-key-server ${NAME}-server
"${OPENVPN}" --genkey --secret "./keys/${NAME}-ta.key"
И потом для каждого клиента
./build-key ${NAME}-client${i}
Где OPENVPN=`which openvpn`
NAME="vpn01.gw01.common.vpn" - общая часть имени ключей
i - номер клиента
Далее вы получите файлы.
ca.crt - клиентам и серверу (публичный)
ca.key - только на машине которая подписывает (не храните на сервере!!!)
ta.key - для клиентов и для сервера (секретный)
dh2048.pem - (для сервера)
vpn01.gw01.common.vpn.server.crt - для сервера (публичный)
vpn01.gw01.common.vpn.server.key - для сервера (секретный)
vpn01.gw01.common.vpn.client1.crt - для клиента (публичный)
vpn01.gw01.common.vpn.client1.key - для клиента (секретный)
Весь каталог со скриптами включая созданную папку (keys) сохраните в секретное место и удалите с сервера.
Если понадобится догенерировать или отозвать сертификаты.