__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
#!/bin/sh # # Run this script to set up a test CA, and test key-certificate pair for a # server, and various clients. # # Copyright (C) 2014-2024 Steffan Karger <[email protected]> set -eu command -v openssl >/dev/null 2>&1 || { echo >&2 "Unable to find openssl. Please make sure openssl is installed and in your path."; exit 1; } if [ ! -f openssl.cnf ] then echo "Please run this script from the sample directory" exit 1 fi # Generate static key for tls-auth (or static key mode) top_builddir="${top_builddir:-$(dirname ${0})/../..}" ${top_builddir}/src/openvpn/openvpn --genkey tls-auth ta.key # Create required directories and files mkdir -p sample-ca rm -f sample-ca/index.txt touch sample-ca/index.txt echo "01" > sample-ca/serial # Generate CA key and cert openssl req -new -newkey rsa:4096 -days 3650 -nodes -x509 \ -extensions easyrsa_ca -keyout sample-ca/ca.key -out sample-ca/ca.crt \ -subj "/C=KG/ST=NA/L=BISHKEK/O=OpenVPN-TEST/[email protected]" \ -config openssl.cnf # Create server key and cert openssl req -new -nodes -config openssl.cnf -extensions server \ -keyout sample-ca/server.key -out sample-ca/server.csr \ -subj "/C=KG/ST=NA/O=OpenVPN-TEST/CN=Test-Server/[email protected]" openssl ca -batch -config openssl.cnf -extensions server \ -out sample-ca/server.crt -in sample-ca/server.csr # Create client key and cert openssl req -new -nodes -config openssl.cnf \ -keyout sample-ca/client.key -out sample-ca/client.csr \ -subj "/C=KG/ST=NA/O=OpenVPN-TEST/CN=Test-Client/[email protected]" openssl ca -batch -config openssl.cnf \ -out sample-ca/client.crt -in sample-ca/client.csr # Create password protected key file openssl rsa -aes256 -passout pass:password \ -in sample-ca/client.key -out sample-ca/client-pass.key # Create pkcs#12 client bundle openssl pkcs12 -export -nodes -password pass:password \ -out sample-ca/client.p12 -inkey sample-ca/client.key \ -in sample-ca/client.crt -certfile sample-ca/ca.crt # Create a client cert, revoke it, generate CRL openssl req -new -nodes -config openssl.cnf \ -keyout sample-ca/client-revoked.key -out sample-ca/client-revoked.csr \ -subj "/C=KG/ST=NA/O=OpenVPN-TEST/CN=client-revoked/[email protected]" openssl ca -batch -config openssl.cnf \ -out sample-ca/client-revoked.crt -in sample-ca/client-revoked.csr openssl ca -config openssl.cnf -revoke sample-ca/client-revoked.crt openssl ca -config openssl.cnf -gencrl -out sample-ca/ca.crl # Create DSA server and client cert (signed by 'regular' RSA CA) openssl dsaparam -out sample-ca/dsaparams.pem 2048 openssl req -new -newkey dsa:sample-ca/dsaparams.pem -nodes -config openssl.cnf \ -extensions server \ -keyout sample-ca/server-dsa.key -out sample-ca/server-dsa.csr \ -subj "/C=KG/ST=NA/O=OpenVPN-TEST/CN=Test-Server-DSA/[email protected]" openssl ca -batch -config openssl.cnf -extensions server \ -out sample-ca/server-dsa.crt -in sample-ca/server-dsa.csr openssl req -new -newkey dsa:sample-ca/dsaparams.pem -nodes -config openssl.cnf \ -keyout sample-ca/client-dsa.key -out sample-ca/client-dsa.csr \ -subj "/C=KG/ST=NA/O=OpenVPN-TEST/CN=Test-Client-DSA/[email protected]" openssl ca -batch -config openssl.cnf \ -out sample-ca/client-dsa.crt -in sample-ca/client-dsa.csr # Create EC server and client cert (signed by 'regular' RSA CA) openssl ecparam -out sample-ca/secp256k1.pem -name secp256k1 openssl req -new -newkey ec:sample-ca/secp256k1.pem -nodes -config openssl.cnf \ -extensions server \ -keyout sample-ca/server-ec.key -out sample-ca/server-ec.csr \ -subj "/C=KG/ST=NA/O=OpenVPN-TEST/CN=Test-Server-EC/[email protected]" openssl ca -batch -config openssl.cnf -extensions server \ -out sample-ca/server-ec.crt -in sample-ca/server-ec.csr openssl req -new -newkey ec:sample-ca/secp256k1.pem -nodes -config openssl.cnf \ -keyout sample-ca/client-ec.key -out sample-ca/client-ec.csr \ -subj "/C=KG/ST=NA/O=OpenVPN-TEST/CN=Test-Client-EC/[email protected]" openssl ca -batch -config openssl.cnf \ -out sample-ca/client-ec.crt -in sample-ca/client-ec.csr # Generate DH parameters openssl dhparam -out dh2048.pem 2048 # Copy keys and certs to working directory cp sample-ca/*.key . cp sample-ca/*.crt . cp sample-ca/*.p12 . cp sample-ca/*.crl .
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| README | File | 737 B | 0644 |
|
| ca.crt | File | 2.17 KB | 0644 |
|
| ca.key | File | 3.2 KB | 0644 |
|
| client-ec.crt | File | 4.73 KB | 0644 |
|
| client-ec.key | File | 237 B | 0644 |
|
| client-pass.key | File | 1.83 KB | 0644 |
|
| client.crt | File | 5.84 KB | 0644 |
|
| client.key | File | 1.66 KB | 0644 |
|
| client.p12 | File | 4.6 KB | 0644 |
|
| dh2048.pem | File | 424 B | 0644 |
|
| gen-sample-keys.sh | File | 4.33 KB | 0755 |
|
| openssl.cnf | File | 4.21 KB | 0644 |
|
| server-ec.crt | File | 5.18 KB | 0644 |
|
| server-ec.key | File | 237 B | 0644 |
|
| server.crt | File | 6.29 KB | 0644 |
|
| server.key | File | 1.67 KB | 0644 |
|
| ta.key | File | 636 B | 0644 |
|