On Thu, Aug 24, 2017 at 08:15:25PM +0200, Kosa Attila wrote:
> On Thu, Aug 24, 2017 at 06:00:19PM +0200, Szima Gábor wrote:
> >
> > Tudtok ajánlani egy jó step-by-step leírást OpenVPN cert hosszabbításról?
> > Gugliztam párat, de eddig mindegyik javaslat hibára futott
> > (SSL3_GET_SERVER_CERTIFICATE:certificate verify failed).
> >
> > A lényeg: lassacskán lejáró szerver/kliens cert-eket szeretném megújítani.
>
> http://kosaek.hu/halozat.pdf
Rajottem, hogy nehany dologban valtoztattam azota :) Itt vannak a
parancsok:
openssl req -set_serial 00 -passout "pass:CA_jelszo" -x509 -config CA.cnf
-newkey rsa:4096 -sha256 -days 3650 -out ca.crt -outform PEM
touch index.txt
echo 01 > serial.txt
openssl req -config server.cnf -newkey rsa:2048 -sha256 -nodes -keyout
servercert.key -out servercert.csr -outform PEM
openssl ca -passin "pass:CA_jelszo" -config CA.cnf -policy signing_policy
-extensions signing_req -out servercert.crt -infiles servercert.csr
openssl rsa -in servercert.key -out servercert.key.nopass
openssl req -nodes -newkey rsa:2048 -sha256 -config vpn-kliens-001 -keyout
vpn-kliens-001.key -out vpn-kliens-001.csr -outform PEM
openssl ca -passin "pass:CA_jelszo" -config CA.cnf -policy signing_policy
-extensions signing_req -days 365 -out vpn-kliens-001.crt -infiles
vpn-kliens-001.csr
openssl rsa -in vpn-kliens-001.key -out vpn-kliens-001.key.nopass
openvpn --genkey --secret ta.key
openssl dhparam -out dh2048.pem 2048
A CA.cnf fajl:
####################################################################
HOME = .
RANDFILE = $ENV::HOME/.rnd
####################################################################
[ ca ]
default_ca = CA_default # The default ca section
[ CA_default ]
default_days = 365 # how long to certify for
default_crl_days = 30 # how long before next CRL
default_md = sha256 # use public key default MD
preserve = no # keep passed DN ordering
x509_extensions = ca_extensions # The extensions to add to the
cert
email_in_dn = no # Don't concat the email in the
DN
copy_extensions = copy # Required to copy SANs from
CSR to cert
base_dir = .
certificate = $base_dir/ca.crt # The CA certifcate
private_key = $base_dir/ca.key # The CA private key
new_certs_dir = $base_dir # Location for new
certs after signing
database = $base_dir/index.txt # Database index file
serial = $base_dir/serial.txt # The current serial
number
unique_subject = no # Set to 'no' to allow
creation of
# several certificates with
same subject.
####################################################################
[ req ]
default_bits = 4096
default_keyfile = ca.key
distinguished_name = ca_distinguished_name
x509_extensions = ca_extensions
string_mask = utf8only
####################################################################
[ ca_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = HU
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Megye
localityName = Locality Name (eg, city)
localityName_default = Varosnev
organizationName = Organization Name (eg, company)
organizationName_default = Cegnev Kft.
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_default = Cegnev Kft. CA
emailAddress = Email Address
emailAddress_default = [email protected]
####################################################################
[ ca_extensions ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always, issuer
basicConstraints = critical, CA:true
keyUsage = keyCertSign, cRLSign
####################################################################
[ signing_policy ]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
####################################################################
[ signing_req ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer
basicConstraints = CA:FALSE
#keyUsage = nonRepudiation, digitalSignature,
keyEncipherment
####################################################################
A server.cnf fajl:
####################################################################
HOME = .
RANDFILE = $ENV::HOME/.rnd
####################################################################
[ req ]
default_bits = 2048
distinguished_name = server_distinguished_name
req_extensions = server_req_extensions
string_mask = utf8only
prompt = no
####################################################################
[ server_distinguished_name ]
countryName = HU
stateOrProvinceName = Megye
localityName = Varosnev
organizationName = Cegnev Kft.
commonName = openvpn.cegnev.hu
emailAddress = [email protected]
####################################################################
[ server_req_extensions ]
subjectKeyIdentifier = hash
basicConstraints = CA:FALSE
keyUsage = critical, digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth, clientAuth
subjectAltName = @alternate_names
nsCertType = server, client, email
nsComment = "OpenSSL Generated Certificate"
####################################################################
[ alternate_names ]
DNS.1 = alias1.cegnev.hu
DNS.2 = alias2.cegnev.hu
DNS.3 = alias3.cegnev.hu
####################################################################
A vpn-kliens-001 fajl:
####################################################################
HOME = .
RANDFILE = $ENV::HOME/.rnd
####################################################################
[ req ]
default_bits = 2048
distinguished_name = client_distinguished_name
req_extensions = client_req_extensions
string_mask = utf8only
prompt = no
####################################################################
[ client_distinguished_name ]
countryName = HU
stateOrProvinceName = Megye
localityName = Varosnev
organizationName = Cegnev Kft.
commonName = vpn-kliens-001
emailAddress = [email protected]
####################################################################
[ client_req_extensions ]
subjectKeyIdentifier = hash
basicConstraints = CA:FALSE
extendedKeyUsage = clientAuth
keyUsage = digitalSignature, keyEncipherment
nsCertType = client, email
nsComment = "OpenSSL Generated Certificate"
####################################################################
A letrejovo fajlok kozul a kovetkezokre van szukseg, a tobbit
torolheted:
- CA.cnf
- ca.crt
- ca.key
- index.txt
- serial.txt
- servercert.crt
- servercert.key.nopass
- server.cnf
- vpn-kliens-001
- vpn-kliens-001.crt
- vpn-kliens-001.key.nopass
Az openvpn server.conf fajlba ezek az opciok kellenek (a
tanusitvanyok hasznalatahoz):
ca ca.crt
cert servercert.crt
key servercert.key.nopass
dh dh2048.pem
tls-auth ta.key 0
Az openvpn kliens konfiguracios fajljaba ezek az opciok kellenek
(a tanusitvanyok hasznalatahoz):
ca ca.crt
cert vpn-kliens-001.crt
key vpn-kliens-001.key.nopass
tls-auth ta.key 1
ns-cert-type server
--
Udvozlettel
Zsiga
_________________________________________________
linux lista - [email protected]
http://mlf.linux.rulez.org/mailman/listinfo/linux