shenanigansf

This commit is contained in:
Vasco
2026-04-21 18:09:25 +01:00
parent 1643c542b1
commit c0855251fe
37 changed files with 752 additions and 190 deletions

33
VM_CONFIG.sh Normal file → Executable file
View File

@@ -1,18 +1,25 @@
#!/bin/bash #!/bin/bash
# NOTA(vasco): vamos ter q fazer isto mil vezes # NOTA(vasco): feito para correr como root
sudo yum install -y epel-release if [[ "$USER" != "root" ]]; then
sudo yum install -y openvpn iptables-services echo "corre o script como root"
sudo systemctl stop firewalld exit 1
sudo systemctl disable firewalld fi
sudo systemctl mask firewalld
sudo systemctl enable iptables yum install -y epel-release
sudo iptables -F yum install -y openvpn iptables-services
systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld
systemctl enable iptables
iptables -F
CA_DIR="/etc/pki/CA" CA_DIR="/etc/pki/CA"
sudo mkdir -p "${CA_DIR}/newcerts" mkdir -p "${CA_DIR}/newcerts"
sudo touch "${CA_DIR}/serial" mkdir -p "${CA_DIR}/private"
sudo cp ca.crt $CA_DIR touch "${CA_DIR}/index.txt"
echo 01 > "${CA_DIR}/serial"
cp ca.crt $CA_DIR
sudo mkdir -p /etc/openvpn/server mkdir -p /etc/openvpn/server
sudo mkdir -p /etc/openvpn/client mkdir -p /etc/openvpn/client

View File

@@ -7,5 +7,5 @@ source VM_CONFIG.sh
if_dentro="enp0s8" if_dentro="enp0s8"
ip_dentro="10.60.0.1" ip_dentro="10.60.0.1"
sudo ifconfig $if_dentro $ip_dentro netmask 255.255.255.0 ifconfig $if_dentro $ip_dentro netmask 255.255.255.0
cp openssl.cnf /etc/pki/tls/ cp openssl.cnf /etc/pki/tls/

View File

@@ -10,14 +10,10 @@ bash VM_CONFIG.sh
ifconfig enp0s8 193.136.212.10 netmask 255.255.255.0 ifconfig enp0s8 193.136.212.10 netmask 255.255.255.0
route add default gw 193.136.212.1 # default gateway LIKE A SHEEP route add default gw 193.136.212.1 # default gateway LIKE A SHEEP
# certificado # copiar tudo
[[ -e "user.key" ]] && echo "user.key ja criado" || sudo openssl genrsa -out user.key
[[ -e "user.csr" ]] && echo "user.csr ja criado" || sudo openssl req -new -key user.key -out user.csr
[[ -e "user.crt" ]] && echo "user.crt ja criado" || sudo openssl ca -in user.csr -cert ca.crt -keyfile ca.key -out user.crt
vpn_dir="/etc/openvpn/client/" vpn_dir="/etc/openvpn/client/"
sudo cp ca.crt $vpn_dir cp ca/ta.key $vpn_dir
sudo cp user.csr $vpn_dir cp ca/ca.crt $vpn_dir
sudo cp user.crt $vpn_dir cp ca/user.crt $vpn_dir
sudo cp client.conf $vpn_dir cp client.conf $vpn_dir
openvpn --config /etc/openvpn/client/client.conf openvpn --config "${vpn_dir}/client.conf"

View File

@@ -22,33 +22,30 @@ mega_tunel="tun0"
ip_mega_tunel="10.8.0.1/24" ip_mega_tunel="10.8.0.1/24"
# --- interfaces --- # # --- interfaces --- #
sudo ifconfig $if_fora $ip_fora netmask 255.255.255.0 ifconfig $if_fora $ip_fora netmask 255.255.255.0
sudo ifconfig $if_dentro $ip_dentro netmask 255.255.255.0 ifconfig $if_dentro $ip_dentro netmask 255.255.255.0
# --- ip forwarding --- # # --- ip forwarding --- #
sudo echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf sysctl -p /etc/sysctl.conf
# --- nat forwardin de vpn para clientes --- # # --- nat forwardin de vpn para clientes --- #
sudo iptables -A INPUT -p udp --dport 1194 -j ACCEPT # :O iptables -A INPUT -p udp --dport 1194 -j ACCEPT # :O
sudo iptables -A FORWARD -i $mega_tunel -o $if_dentro -j ACCEPT # :P iptables -A FORWARD -i $mega_tunel -o $if_dentro -j ACCEPT # :P
sudo iptables -A FORWARD -i $if_dentro -o $mega_tunel -j ACCEPT # ;) iptables -A FORWARD -i $if_dentro -o $mega_tunel -j ACCEPT # ;)
sudo iptables -t nat -A POSTROUTING -s $ip_mega_tunel -o $if_fora -j MASQUERADE # :D iptables -A FORWARD -i $mega_tunel -o $if_fora -j ACCEPT # faltava isto ?
sudo iptables-save > /etc/sysconfig/iptables # :3 iptables -A FORWARD -i $if_fora -m state --state ESTABLISHED,RELATED -j ACCEPT # faltava isto ?
iptables -t nat -A POSTROUTING -s $ip_mega_tunel -o $if_fora -j MASQUERADE # :D
# criar certs iptables-save > /etc/sysconfig/iptables # :3
[[ -e "vpn.csr" ]] && echo "vpn.csr ja criado" || sudo openssl req -new -key vpn.key -out vpn.csr
[[ -e "vpn.crt" ]] && echo "vpn.crt ja criado" || sudo openssl ca -in vpn.csr -cert ca.crt -keyfile ca.key -out vpn.crt
[[ -e "dh2048.pem" ]] && echo "dh2048 ja foi criado" || openssl dhparam -out dh2048.pem 2048
# servidor
vpn_dir="/etc/openvpn/server" vpn_dir="/etc/openvpn/server"
sudo cp vpn.key $vpn_dir cp ca/ta.key $vpn_dir
sudo cp vpn.conf $vpn_dir cp ca/ca.crt $vpn_dir
sudo cp vpn.csr $vpn_dir cp ca/user.crt $vpn_dir
sudo cp vpn.crt $vpn_dir cp vpn.conf $vpn_dir
sudo cp dh2048.pem $vpn_dir openvpn --config "${vpn_dir}/vpn.conf"
sudo openvpn --config "$vpn_dir/vpn.conf"
# NOTA(vasco): o ficheiro conf vai ser vpn.conf pq isso é o nome do serviço # NOTA(vasco): o ficheiro conf vai ser vpn.conf pq isso é o nome do serviço
# o serviço nao funciona ???? # o serviço nao funciona ????
# sudo systemctl enable --now openvpn-server@vpn.service # systemctl enable --now openvpn-server@vpn.service

38
ca.crt
View File

@@ -1,21 +1,21 @@
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIIDaTCCAlGgAwIBAgIUD2JnuJYQPRP/h3PPf1FsiNHLUekwDQYJKoZIhvcNAQEL MIIDhzCCAm+gAwIBAgIUIJ7vLVpspdrCt0ZGary7IZ9A04AwDQYJKoZIhvcNAQEL
BQAwXTELMAkGA1UEBhMCUFQxEDAOBgNVBAgMB0NvaW1icmExETAPBgNVBAcMCENv BQAwUzELMAkGA1UEBhMCUFQxEDAOBgNVBAgMB0NvaW1icmExEDAOBgNVBAcMB0Nv
aW1icmFhMQswCQYDVQQKDAJVQzEOMAwGA1UECwwFRkNUVUMxDDAKBgNVBAMMA1ZQ aW1icmExCzAJBgNVBAoMAlVDMRMwEQYDVQQDDApDb2ltYnJhVlBOMB4XDTI2MDQy
TjAeFw0yNjA0MjAxMTAzMDhaFw0yNzA0MjAxMTAzMDhaMF0xCzAJBgNVBAYTAlBU MTE2NDQzM1oXDTI3MDQyMTE2NDQzM1owUzELMAkGA1UEBhMCUFQxEDAOBgNVBAgM
MRAwDgYDVQQIDAdDb2ltYnJhMREwDwYDVQQHDAhDb2ltYnJhYTELMAkGA1UECgwC B0NvaW1icmExEDAOBgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVDMRMwEQYDVQQD
VUMxDjAMBgNVBAsMBUZDVFVDMQwwCgYDVQQDDANWUE4wggEiMA0GCSqGSIb3DQEB DApDb2ltYnJhVlBOMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzPJP
AQUAA4IBDwAwggEKAoIBAQDaDICRTLW69RpumTHY6kBy6Ip4QPzoB+nCbvFEYtM2 agkW/HrzLO5+G6ZKpX2Skz0tflpFtVAaihRrPEXwWMKKIShElNvskDT50OOIYY2Z
mdgmn0e1PLg1FwosL0h8BxOyWApGlbqYKV0dBt+rC7IF3gKrLNTNCadjk7+zualG gGRUlVZJN2OiM5aJbvlxooAa/xER8y2pU/dgZN8ibllVYT6gd9yzEfdjUs7/y/aa
6wvEK1H7Rteo0/Y5DF24/V+GihEUzktu8K9pPcBXsl8LlIodxVe8P2R02Tubgp/i DFPSBtrmVveCF3J7tu3H977dAc8u78+MoD5OHzu7Ko8FM5ZyMYoERxyB4H+nUKJO
mKKHvER6y7FPc0UNkqqTWYhqa8KLpuNqZvDJnNUM3oJF1do9JlnjNJZcI63nb+6K lXDIo3FZDmYfPbmmqoYfCYCiRIgyjXR+/WFL7vFrylrd39Ntt6JF9PixsMkv1beu
bvZjj9tqRbdbqE3A7NTDg7agTt298UGER7N4kzKGPzdYO8orKKp8fbkrcwRO98gb IBkE38m72Am9vW5ljlu7kMmUKFKZEuuHV/uqFINqXS7NJpU89eWde9NdS446NLVG
lib4gVEdsY3JBCQLs6QtwW+ehwhVVIqHQMOJuLENM+a5AgMBAAGjITAfMB0GA1Ud PL2A04Er7c/h/qM8gwIDAQABo1MwUTAdBgNVHQ4EFgQUCJPlxX9Lb9ZQGLq4CaXS
DgQWBBRbBGnllBjk6IPuPY16Xr+4surKuzANBgkqhkiG9w0BAQsFAAOCAQEAGP5/ UQV6OuswHwYDVR0jBBgwFoAUCJPlxX9Lb9ZQGLq4CaXSUQV6OuswDwYDVR0TAQH/
rS39yY/rs3yc6KE0ag9gIN2YU34nTNps3MUlGJ5/E6mMBLdlNh5EKIn+Df81wNhG BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAWvgP1qEwL+z42xis/qjzWrIX2vAF
qETLw/1VScZiZK6waH2svDPPKk76e/4oY6JF+xCnOayOIBwYgYvUqrG1I0KjTmEO +NR/d34EzLM5NThARgymMcEfHi+Ozadl0dwp5IyLR/rm2beROeLYal9lpadpNvT1
Qg0AlZg84pkyLRzd2vN/opzSz/r6hQJgQQ/kwbiJxX3dpwRwrees4OO18LN31l1Y eOV8Ck8VtA7a16N5S8sawB8dtkVtfiP/Z6125nTl7aLO1xyQsdbK6XWNLE1GT9I+
Gsna3u6IWLWouc4Q60i6AptW9pzCPI0op7UlZyqezLI/osG9jv4RSr8aq0reH0Zs RewJRLtDYJ77se/HSW48tcFL3KsjhALCq6iV0MlmMgLoIrefkClb7hG2Hz9D70Pd
TWso/PMtltVgLuTLqE5oU+GW/3r0H2LA0q6qsLHCSbQRHcwNdU2UbuFzXKqn5vgv 7OY79v0rNerDYQpuzTucIBDjKsHYw3597kxeO376AuO0M49gA2jIzjrHJGOjAirG
5tjt5x4YgUgGSth7Qg== PnsDmFjgftwA69kvKjSPuw2feSr0/jNOnKF1LD02M5VMQ3zL6lexP+reOA==
-----END CERTIFICATE----- -----END CERTIFICATE-----

17
ca.csr
View File

@@ -1,17 +0,0 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICojCCAYoCAQAwXTELMAkGA1UEBhMCUFQxEDAOBgNVBAgMB0NvaW1icmExETAP
BgNVBAcMCENvaW1icmFhMQswCQYDVQQKDAJVQzEOMAwGA1UECwwFRkNUVUMxDDAK
BgNVBAMMA1ZQTjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANoMgJFM
tbr1Gm6ZMdjqQHLoinhA/OgH6cJu8URi0zaZ2CafR7U8uDUXCiwvSHwHE7JYCkaV
upgpXR0G36sLsgXeAqss1M0Jp2OTv7O5qUbrC8QrUftG16jT9jkMXbj9X4aKERTO
S27wr2k9wFeyXwuUih3FV7w/ZHTZO5uCn+KYooe8RHrLsU9zRQ2SqpNZiGprwoum
42pm8Mmc1QzegkXV2j0mWeM0llwjredv7opu9mOP22pFt1uoTcDs1MODtqBO3b3x
QYRHs3iTMoY/N1g7yisoqnx9uStzBE73yBuWJviBUR2xjckEJAuzpC3Bb56HCFVU
iodAw4m4sQ0z5rkCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQARfdJpU+K1v7rR
IOPfHUq4BWApbhrv7bqwykK+YgyWzmEzNSp7jq91Wa4GnokbHruGsp+M0h3C/5fw
EhZakFDwykThVbxRk+iuPp7MpXPKMPGvFVzxIrD9xk7KSBUnhx0+dhwu5r0U+Uqh
A5HP44nUHjnIWQ+nah9IA4Z4ldks6bvl6rBrZf1znLLq/kZSb6bSsg9zLFJyJzeH
v5amC2OKPqREqeKzNQJhUNMAU360zDi8sf+dvDDtcwaevk71g/SEcZbJbw1KMR6g
orORkT5uSi97mTJ8+hZMw+0hNyqBG/Zflq6aMzm97RlBGHBhFL/5ITpYx+S7vcQC
EehlTcbM
-----END CERTIFICATE REQUEST-----

52
ca.key
View File

@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY----- -----BEGIN PRIVATE KEY-----
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
Kcr3D6K2flqH6rmEX3KKLMA= QnMabRCqnfZCbIwYjTkT9RoU
-----END PRIVATE KEY----- -----END PRIVATE KEY-----

74
ca/1000.pem Normal file
View File

@@ -0,0 +1,74 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 4096 (0x1000)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=PT, ST=Coimbra, L=Coimbra, O=UC, CN=CoimbraVPN
Validity
Not Before: Apr 21 16:57:47 2026 GMT
Not After : Apr 21 16:57:47 2027 GMT
Subject: CN=gateway
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:ad:da:52:8d:65:c2:8d:68:5a:32:e2:f3:7e:7e:
cd:13:9e:fc:51:72:f1:80:4c:61:fb:38:b4:87:9a:
57:92:27:5b:ff:86:1f:95:f6:4b:ec:7c:7e:2f:b9:
37:36:17:18:b2:db:16:0c:91:f2:d5:f5:4d:49:e8:
3b:b8:0a:1f:8f:e9:f6:16:7a:15:22:7a:4c:f3:6d:
c2:b1:76:f2:2a:81:4e:56:a6:01:16:16:b5:e5:68:
74:3b:15:35:f2:88:78:e6:f9:7b:1e:5c:d4:b3:f6:
d1:43:13:1d:8e:82:90:38:2d:43:88:7c:35:cc:c1:
7c:6d:8e:ed:21:5a:9a:31:0e:5f:3d:dc:7c:5e:46:
1d:f0:46:41:86:70:48:a2:a9:62:4d:ba:14:d3:5b:
67:25:bf:d9:46:e6:d7:59:26:99:e2:e0:25:16:a0:
1b:cd:d1:81:ca:75:d7:d6:bd:c5:7b:25:4b:e9:58:
d2:22:f6:b1:bb:b2:5e:7d:67:9f:fd:1d:44:b4:b5:
d2:b6:ca:9e:e7:53:81:a0:4b:bf:b6:0a:61:e6:ba:
a0:e2:0a:a4:bb:21:16:90:36:c7:95:96:ae:9b:23:
e0:06:47:36:24:0b:ec:23:3d:e0:8c:42:b8:aa:9e:
38:92:18:d7:6f:19:42:76:fd:0f:42:75:46:e6:86:
e6:75
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
9F:68:08:83:F5:DC:C3:11:2B:69:5D:A4:81:EF:DE:7B:7D:6E:AE:3A
X509v3 Authority Key Identifier:
E9:2F:00:A5:42:63:B5:C8:31:7B:FE:46:45:49:02:A8:55:DF:04:C6
Signature Algorithm: sha256WithRSAEncryption
Signature Value:
13:0b:5e:3c:0c:dd:e8:e1:04:12:bb:c6:98:e1:52:72:12:b4:
8f:46:f0:5a:48:b6:f1:69:d3:65:e5:1e:ef:ed:03:fe:9f:ee:
0f:bc:72:ad:cd:52:b5:18:ca:9c:c0:1c:f1:48:80:64:b6:90:
33:12:fb:18:4b:e1:a7:c9:0b:1e:16:e5:72:4a:e1:f9:b6:e3:
5d:b9:06:2d:ed:cc:d7:ee:7d:8c:22:99:69:46:d3:88:64:19:
1e:3f:02:b7:37:2a:99:6b:ba:07:77:e8:f0:e5:50:41:51:94:
6e:87:d9:71:5c:47:ef:a9:2a:b5:cf:86:2a:98:a5:c9:bd:01:
04:f6:81:d3:81:d2:40:c6:83:29:42:2f:ad:d8:4c:ac:6c:df:
89:93:8c:bb:48:cb:dc:62:a4:55:ed:f7:c9:b6:01:41:48:20:
dd:9f:5f:fa:55:8b:d6:f4:0e:ee:00:63:53:11:19:5a:77:47:
0e:ec:4b:8d:08:8d:e2:51:3a:d6:97:ee:16:4c:0d:b3:ac:42:
e2:21:18:dd:c0:41:db:95:88:dd:18:cd:61:df:f3:c5:b0:12:
c4:4a:55:75:63:a4:69:44:38:2e:2e:3c:cf:51:6f:b8:36:25:
24:d2:56:4f:eb:a0:50:93:73:2e:a9:ed:a4:92:41:3b:73:20:
3f:57:e7:b2
-----BEGIN CERTIFICATE-----
MIIDIzCCAgugAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwUzELMAkGA1UEBhMCUFQx
EDAOBgNVBAgMB0NvaW1icmExEDAOBgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVD
MRMwEQYDVQQDDApDb2ltYnJhVlBOMB4XDTI2MDQyMTE2NTc0N1oXDTI3MDQyMTE2
NTc0N1owEjEQMA4GA1UEAwwHZ2F0ZXdheTCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAK3aUo1lwo1oWjLi835+zROe/FFy8YBMYfs4tIeaV5InW/+GH5X2
S+x8fi+5NzYXGLLbFgyR8tX1TUnoO7gKH4/p9hZ6FSJ6TPNtwrF28iqBTlamARYW
teVodDsVNfKIeOb5ex5c1LP20UMTHY6CkDgtQ4h8NczBfG2O7SFamjEOXz3cfF5G
HfBGQYZwSKKpYk26FNNbZyW/2Ubm11kmmeLgJRagG83Rgcp119a9xXslS+lY0iL2
sbuyXn1nn/0dRLS10rbKnudTgaBLv7YKYea6oOIKpLshFpA2x5WWrpsj4AZHNiQL
7CM94IxCuKqeOJIY128ZQnb9D0J1RuaG5nUCAwEAAaNCMEAwHQYDVR0OBBYEFJ9o
CIP13MMRK2ldpIHv3nt9bq46MB8GA1UdIwQYMBaAFOkvAKVCY7XIMXv+RkVJAqhV
3wTGMA0GCSqGSIb3DQEBCwUAA4IBAQATC148DN3o4QQSu8aY4VJyErSPRvBaSLbx
adNl5R7v7QP+n+4PvHKtzVK1GMqcwBzxSIBktpAzEvsYS+GnyQseFuVySuH5tuNd
uQYt7czX7n2MIplpRtOIZBkePwK3NyqZa7oHd+jw5VBBUZRuh9lxXEfvqSq1z4Yq
mKXJvQEE9oHTgdJAxoMpQi+t2EysbN+Jk4y7SMvcYqRV7ffJtgFBSCDdn1/6VYvW
9A7uAGNTERlad0cO7EuNCI3iUTrWl+4WTA2zrELiIRjdwEHblYjdGM1h3/PFsBLE
SlV1Y6RpRDguLjzPUW+4NiUk0lZP66BQk3Muqe2kkkE7cyA/V+ey
-----END CERTIFICATE-----

74
ca/1001.pem Normal file
View File

@@ -0,0 +1,74 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 4097 (0x1001)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=PT, ST=Coimbra, L=Coimbra, O=UC, CN=CoimbraVPN
Validity
Not Before: Apr 21 16:57:47 2026 GMT
Not After : Apr 21 16:57:47 2027 GMT
Subject: CN=warrior
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:9a:93:a0:1e:45:28:7b:b2:31:7c:06:99:40:ad:
93:54:ba:14:87:17:f5:23:49:28:85:00:66:7d:94:
83:79:b0:b9:d7:db:55:12:d0:90:f3:75:51:b8:8e:
58:47:8c:61:04:23:a1:e4:49:91:b1:99:72:e7:09:
24:ba:a1:5a:96:4e:b8:c3:c6:51:69:f7:de:15:97:
c4:1e:f2:ac:65:10:43:57:78:c4:0a:f8:9b:23:fa:
0d:c7:b3:82:90:46:0c:51:48:a4:15:bf:43:92:2c:
b8:ab:ee:b6:8d:17:a4:37:80:45:fe:ab:a6:1c:9c:
cf:73:5f:cb:4d:3c:f7:63:9a:49:d9:96:73:d2:ad:
0b:7d:ce:13:60:fd:c8:da:35:fd:18:e0:a6:ff:89:
ed:78:22:0f:b2:c8:eb:cb:dc:bd:d9:29:29:7d:e1:
54:80:83:8b:f1:6b:82:56:2a:1f:18:d0:f8:a5:3c:
84:79:ad:5b:cf:98:d0:a1:92:33:ca:5d:af:d3:1a:
04:20:51:e9:0a:81:63:61:12:72:d9:58:3f:dc:a5:
d5:26:7c:a2:7c:fe:67:d2:74:1d:95:22:25:52:02:
63:bd:0c:fc:10:1d:d6:77:67:5d:a4:48:3d:be:15:
93:27:b0:17:0d:d5:8e:53:e6:92:3c:76:16:0b:c2:
f1:4b
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
E5:2F:47:65:47:CE:9E:F4:AC:B3:F8:5C:29:34:92:1E:A8:2C:50:86
X509v3 Authority Key Identifier:
E9:2F:00:A5:42:63:B5:C8:31:7B:FE:46:45:49:02:A8:55:DF:04:C6
Signature Algorithm: sha256WithRSAEncryption
Signature Value:
73:66:cc:33:e4:34:e2:d5:fb:8c:3e:e9:b7:bb:aa:3f:41:bf:
9e:f8:db:6d:77:2a:d3:7a:88:69:7a:ee:e7:6c:71:91:a7:7e:
c7:6c:7c:c4:f7:cd:bf:eb:e0:b5:7f:2f:90:59:be:18:c8:72:
5d:4c:09:6a:5c:9d:5c:73:b0:53:0c:c0:08:fa:fc:d6:7c:bb:
cc:d6:39:b0:50:f2:58:73:f4:2b:d6:87:2b:e1:a5:fc:4e:fe:
4a:f3:8c:6e:94:47:54:c6:06:55:9e:16:06:2f:bd:df:c3:76:
e8:2b:19:eb:49:81:e2:6d:d1:53:2c:d0:18:2c:77:55:09:31:
90:73:c0:c8:78:79:89:c0:73:08:96:f0:27:04:8c:27:70:f6:
6f:a1:75:76:3b:4b:c1:0e:81:85:51:8d:25:23:69:ff:3c:b1:
3f:98:7a:5f:44:dd:75:77:31:f5:06:dd:34:1f:81:9a:53:3f:
78:9c:a3:5d:74:de:e5:7a:c6:34:39:9a:6c:ad:97:44:7b:93:
1b:02:ae:9b:66:5f:62:78:2f:37:20:bc:f1:8a:0a:e8:e6:66:
8d:0b:7a:d4:14:7c:8b:2e:6b:c7:34:2b:56:85:b5:91:9a:ee:
20:01:f8:3d:e7:22:6e:18:82:52:5c:71:a4:dc:88:4c:09:d8:
4b:33:1e:35
-----BEGIN CERTIFICATE-----
MIIDIzCCAgugAwIBAgICEAEwDQYJKoZIhvcNAQELBQAwUzELMAkGA1UEBhMCUFQx
EDAOBgNVBAgMB0NvaW1icmExEDAOBgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVD
MRMwEQYDVQQDDApDb2ltYnJhVlBOMB4XDTI2MDQyMTE2NTc0N1oXDTI3MDQyMTE2
NTc0N1owEjEQMA4GA1UEAwwHd2FycmlvcjCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAJqToB5FKHuyMXwGmUCtk1S6FIcX9SNJKIUAZn2Ug3mwudfbVRLQ
kPN1UbiOWEeMYQQjoeRJkbGZcucJJLqhWpZOuMPGUWn33hWXxB7yrGUQQ1d4xAr4
myP6DcezgpBGDFFIpBW/Q5IsuKvuto0XpDeARf6rphycz3Nfy00892OaSdmWc9Kt
C33OE2D9yNo1/Rjgpv+J7XgiD7LI68vcvdkpKX3hVICDi/FrglYqHxjQ+KU8hHmt
W8+Y0KGSM8pdr9MaBCBR6QqBY2ESctlYP9yl1SZ8onz+Z9J0HZUiJVICY70M/BAd
1ndnXaRIPb4VkyewFw3VjlPmkjx2FgvC8UsCAwEAAaNCMEAwHQYDVR0OBBYEFOUv
R2VHzp70rLP4XCk0kh6oLFCGMB8GA1UdIwQYMBaAFOkvAKVCY7XIMXv+RkVJAqhV
3wTGMA0GCSqGSIb3DQEBCwUAA4IBAQBzZswz5DTi1fuMPum3u6o/Qb+e+NttdyrT
eohpeu7nbHGRp37HbHzE982/6+C1fy+QWb4YyHJdTAlqXJ1cc7BTDMAI+vzWfLvM
1jmwUPJYc/Qr1ocr4aX8Tv5K84xulEdUxgZVnhYGL73fw3boKxnrSYHibdFTLNAY
LHdVCTGQc8DIeHmJwHMIlvAnBIwncPZvoXV2O0vBDoGFUY0lI2n/PLE/mHpfRN11
dzH1Bt00H4GaUz94nKNddN7lesY0OZpsrZdEe5MbAq6bZl9ieC83ILzxigro5maN
C3rUFHyLLmvHNCtWhbWRmu4gAfg95yJuGIJSXHGk3IhMCdhLMx41
-----END CERTIFICATE-----

21
ca/ca.crt Normal file
View File

@@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDhzCCAm+gAwIBAgIUCDx14n27QIkw70Uvg4zJQAXZvOcwDQYJKoZIhvcNAQEL
BQAwUzELMAkGA1UEBhMCUFQxEDAOBgNVBAgMB0NvaW1icmExEDAOBgNVBAcMB0Nv
aW1icmExCzAJBgNVBAoMAlVDMRMwEQYDVQQDDApDb2ltYnJhVlBOMB4XDTI2MDQy
MTE2NDk1MloXDTI3MDQyMTE2NDk1MlowUzELMAkGA1UEBhMCUFQxEDAOBgNVBAgM
B0NvaW1icmExEDAOBgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVDMRMwEQYDVQQD
DApDb2ltYnJhVlBOMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3Ssz
Rq3Gz8BQx5OEP/chMv3Y9xShkjW6YPXxP2Yn08MyDbBvPk1U2eI4MLtWiAgwqKFp
MhzbrCv+jstNdDd/3AK9k5VN06VjjGrboWQqX+W55Lb5CrT1CRifGbjL6A6CKbTh
fdY8jP9hh0w7SAvHkfUz0SbskpRPMeaKjj1gDme6ZT8jUNAYWHUxikTHdLGi0Rn5
h6SXW+/rrQmt+iTsM3eeW61JyC0/SUCixdCeu/amwy/aLMUZ4ZxUYL1doSAFYrd1
kn/1JJZt9VkRwPES7Tyst5bOGZmdfBVEyj+9V+GSzWFV+yNperLTmN/VBX+sm1NF
Szrtbv7z6tFCGETB3wIDAQABo1MwUTAdBgNVHQ4EFgQU6S8ApUJjtcgxe/5GRUkC
qFXfBMYwHwYDVR0jBBgwFoAU6S8ApUJjtcgxe/5GRUkCqFXfBMYwDwYDVR0TAQH/
BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAiH/bb7EogzVMiXInLKk+O8SxegZZ
t+rXZRsRqVh/jc0JxEabuAi4yM4Ibdhsbsk7LlKwM7JTh/6kwgvQdUgFRUgV7jTu
HGwPLUhKd1+zfHVzPu/0uJKnY5B9jqzPk1Xp7/T66BEV+Wi3VlOSzwmiz5arj+tn
jAPhdyAmQuXV6MEXT1Oj231JUoDmzgThbvP2MLPmSUy3nRfEY3zaAEoYhu6idK18
rRnY7ZdZabXaCZsFiMu10eW+iMx2grIeYWrGsqQoAOHI56TlVWUMHbIh1i7GgM/K
QvdpI8G7fh9k3BRePryN8+NN5T+cKOm9LCW0gW9rBjXnlaoqe0pfi2w9Jw==
-----END CERTIFICATE-----

28
ca/ca.key Normal file
View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDdKzNGrcbPwFDH
k4Q/9yEy/dj3FKGSNbpg9fE/ZifTwzINsG8+TVTZ4jgwu1aICDCooWkyHNusK/6O
y010N3/cAr2TlU3TpWOMatuhZCpf5bnktvkKtPUJGJ8ZuMvoDoIptOF91jyM/2GH
TDtIC8eR9TPRJuySlE8x5oqOPWAOZ7plPyNQ0BhYdTGKRMd0saLRGfmHpJdb7+ut
Ca36JOwzd55brUnILT9JQKLF0J679qbDL9osxRnhnFRgvV2hIAVit3WSf/Uklm31
WRHA8RLtPKy3ls4ZmZ18FUTKP71X4ZLNYVX7I2l6stOY39UFf6ybU0VLOu1u/vPq
0UIYRMHfAgMBAAECggEAN4tg7lA4TPakkurGXPYovVCpS6w/w6OAslcyBlUWjYVJ
LczwsznipHG+4OY7niBIcCFRdQdwV/YYkS4XvqctkkiR6d2mVRAFRz+S9x5b0ge0
vu8A7qJxo54uXtxdQWNbZzQJKXxDarm8eak4fiiPL2XgZJec9FcQ6JxYkc5yMEt/
KoAn07ICAyHGqbjQ/DUMazZ/ocdMOBSYgkO3gT24IqiDxVvXUNNtVZeqWS6T6pMV
yoh3SvACW3eo+v/pzhfMVg99Nfua8faBcTappraqgq9nFMNJUtt9A5aSfVLGFhbO
nzyxd8ES/M4E4fFFnMO4yrcUhVXSGGQyvQLSd9goMQKBgQDwzF22apc4gvCqAbD+
VRSpbi0DSsqfVO6czCZ+bfNRFl76IKXnpPHVhy+lW3/xrzHuw5SR9zqQluiG0MfZ
vENN6gHn2zyzYpEpMamOnUSoNuHeE58wVPweCSM0aH6wQb14NIsVLzhYY7b1gGH5
RAJ9kUIgtvMMbK+O9nYvCPclWQKBgQDrIZftt9vd/xyiG3HCK6q2x+7sjxXh04Jl
Pzu4t53SylcFaaZNNReDMC/xYQfZ/3xHbQ3+elS3LwQtlMxFAoeJkw9fX66gOQv7
Ru1LR6EDLkafOt1QPuL2jw7GbNcBuALWvC+RT8ZhHa/8RUi/xiJnMoJDEuImgAbl
ZQDS59Fh9wKBgGi/riB1W9UUeNarp6/rmPJfYCtndJ89FhOVZ0VmVQs4HRbX7vPG
uAC4LwzSseST3rfL0qxwjMRrMTm8RsO79tdE7ZFLuKscPKNb3DOSzFQUk8rEZGJl
BcuXE/5vWnUYE/DfgoUzpmIk9mjzcSs63456CvcqPq5v9SrOofiyALj5AoGASs/h
ey1os3WcMqfwxgsGwilTB8lu+O9HKde4tMkXWh4vGfXHiAFAfekzF+X7jY0QidlU
/ocFtVMsTSRu6fYoEcnMtlfHRAtimIy0q6Maw9xRdBBSolmf9TsHRHMU5eMaZCB0
MhPj1rqPaADTaNEt2Q/lClpTwlQx3YMJhBFmOXkCgYBk4uIk4fLx04C4UW+5NTps
sJSWwtp3k9yR2v/ptNEbYxhDm7FaL8muyJbASBIRPZH/5CRVfz5hi3ZcuvYxPZxI
d26ENrgY11r2lSij7MdbRVteq6mWt0oxbtPa+fuH+GhfzLS/zlSxOs4+NFHDy/kj
UdzYAqHOYM4ZWcwwN5Lnbw==
-----END PRIVATE KEY-----

11
ca/cheese.cfg Normal file
View File

@@ -0,0 +1,11 @@
[ ca ]
default_ca = CA_default
[ CA_default ]
default_days = 365
database = index.txt
serial = serial
new_certs_dir = .
default_md = sha256
policy = policy_any
[ policy_any ]
commonName = supplied

18
ca/create_all_keys.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/bash
cert_ca="/C=PT/ST=Coimbra/L=Coimbra/O=UC/CN=CoimbraVPN"
cert_vpn="/C=PT/ST=Coimbra/L=Coimbra/O=UC/CN=gateway"
cert_user="/C=PT/ST=Coimbra/L=Coimbra/O=UC/CN=warrior"
echo 1000 > serial
[[ -e "ca.key" ]] || openssl genrsa -out "ca.key" 2048
[[ -e "ca.crt" ]] || openssl req -x509 -nodes -days 365 -key "ca.key" -out "ca.crt" -subj "$cert_ca"
[[ -e "vpn.key" ]] || openssl genrsa -out "vpn.key" 2048
[[ -e "vpn.csr" ]] || openssl req -new -key "vpn.key" -out "vpn.csr" -subj "$cert_vpn"
[[ -e "vpn.crt" ]] || openssl ca -batch -in "vpn.csr" -cert "ca.crt" -keyfile "ca.key" -out "vpn.crt" -config cheese.cfg
[[ -e "dh2048.pem" ]] || openssl dhparam -out "dh2048.pem" 2048
[[ -e "ta.key" ]] || openvpn --genkey secret "ta.key"
[[ -e "user.key" ]] || openssl genrsa -out user.key
[[ -e "user.csr" ]] || openssl req -new -key user.key -out user.csr -subj "$cert_user"
[[ -e "user.crt" ]] || openssl ca -batch -in "user.csr" -cert "ca.crt" -keyfile "ca.key" -out "user.crt" -config cheese.cfg

8
ca/dh2048.pem Normal file
View File

@@ -0,0 +1,8 @@
-----BEGIN DH PARAMETERS-----
MIIBDAKCAQEAk7rlEA49t+X418jo+PDdouhvha7o5+P4A78GOAirULGZh2sfCWWw
ha90YswleinXvJF/DYR7H6SebcXoXnaJeR4PbB8b9cXUE5a2Bw/bc+tJpSGkuPLF
jHVUqTWehqVvwCFk2ixxA5RAG0ItPemK33fGppc9wlS3MmAPRFwCutsSh4+r96dq
ywKorzgS6WfsTCDTXUqfAwXT1ijtxoscklgB6YuVGyKsiyZLOCCVpBPEVq535dso
0IUJwOdf8Z6eYwnT3COI7zSJkmy5J16s05t07GWslkFcdUyM91CvvfJz/Jd/lAYO
Ge3b6KnJv8YUlLAfzdhIHxlk+dDobJGzRwIBAgICAOE=
-----END DH PARAMETERS-----

2
ca/index.txt Normal file
View File

@@ -0,0 +1,2 @@
V 270421165747Z 1000 unknown /CN=gateway
V 270421165747Z 1001 unknown /CN=warrior

1
ca/index.txt.attr Normal file
View File

@@ -0,0 +1 @@
unique_subject = yes

1
ca/index.txt.attr.old Normal file
View File

@@ -0,0 +1 @@
unique_subject = yes

1
ca/index.txt.old Normal file
View File

@@ -0,0 +1 @@
V 270421165747Z 1000 unknown /CN=gateway

1
ca/serial Normal file
View File

@@ -0,0 +1 @@
1002

1
ca/serial.old Normal file
View File

@@ -0,0 +1 @@
1001

21
ca/ta.key Normal file
View File

@@ -0,0 +1,21 @@
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
0acce6a0da9c806f74ffc03625c84d3b
a6120bbfeac829548c5287058179aae4
09a9738bc7e5d2d57a40cd34dcdfb816
c52586fa80f959eb31bb5d8d996aaac3
86fa565c11973811a316d7906cfd39a2
a4f0f34d8dd53c91cc7a95888970bab5
c9b39f8879dc2d9f142886a56dda120b
4ac2397f99a8584c03c5cf64cf96b8ba
8a22263975df4314d002f3d6c0e51a27
92cc8354e43d9981c4e59c6a6798eecf
4052a8ef6d946007b27fb0ee29ab7da1
7c0dcf85bfd5202f9b65b73212e2716c
d006a1daf0ab5db4c64f0496c08fbb72
673605654483a44f78b622183346eeb2
3f5ef0a6a02a33e3c1cf4703a9f449f6
e8b317d45bc93c4e98a054d014d0f667
-----END OpenVPN Static key V1-----

74
ca/user.crt Normal file
View File

@@ -0,0 +1,74 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 4097 (0x1001)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=PT, ST=Coimbra, L=Coimbra, O=UC, CN=CoimbraVPN
Validity
Not Before: Apr 21 16:57:47 2026 GMT
Not After : Apr 21 16:57:47 2027 GMT
Subject: CN=warrior
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:9a:93:a0:1e:45:28:7b:b2:31:7c:06:99:40:ad:
93:54:ba:14:87:17:f5:23:49:28:85:00:66:7d:94:
83:79:b0:b9:d7:db:55:12:d0:90:f3:75:51:b8:8e:
58:47:8c:61:04:23:a1:e4:49:91:b1:99:72:e7:09:
24:ba:a1:5a:96:4e:b8:c3:c6:51:69:f7:de:15:97:
c4:1e:f2:ac:65:10:43:57:78:c4:0a:f8:9b:23:fa:
0d:c7:b3:82:90:46:0c:51:48:a4:15:bf:43:92:2c:
b8:ab:ee:b6:8d:17:a4:37:80:45:fe:ab:a6:1c:9c:
cf:73:5f:cb:4d:3c:f7:63:9a:49:d9:96:73:d2:ad:
0b:7d:ce:13:60:fd:c8:da:35:fd:18:e0:a6:ff:89:
ed:78:22:0f:b2:c8:eb:cb:dc:bd:d9:29:29:7d:e1:
54:80:83:8b:f1:6b:82:56:2a:1f:18:d0:f8:a5:3c:
84:79:ad:5b:cf:98:d0:a1:92:33:ca:5d:af:d3:1a:
04:20:51:e9:0a:81:63:61:12:72:d9:58:3f:dc:a5:
d5:26:7c:a2:7c:fe:67:d2:74:1d:95:22:25:52:02:
63:bd:0c:fc:10:1d:d6:77:67:5d:a4:48:3d:be:15:
93:27:b0:17:0d:d5:8e:53:e6:92:3c:76:16:0b:c2:
f1:4b
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
E5:2F:47:65:47:CE:9E:F4:AC:B3:F8:5C:29:34:92:1E:A8:2C:50:86
X509v3 Authority Key Identifier:
E9:2F:00:A5:42:63:B5:C8:31:7B:FE:46:45:49:02:A8:55:DF:04:C6
Signature Algorithm: sha256WithRSAEncryption
Signature Value:
73:66:cc:33:e4:34:e2:d5:fb:8c:3e:e9:b7:bb:aa:3f:41:bf:
9e:f8:db:6d:77:2a:d3:7a:88:69:7a:ee:e7:6c:71:91:a7:7e:
c7:6c:7c:c4:f7:cd:bf:eb:e0:b5:7f:2f:90:59:be:18:c8:72:
5d:4c:09:6a:5c:9d:5c:73:b0:53:0c:c0:08:fa:fc:d6:7c:bb:
cc:d6:39:b0:50:f2:58:73:f4:2b:d6:87:2b:e1:a5:fc:4e:fe:
4a:f3:8c:6e:94:47:54:c6:06:55:9e:16:06:2f:bd:df:c3:76:
e8:2b:19:eb:49:81:e2:6d:d1:53:2c:d0:18:2c:77:55:09:31:
90:73:c0:c8:78:79:89:c0:73:08:96:f0:27:04:8c:27:70:f6:
6f:a1:75:76:3b:4b:c1:0e:81:85:51:8d:25:23:69:ff:3c:b1:
3f:98:7a:5f:44:dd:75:77:31:f5:06:dd:34:1f:81:9a:53:3f:
78:9c:a3:5d:74:de:e5:7a:c6:34:39:9a:6c:ad:97:44:7b:93:
1b:02:ae:9b:66:5f:62:78:2f:37:20:bc:f1:8a:0a:e8:e6:66:
8d:0b:7a:d4:14:7c:8b:2e:6b:c7:34:2b:56:85:b5:91:9a:ee:
20:01:f8:3d:e7:22:6e:18:82:52:5c:71:a4:dc:88:4c:09:d8:
4b:33:1e:35
-----BEGIN CERTIFICATE-----
MIIDIzCCAgugAwIBAgICEAEwDQYJKoZIhvcNAQELBQAwUzELMAkGA1UEBhMCUFQx
EDAOBgNVBAgMB0NvaW1icmExEDAOBgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVD
MRMwEQYDVQQDDApDb2ltYnJhVlBOMB4XDTI2MDQyMTE2NTc0N1oXDTI3MDQyMTE2
NTc0N1owEjEQMA4GA1UEAwwHd2FycmlvcjCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAJqToB5FKHuyMXwGmUCtk1S6FIcX9SNJKIUAZn2Ug3mwudfbVRLQ
kPN1UbiOWEeMYQQjoeRJkbGZcucJJLqhWpZOuMPGUWn33hWXxB7yrGUQQ1d4xAr4
myP6DcezgpBGDFFIpBW/Q5IsuKvuto0XpDeARf6rphycz3Nfy00892OaSdmWc9Kt
C33OE2D9yNo1/Rjgpv+J7XgiD7LI68vcvdkpKX3hVICDi/FrglYqHxjQ+KU8hHmt
W8+Y0KGSM8pdr9MaBCBR6QqBY2ESctlYP9yl1SZ8onz+Z9J0HZUiJVICY70M/BAd
1ndnXaRIPb4VkyewFw3VjlPmkjx2FgvC8UsCAwEAAaNCMEAwHQYDVR0OBBYEFOUv
R2VHzp70rLP4XCk0kh6oLFCGMB8GA1UdIwQYMBaAFOkvAKVCY7XIMXv+RkVJAqhV
3wTGMA0GCSqGSIb3DQEBCwUAA4IBAQBzZswz5DTi1fuMPum3u6o/Qb+e+NttdyrT
eohpeu7nbHGRp37HbHzE982/6+C1fy+QWb4YyHJdTAlqXJ1cc7BTDMAI+vzWfLvM
1jmwUPJYc/Qr1ocr4aX8Tv5K84xulEdUxgZVnhYGL73fw3boKxnrSYHibdFTLNAY
LHdVCTGQc8DIeHmJwHMIlvAnBIwncPZvoXV2O0vBDoGFUY0lI2n/PLE/mHpfRN11
dzH1Bt00H4GaUz94nKNddN7lesY0OZpsrZdEe5MbAq6bZl9ieC83ILzxigro5maN
C3rUFHyLLmvHNCtWhbWRmu4gAfg95yJuGIJSXHGk3IhMCdhLMx41
-----END CERTIFICATE-----

16
ca/user.csr Normal file
View File

@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIIClTCCAX0CAQAwUDELMAkGA1UEBhMCUFQxEDAOBgNVBAgMB0NvaW1icmExEDAO
BgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVDMRAwDgYDVQQDDAd3YXJyaW9yMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmpOgHkUoe7IxfAaZQK2TVLoU
hxf1I0kohQBmfZSDebC519tVEtCQ83VRuI5YR4xhBCOh5EmRsZly5wkkuqFalk64
w8ZRaffeFZfEHvKsZRBDV3jECvibI/oNx7OCkEYMUUikFb9Dkiy4q+62jRekN4BF
/qumHJzPc1/LTTz3Y5pJ2ZZz0q0Lfc4TYP3I2jX9GOCm/4nteCIPssjry9y92Skp
feFUgIOL8WuCViofGND4pTyEea1bz5jQoZIzyl2v0xoEIFHpCoFjYRJy2Vg/3KXV
JnyifP5n0nQdlSIlUgJjvQz8EB3Wd2ddpEg9vhWTJ7AXDdWOU+aSPHYWC8LxSwID
AQABoAAwDQYJKoZIhvcNAQELBQADggEBAEiTCmeFqewPqLHD9IMLAvgNQhjXjZuJ
adghY9U7BozVu4oYJbMrfdpduZDXt33eVXhr6rCvdx+PB2WAMHcUaOQLx857FCpX
KeFSrXwcDICViGgQArFAR6fVrMqc5363kRx4o96q6ojUGvDup8w6BnSeAaswXsjg
2rz9a4iAXE/DYKCeNUWblQyDhTpDEyedoTxFFnWNuPR8RDwfH1sahOj/hxgiTRfy
JRm7p9BuGNWaik5WpCZAxe1be07W/nmYzZnzTx/vMfznKy2jmLSdYtEQPlGW8fwb
oZreM9grmJK39YDGTyih/EoBx+hRR0VelBrkj/HdxNK4eJMV8eGdbGU=
-----END CERTIFICATE REQUEST-----

28
ca/user.key Normal file
View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCak6AeRSh7sjF8
BplArZNUuhSHF/UjSSiFAGZ9lIN5sLnX21US0JDzdVG4jlhHjGEEI6HkSZGxmXLn
CSS6oVqWTrjDxlFp994Vl8Qe8qxlEENXeMQK+Jsj+g3Hs4KQRgxRSKQVv0OSLLir
7raNF6Q3gEX+q6YcnM9zX8tNPPdjmknZlnPSrQt9zhNg/cjaNf0Y4Kb/ie14Ig+y
yOvL3L3ZKSl94VSAg4vxa4JWKh8Y0PilPIR5rVvPmNChkjPKXa/TGgQgUekKgWNh
EnLZWD/cpdUmfKJ8/mfSdB2VIiVSAmO9DPwQHdZ3Z12kSD2+FZMnsBcN1Y5T5pI8
dhYLwvFLAgMBAAECggEAEerPsgKJLUFb7AjlxbH49Ga3T2tu/j6SJEyGFMNctAPQ
nt0tEMe9LYMpTE+vmueCLVUmBEykxyXGxFHygHGIiwin8QVxVWumQfF8CaxOYE6Q
x7hXXQAxF2v6Ie5EUY3VCqz1XBH19qEZbNB4N4WIguhq9JiX4hQpFbICYjsRX+mJ
w331t1a1sjcamH2GZLM6fxx3iQ4hOG/2q1ItiYO1pX3BjnGRwQV7KwRnSQhJjkAk
UFrsCIRfyVD/6leai+hp0dkjW+xMA8ISAoicYCIkYPkm4dSuOMqI0NYtRwNwInpx
0c7Y0OM70UxFB6mEepQjwogbC84jmf3HJXZm15SEWQKBgQDPGitXWoav/Ur1x+Z5
l/G027HH1zzZa+ZGcOoXrnYxZqBt2G4gPTnGzkyyjbG/7ZRH67ZwvsWSlg/nw/kc
whxF4nxKRfGh+FrOFshHjWc1NF4vGKhwUf6qwiHA67zAeTJlFuu5323CiisQewXw
fOiVr4uUICdldbrPC7NuhWAIGQKBgQC/EqqCnri/dTrAdzOwTnZAk+TLdY1Z7AKp
WdYJqECDV3n83Yn6f5pOWH+R+t2en8w7btIBnlkXVZSHOdmyM8ezF9xiNv6Z3olm
CieyhoLX1ZI/dK2olvsrKkVQ+nQZT9IGBUrXABMDaas62QBhXr5GbGcdyB2f6GLS
vBttEsjBAwKBgDLDd1wyFFGPBJC6LwQe+mAaeblCSOgCSq95fefQG6iAP1KtelDs
sPzKFIKvuKIS2gXHATEhkcwcfEmS/7zM16FJoq2R92h8N8XMT8s6HdIsw+lHYgIm
FwZED4H6RonnKzMcKyukWIMW2vdvMEWCWIBYRx5Hw2BbOy8E7zZn+uIBAoGBAJpM
vJ2XB6K1TKi4mmk6M4ya4hzb5TZEvTF9drd9w/tM3Roy3YYJHdc+6GY+rFG4wfkM
2VKtSUzqs3MwaHjcD9y03CgEOT6Q02wvrzcgIPGjauMLmmGW62ZEUI3Ac5ktOHHc
PD+7s58B6mEvdHstQ4Mjb3JBdIr54zRC6/L9RFl5AoGAUqXySFS3Acrnq2C6W2BK
7LzsvqihjhUJ9jgmTkJiexqYA7T93DDKBrfaZGuRU2YMffcFcNpgFuw2GIZaaHhN
qMcfxBP1Bllt/KE1B0uohYHqVoSEqKcciAnjnOv506Xy5pf0QgwfD7qUPD4hp57U
yzr1Zo9yl9e8RyqhBrHM9BU=
-----END PRIVATE KEY-----

74
ca/vpn.crt Normal file
View File

@@ -0,0 +1,74 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 4096 (0x1000)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=PT, ST=Coimbra, L=Coimbra, O=UC, CN=CoimbraVPN
Validity
Not Before: Apr 21 16:57:47 2026 GMT
Not After : Apr 21 16:57:47 2027 GMT
Subject: CN=gateway
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:ad:da:52:8d:65:c2:8d:68:5a:32:e2:f3:7e:7e:
cd:13:9e:fc:51:72:f1:80:4c:61:fb:38:b4:87:9a:
57:92:27:5b:ff:86:1f:95:f6:4b:ec:7c:7e:2f:b9:
37:36:17:18:b2:db:16:0c:91:f2:d5:f5:4d:49:e8:
3b:b8:0a:1f:8f:e9:f6:16:7a:15:22:7a:4c:f3:6d:
c2:b1:76:f2:2a:81:4e:56:a6:01:16:16:b5:e5:68:
74:3b:15:35:f2:88:78:e6:f9:7b:1e:5c:d4:b3:f6:
d1:43:13:1d:8e:82:90:38:2d:43:88:7c:35:cc:c1:
7c:6d:8e:ed:21:5a:9a:31:0e:5f:3d:dc:7c:5e:46:
1d:f0:46:41:86:70:48:a2:a9:62:4d:ba:14:d3:5b:
67:25:bf:d9:46:e6:d7:59:26:99:e2:e0:25:16:a0:
1b:cd:d1:81:ca:75:d7:d6:bd:c5:7b:25:4b:e9:58:
d2:22:f6:b1:bb:b2:5e:7d:67:9f:fd:1d:44:b4:b5:
d2:b6:ca:9e:e7:53:81:a0:4b:bf:b6:0a:61:e6:ba:
a0:e2:0a:a4:bb:21:16:90:36:c7:95:96:ae:9b:23:
e0:06:47:36:24:0b:ec:23:3d:e0:8c:42:b8:aa:9e:
38:92:18:d7:6f:19:42:76:fd:0f:42:75:46:e6:86:
e6:75
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
9F:68:08:83:F5:DC:C3:11:2B:69:5D:A4:81:EF:DE:7B:7D:6E:AE:3A
X509v3 Authority Key Identifier:
E9:2F:00:A5:42:63:B5:C8:31:7B:FE:46:45:49:02:A8:55:DF:04:C6
Signature Algorithm: sha256WithRSAEncryption
Signature Value:
13:0b:5e:3c:0c:dd:e8:e1:04:12:bb:c6:98:e1:52:72:12:b4:
8f:46:f0:5a:48:b6:f1:69:d3:65:e5:1e:ef:ed:03:fe:9f:ee:
0f:bc:72:ad:cd:52:b5:18:ca:9c:c0:1c:f1:48:80:64:b6:90:
33:12:fb:18:4b:e1:a7:c9:0b:1e:16:e5:72:4a:e1:f9:b6:e3:
5d:b9:06:2d:ed:cc:d7:ee:7d:8c:22:99:69:46:d3:88:64:19:
1e:3f:02:b7:37:2a:99:6b:ba:07:77:e8:f0:e5:50:41:51:94:
6e:87:d9:71:5c:47:ef:a9:2a:b5:cf:86:2a:98:a5:c9:bd:01:
04:f6:81:d3:81:d2:40:c6:83:29:42:2f:ad:d8:4c:ac:6c:df:
89:93:8c:bb:48:cb:dc:62:a4:55:ed:f7:c9:b6:01:41:48:20:
dd:9f:5f:fa:55:8b:d6:f4:0e:ee:00:63:53:11:19:5a:77:47:
0e:ec:4b:8d:08:8d:e2:51:3a:d6:97:ee:16:4c:0d:b3:ac:42:
e2:21:18:dd:c0:41:db:95:88:dd:18:cd:61:df:f3:c5:b0:12:
c4:4a:55:75:63:a4:69:44:38:2e:2e:3c:cf:51:6f:b8:36:25:
24:d2:56:4f:eb:a0:50:93:73:2e:a9:ed:a4:92:41:3b:73:20:
3f:57:e7:b2
-----BEGIN CERTIFICATE-----
MIIDIzCCAgugAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwUzELMAkGA1UEBhMCUFQx
EDAOBgNVBAgMB0NvaW1icmExEDAOBgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVD
MRMwEQYDVQQDDApDb2ltYnJhVlBOMB4XDTI2MDQyMTE2NTc0N1oXDTI3MDQyMTE2
NTc0N1owEjEQMA4GA1UEAwwHZ2F0ZXdheTCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAK3aUo1lwo1oWjLi835+zROe/FFy8YBMYfs4tIeaV5InW/+GH5X2
S+x8fi+5NzYXGLLbFgyR8tX1TUnoO7gKH4/p9hZ6FSJ6TPNtwrF28iqBTlamARYW
teVodDsVNfKIeOb5ex5c1LP20UMTHY6CkDgtQ4h8NczBfG2O7SFamjEOXz3cfF5G
HfBGQYZwSKKpYk26FNNbZyW/2Ubm11kmmeLgJRagG83Rgcp119a9xXslS+lY0iL2
sbuyXn1nn/0dRLS10rbKnudTgaBLv7YKYea6oOIKpLshFpA2x5WWrpsj4AZHNiQL
7CM94IxCuKqeOJIY128ZQnb9D0J1RuaG5nUCAwEAAaNCMEAwHQYDVR0OBBYEFJ9o
CIP13MMRK2ldpIHv3nt9bq46MB8GA1UdIwQYMBaAFOkvAKVCY7XIMXv+RkVJAqhV
3wTGMA0GCSqGSIb3DQEBCwUAA4IBAQATC148DN3o4QQSu8aY4VJyErSPRvBaSLbx
adNl5R7v7QP+n+4PvHKtzVK1GMqcwBzxSIBktpAzEvsYS+GnyQseFuVySuH5tuNd
uQYt7czX7n2MIplpRtOIZBkePwK3NyqZa7oHd+jw5VBBUZRuh9lxXEfvqSq1z4Yq
mKXJvQEE9oHTgdJAxoMpQi+t2EysbN+Jk4y7SMvcYqRV7ffJtgFBSCDdn1/6VYvW
9A7uAGNTERlad0cO7EuNCI3iUTrWl+4WTA2zrELiIRjdwEHblYjdGM1h3/PFsBLE
SlV1Y6RpRDguLjzPUW+4NiUk0lZP66BQk3Muqe2kkkE7cyA/V+ey
-----END CERTIFICATE-----

16
ca/vpn.csr Normal file
View File

@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIIClTCCAX0CAQAwUDELMAkGA1UEBhMCUFQxEDAOBgNVBAgMB0NvaW1icmExEDAO
BgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVDMRAwDgYDVQQDDAdnYXRld2F5MIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArdpSjWXCjWhaMuLzfn7NE578
UXLxgExh+zi0h5pXkidb/4YflfZL7Hx+L7k3NhcYstsWDJHy1fVNSeg7uAofj+n2
FnoVInpM823CsXbyKoFOVqYBFha15Wh0OxU18oh45vl7HlzUs/bRQxMdjoKQOC1D
iHw1zMF8bY7tIVqaMQ5fPdx8XkYd8EZBhnBIoqliTboU01tnJb/ZRubXWSaZ4uAl
FqAbzdGBynXX1r3FeyVL6VjSIvaxu7JefWef/R1EtLXStsqe51OBoEu/tgph5rqg
4gqkuyEWkDbHlZaumyPgBkc2JAvsIz3gjEK4qp44khjXbxlCdv0PQnVG5obmdQID
AQABoAAwDQYJKoZIhvcNAQELBQADggEBAGk0ZlKtKypPFXkJo9uAtLj6WZ/Q5FAR
HGWGxbJgUNSC760/D4b9Ul0kKY6Pu6aI20+Ugst8jEv4rmuC93p3w9QEAmnHmwZs
5zLKGzrRr8/MeCJMi4bptB0WOr/37F2sDseI9LEjKFQ5XQeU8lrozcCk4ekNc8HD
gyQVXudA1aGPUDAZWaT+10SYSENjF5aRZjDpNti6pLgAFj2wIccWbrR3k9xHZF68
SXVifN+bmEXc4yKyrZ+sIi1B327qDz2r8VdS8+YSx8EyBO5D9JPM9oiQbJ/9/ifn
+6YTaZj6zsyJbZDRZwkp/kmsz/Klccz9SeNLyJ9vUP6CHqcqxyGg6bk=
-----END CERTIFICATE REQUEST-----

28
ca/vpn.key Normal file
View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCt2lKNZcKNaFoy
4vN+fs0TnvxRcvGATGH7OLSHmleSJ1v/hh+V9kvsfH4vuTc2Fxiy2xYMkfLV9U1J
6Du4Ch+P6fYWehUiekzzbcKxdvIqgU5WpgEWFrXlaHQ7FTXyiHjm+XseXNSz9tFD
Ex2OgpA4LUOIfDXMwXxtju0hWpoxDl893HxeRh3wRkGGcEiiqWJNuhTTW2clv9lG
5tdZJpni4CUWoBvN0YHKddfWvcV7JUvpWNIi9rG7sl59Z5/9HUS0tdK2yp7nU4Gg
S7+2CmHmuqDiCqS7IRaQNseVlq6bI+AGRzYkC+wjPeCMQriqnjiSGNdvGUJ2/Q9C
dUbmhuZ1AgMBAAECggEAAKgBSkWRUR9D1C/YxtFbypvZNcWksxhkbwJOQQLuv59i
V457zq7c3ktGJ/SbEZIYiPNzROSqAWZm54nEkMzksmSzKoHE+JVP0dZssma6y6bH
zppJCNX9d9yenbQNQjBexC5xRMlk/pXrQTxi2BHWvyyvI4rvolczo908E/6MGPXN
lebDIWLGFRzvuJAYw/4tv2o7qsb4U4aSYzhqRRe6+pkeQnPgbAMISfEB+AEi0q1Y
4g3OutUlnmdICYg31ZybmQ5jMJ9v/EaIkyKjdXw6qOB7aecrKBj9DSiTGZmmyB/U
3H+RfRofQP/A6W8UaV2FWP57JWu9a6isy/ap/vqoaQKBgQDXdVI0733kPW7rhgbx
+OfKV5HajasxBOH6g1L/o6NDddIhOUdhz3pbOwU4huq37Ojp2TgYIRM/+eLCT4y4
IRpDIIJpAACrkNeR9JvpkOzOWN/MbPEOKFkYyUz20nND8p+GtoibFO6HRwG/p5ru
1rCrVZOwNFj8hkttpzjyNBNsfQKBgQDOkNsbj0FnFn6EA3uWgXT95wZTwwPPwyz5
QVxq3PIY2TzgM69C7FDaPA3bDve1PME3s6+28Vkzw+jzLwg99csh23gCQt8NPvXA
yFRYQLZkB165TVwyVGVPaQ93OEDFi5xGWA8JiBIflrYatlH8luh9cLuOcMn44QlD
0H59DbkbWQKBgQCrBfh0BmpiopUKJQAcUFwFFE+1MODjbyHFTTqzqvusT7i1IJdV
v3A7PHUfcpCb4FTdUswg8xgpnzvsy2JCwhvrjsGVgSgHB1jmBUlBNAWUoZ070nnh
qAtZDmimP1S5abxRHVD/8LSJ8sYjkHH+BbKEvdAWfObpw9vZtXQRZV7JrQKBgB+q
x1xXPuCN60FTw1uUZxoRk7+9ktUEB94CbieXzamPjCyW39RzpAWA1WLyzXjEYp6m
dlamc1VjQFAfsrTE/KopGiHGnKlMMKKoU33gFdYJ5zSjLnIszAc7hPpy7kManw+N
qmh8qsKa+TnpH3KItAWfBbHVirET1rbFvM5xDyKpAoGACI1lpHa565PERYlopV6U
9s7UeSNVwEq0mddzrJT+1YGB1yEKfWOAUzBeq8j1jpL6n3Zl/n33JyWiy6A4V/qH
hQsjxX96jO8fhxOJlx9wiwv/NF4iYoD5f9XYkQw0me8u65rDzPzEoDtngSk7b6xq
xyJenIzC39NgPpZySK4Aewo=
-----END PRIVATE KEY-----

View File

@@ -1,11 +1,25 @@
client client
dev tun dev tun
proto udp proto udp
remote 10.60.0.3 1194 remote 10.60.0.3 1194 # ip da vpn gateway
persist-tun persist-tun
persist-key persist-key
# certificados
ca ca.crt ca ca.crt
cert user.crt cert user.crt
key user.key key user.key
# criamos key
# crismos csr resquest
# -> gateway
# el certificado
# -> user
# 2FA
auth-user-pass
cipher AES-256-GCM
auth SHA256
tls-auth ta.key 1
key-direction 1 key-direction 1

8
dh2048.pem Normal file
View File

@@ -0,0 +1,8 @@
-----BEGIN DH PARAMETERS-----
MIIBDAKCAQEA3nwUY/Bv8Vb0b6iqb2AKull2IL1MJHn8P40f/mdcAZjB+6BTLL9s
jblzZJaEooE5+WjfaAWghjbEqzYt99/eQA0nDWm3yqlvekNmXjR5TzFS/qV/zbIw
PoXmOSDr39HK7Z2DQz5aVP5j48b+rPAwwAVdkEmnUL49ef0NewYkOYhn9LTBqny+
l3fDXy1FIE/KJNP/3pV9tHdccxNHDklyW8xRSAKHvYfKeQBm6ZxhB8Wekg3uyUfW
ab81VdZrYY9wTpnOARcZzKt63gNbd+N9er+a4IJ5btA0vn4IODeT1gS9/WUZUbuW
MdQ2Mwkc8O6a/z3cbacXvnyWf/raidN5rwIBAgICAOE=
-----END DH PARAMETERS-----

View File

@@ -1,9 +1,9 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.29 (TeX Live 2026/Arch Linux) (preloaded format=pdflatex 2026.4.13) 19 APR 2026 21:36 This is pdfTeX, Version 3.141592653-2.6-1.40.29 (TeX Live 2026/Arch Linux) (preloaded format=pdflatex 2026.4.13) 21 APR 2026 14:33
entering extended mode entering extended mode
\write18 enabled. \write18 enabled.
%&-line parsing enabled. %&-line parsing enabled.
**/home/raw/uni/fsi/trabalho/relatorio **/home/raw/uni/fsi/trabalho/relatorio/relatorio
(/home/raw/uni/fsi/trabalho/relatorio.tex (/home/raw/uni/fsi/trabalho/relatorio/relatorio.tex
LaTeX2e <2025-11-01> LaTeX2e <2025-11-01>
L3 programming layer <2026-01-19> L3 programming layer <2026-01-19>
(/usr/share/texmf-dist/tex/latex/base/article.cls (/usr/share/texmf-dist/tex/latex/base/article.cls
@@ -135,55 +135,55 @@ Package: listings 2025/11/14 1.11b (Carsten Heinz)
2025/11/14 1.11b (Carsten Heinz) 2025/11/14 1.11b (Carsten Heinz)
so I'm assuming it got fixed. so I'm assuming it got fixed.
LaTeX Font Info: Trying to load font information for OT1+EBGaramond-LF on in LaTeX Font Info: Trying to load font information for OT1+EBGaramond-LF on in
put line 28. put line 33.
(/usr/share/texmf-dist/tex/latex/ebgaramond/OT1EBGaramond-LF.fd (/usr/share/texmf-dist/tex/latex/ebgaramond/OT1EBGaramond-LF.fd
File: OT1EBGaramond-LF.fd 2023/03/19 (autoinst) Font definitions for OT1/EBGara File: OT1EBGaramond-LF.fd 2023/03/19 (autoinst) Font definitions for OT1/EBGara
mond-LF. mond-LF.
) )
LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be
(Font) scaled to size 12.0pt on input line 28. (Font) scaled to size 12.0pt on input line 33.
(/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def (/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
File: l3backend-pdftex.def 2025-10-09 L3 backend support: PDF output (pdfTeX) File: l3backend-pdftex.def 2025-10-09 L3 backend support: PDF output (pdfTeX)
\l__color_backend_stack_int=\count294 \l__color_backend_stack_int=\count294
) )
(/home/raw/uni/fsi/trabalho/relatorio.aux (/home/raw/uni/fsi/trabalho/relatorio/relatorio.aux
Package babel Info: 'portuguese' activates 'portuges' shorthands. Package babel Info: 'portuguese' activates 'portuges' shorthands.
(babel) Reported on input line 5. (babel) Reported on input line 5.
) )
\openout1 = `relatorio.aux'. \openout1 = `relatorio.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 28. LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 33.
LaTeX Font Info: ... okay on input line 28. LaTeX Font Info: ... okay on input line 33.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 28. LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 33.
LaTeX Font Info: ... okay on input line 28. LaTeX Font Info: ... okay on input line 33.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 28. LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 33.
LaTeX Font Info: ... okay on input line 28. LaTeX Font Info: ... okay on input line 33.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 28. LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 33.
LaTeX Font Info: ... okay on input line 28. LaTeX Font Info: ... okay on input line 33.
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 28. LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 33.
LaTeX Font Info: ... okay on input line 28. LaTeX Font Info: ... okay on input line 33.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 28. LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 33.
LaTeX Font Info: ... okay on input line 28. LaTeX Font Info: ... okay on input line 33.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 28. LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 33.
LaTeX Font Info: ... okay on input line 28. LaTeX Font Info: ... okay on input line 33.
\c@mv@tabular=\count295 \c@mv@tabular=\count295
\c@mv@boldtabular=\count296 \c@mv@boldtabular=\count296
\c@lstlisting=\count297 \c@lstlisting=\count297
LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be
(Font) scaled to size 20.74pt on input line 29. (Font) scaled to size 20.74pt on input line 34.
LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be
(Font) scaled to size 14.4pt on input line 29. (Font) scaled to size 14.4pt on input line 34.
LaTeX Font Info: External font `cmex10' loaded for size LaTeX Font Info: External font `cmex10' loaded for size
(Font) <14.4> on input line 29. (Font) <14.4> on input line 34.
LaTeX Font Info: External font `cmex10' loaded for size LaTeX Font Info: External font `cmex10' loaded for size
(Font) <7> on input line 29. (Font) <7> on input line 34.
LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be
(Font) scaled to size 17.28pt on input line 30. (Font) scaled to size 17.28pt on input line 35.
LaTeX Font Info: Font shape `OT1/EBGaramond-LF/b/n' will be LaTeX Font Info: Font shape `OT1/EBGaramond-LF/b/n' will be
(Font) scaled to size 17.28pt on input line 30. (Font) scaled to size 17.28pt on input line 35.
(/home/raw/uni/fsi/trabalho/relatorio.toc (/home/raw/uni/fsi/trabalho/relatorio/relatorio.toc
LaTeX Font Info: Font shape `OT1/EBGaramond-LF/b/n' will be LaTeX Font Info: Font shape `OT1/EBGaramond-LF/b/n' will be
(Font) scaled to size 12.0pt on input line 2. (Font) scaled to size 12.0pt on input line 2.
) )
@@ -201,27 +201,27 @@ File: lstlang1.sty 2025/11/14 1.11b listings language file
File: lstlang1.sty 2025/11/14 1.11b listings language file File: lstlang1.sty 2025/11/14 1.11b listings language file
) )
LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be LaTeX Font Info: Font shape `OT1/EBGaramond-LF/m/n' will be
(Font) scaled to size 10.0pt on input line 37. (Font) scaled to size 10.0pt on input line 44.
[2] [2]
(/home/raw/uni/fsi/trabalho/relatorio.aux) (/home/raw/uni/fsi/trabalho/relatorio/relatorio.aux)
*********** ***********
LaTeX2e <2025-11-01> LaTeX2e <2025-11-01>
L3 programming layer <2026-01-19> L3 programming layer <2026-01-19>
*********** ***********
) )
Here is how much of TeX's memory you used: Here is how much of TeX's memory you used:
4333 strings out of 469495 4339 strings out of 469495
71923 string characters out of 5470098 72086 string characters out of 5470098
655827 words of memory out of 5000000 672829 words of memory out of 5000000
32986 multiletter control sequences out of 15000+600000 32992 multiletter control sequences out of 15000+600000
638248 words of font info for 53 fonts, out of 8000000 for 9000 638248 words of font info for 53 fonts, out of 8000000 for 9000
16 hyphenation exceptions out of 8191 16 hyphenation exceptions out of 8191
62i,7n,99p,213b,1276s stack positions out of 10000i,1000n,20000p,200000b,200000s 62i,7n,99p,223b,1274s stack positions out of 10000i,1000n,20000p,200000b,200000s
</usr/share/texmf-dist/fonts/type1/public/ebgaramond/EBGaramond-Bold.pfb></us </usr/share/texmf-dist/fonts/type1/public/ebgaramond/EBGaramond-Bold.pfb></us
r/share/texmf-dist/fonts/type1/public/ebgaramond/EBGaramond-Regular.pfb></usr/s r/share/texmf-dist/fonts/type1/public/ebgaramond/EBGaramond-Regular.pfb></usr/s
hare/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb> hare/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb>
Output written on /home/raw/uni/fsi/trabalho/relatorio.pdf (2 pages, 44498 byte Output written on /home/raw/uni/fsi/trabalho/relatorio/relatorio.pdf (2 pages,
s). 48079 bytes).
PDF statistics: PDF statistics:
27 PDF objects out of 1000 (max. 8388607) 27 PDF objects out of 1000 (max. 8388607)
16 compressed objects within 1 object stream 16 compressed objects within 1 object stream

Binary file not shown.

View File

@@ -3,6 +3,8 @@
\usepackage[lining]{ebgaramond} \usepackage[lining]{ebgaramond}
\usepackage{listings} \usepackage{listings}
% \usepa
\lstdefinestyle{mystyle}{ \lstdefinestyle{mystyle}{
basicstyle=\ttfamily\footnotesize, basicstyle=\ttfamily\footnotesize,
breakatwhitespace=false, breakatwhitespace=false,
@@ -19,6 +21,9 @@
\lstset{style=mystyle} \lstset{style=mystyle}
\setlength{\parindent}{0em}
\setlength{\parskip}{2ex}
\title{Practical Assignment \#2} \title{Practical Assignment \#2}
\author{ \author{
João Neto -- 2023234004\\[1em] João Neto -- 2023234004\\[1em]
@@ -33,10 +38,17 @@
\section{Introduction} \section{Introduction}
Introdução!!!! Introdução!!!!
Criar chaves com 2048 bits.
\begin{lstlisting}[language=bash] \begin{lstlisting}[language=bash]
hmmmm
\end{lstlisting} \end{lstlisting}
Criar chave secreta.
\begin{lstlisting}[language=bash]
openssl --genkey secret ta.key
\end{lstlisting}
\section{Conclusion} \section{Conclusion}
Conclusão!!! Conclusão!!!

21
ta.key Normal file
View File

@@ -0,0 +1,21 @@
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
b822bc6ea100a4b00d1092624e8068c9
b7ac87935d53933cfa1b3e904816d0c5
e9a5dac77782f9255b37819b10220bb4
6f0d73452eeeaee3905740a1e581f8dd
12242dd375e7439e209ba8be9e355dec
ab576ea78be9edb0eee9bfcb5ee6b28b
f195a01438283037b0aaba18cfcee32e
df4db43684a5554a81cdfe396aadf7b2
0c6cd0ad17c8882cb013d4b65cc33906
eb5ead6dc9eb7a5f80974a88bf9c0cb0
8992e5b03a4b8263fb46b6abba61de91
b1b6dd378157c0e428c189df7550b45b
5a6851c1f14f00d647d4b90030a09e78
30f2130dccce52e98bbc9ea18dd8f80a
ffabe35260a0d5de7aba6cd240b2a380
ca8c69fdbb58460db89300115a67f6fd
-----END OpenVPN Static key V1-----

28
user.key Normal file
View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCafnw4yGYr8ddY
O9TRoKZMZ7qcGKCTGpN8g1iHv2+ptiYg9ZYAB9oxr+noOO1Yhyen/ld7tcoCD/zE
zALTYIXpOj+WcAwKRS2PCKHNjhwNSqK5detZ5BRR2E34b5Ry5b2okXeliDfZjoXH
7p8+hCepReJ3zXl946/CTi1N8UfnXahBbwLaGaQeBUCktvT5/xoFPhDKDT5uRjyx
BgCoXJvbBKnKK5UkIWGBKq13qMnKYo/O+DS+4o8CvY5OMMCnmAhNNXvWyBr9T4E3
yQCteijfRpxHmIfKU98f4lO90HcZVbtEHLPwDBrKESV6w7unlwKektu0KLEZIt61
DqHuJuapAgMBAAECggEADyfLTdKy2yq9QkWUSgAlcCdY0glEb0nTIArOe3qXHKHm
uaL91QDwMaGdI4+6EM4pYLx9noAl0e/5juCogk3ctRVmuX5CYBuLLZXeMYj4TYF9
1w2vScErESBT/cQMXv0Ujt2+S/nB6NCnZQaOjpZuQZe+cJwyh9v3GOuMXDIIKLUL
QGRSL0DpyC+2a38lgxnCaPl6eMPV8VquyVBGcg0+piJl05oOaEOSzM4isH7Fewsy
9n/BNNIwBtj1/bbXKYjpX1bc985rO0m8vgPKihlJv4ePCb87ygV3tQCkNMkPLjdZ
Q6y9fHiHd0ZrNfw7qGyTQy/kbUQUXTjnF7eeg8CjgQKBgQDSkMVM9fZkKyBBuTSt
InW51cbxmENv+YCGN7B2RvaWmbMG6zFnGebXkUXCcpOZz1+itwOzHCV5syNij1uO
4VwStBClVM3BEAYnRXOyg2LUch2xXS3HKq+AXGT/QU7fgBwq2spfxl0tpYuaNgU6
EM+KZS11ZzyNiNTv/Y8WkNuxEQKBgQC71HAbxD0C+yhERv3hVibr4g9+WoLwdFll
4Rn65cVmeryiCOl0jDNUNJXldbbGtHbC0TT8apPL4dwoiHIrB6eimq/+vRg25bjY
TdE918BKUcqkYhBhZ6VBy8xIrsmqvaOBPT28UomeMDGBYI90JMQ3huD5oGdlLKAb
h2hcNAjcGQKBgQCXqbayrCaAF5/wNtn+KmfpJlVZBnbsXCV6hvoO9yX9a09LmHPI
8xsWAYjheW1ex8L2jCOaCpfjhGfkQaWM0D1lK1UiAGcCu+vytU+UMJYqttc0PQ0P
+2rVZbdJM10AFmIza8uAGHxcuHRI6sfw/tK9uAp6GZW/y+KzyUoa0tOqQQKBgFJ3
dTlbsYXri8Refv0+fBw4xqCtUKwOCWonqOZ1l3PlE4j47LcVDzw7UkzKoBMiDLqA
bAkfKgDsC2NodOfblohX7kmj8Eu6FKwzjljerzhyLMx7mcGKZg47UlffFf/2/yCx
KLfUbUOc2T96i8FsmxHeEEzJVlwfebRcgT9qQTGRAoGARjxT7byFNH8drC9NOZ1Z
PENQE/o+4B6J0YwavZqm0Hp+LHQWUyq0W1d6t9oRqsXBK2UV2UEh1HwQwAa481tD
Sdzi63YTC7116uLsCzIUMPcNMHEMCMYMcK+52mNdod4Oe4bogUL9Aw9lTqCkswvc
4i4XwIiPLAl+IS+TlpEcHOs=
-----END PRIVATE KEY-----

View File

@@ -8,8 +8,7 @@ key vpn.key # ya
dh dh2048.pem dh dh2048.pem
server 10.60.0.0 255.255.255.0 server 10.60.0.0 255.255.255.0
;verb4 verb 4
;plugin something plugin /usr/lib/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn
;tls-auth adjjkjdhsadhkjh tls-auth ta-key 0
key-direction 0 key-direction 0

29
vpn.csr
View File

@@ -1,17 +1,16 @@
-----BEGIN CERTIFICATE REQUEST----- -----BEGIN CERTIFICATE REQUEST-----
MIICoTCCAYkCAQAwXDELMAkGA1UEBhMCUFQxEDAOBgNVBAgMB0NvaW1icmExEDAO MIIClTCCAX0CAQAwUDELMAkGA1UEBhMCUFQxEDAOBgNVBAgMB0NvaW1icmExEDAO
BgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVDMQ4wDAYDVQQLDAVGQ1RVQzEMMAoG BgNVBAcMB0NvaW1icmExCzAJBgNVBAoMAlVDMRAwDgYDVQQDDAdnYXRld2F5MIIB
A1UEAwwDVlBOMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuO077R1T IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv8Nkjr7LB/XrDza3hgnnCnqR
T0l5yDyEdQBKRWu50exIMEQKANHh7AHfuLCoqfGsvulphnNVuQPXoH+pnos4NkAn SVOknvKxAmQJ2EYbGyAjlPyaFcJadizOjid9TKvQQG9a6bpWD1Ne3Nro1ykHu4Az
C3ME5u0kt2UwmGLRj9tzrUK/AGQ6WXokXMco0FBIxDzYSVkq+0V52x24JNiEBrTY Geufb9/U53wbuATRTa6TQVf1gfGMhO/YFC34T+x/jOXL7U/TU8t11dRkjaHWvWKQ
ZwYcrC7bqbmIDiAR5siI82KSgO7Mv6EU15rzcMpO73C5uiG3sJzWqd9rMB65s7Ei Zzfpri2HHkMZeUYflQ4PYmFMLxvn5eKj/oug+ROVuwefyj9353lrp4o+mcG6GCbg
cw6w1ZETE9g0AwW2CyeR/uYA35ieRwIznDMBO+Rm8BngymtVE+PWhad9NAL58K9n 9Lvc0f48EN7Iu+6+q+KQt65kD8JzkKwTu/kkJiRjEschp6FNZEqiJgBCELH4ZFN6
nKqjGuOEWd7HNdP/IoDcbDWV0LLhL7+GMVwzmVYpDD8QJ7ebfcKu1j8CwoeBtDVF cF9g/e0C6fqhikftBi2ZCv252cY95lv30MkOzQyu/z5fQ7jCLUzJmiYnHHivHwID
GrE0hlEWyWE70wIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAKayFAqGxJg1GCjf AQABoAAwDQYJKoZIhvcNAQELBQADggEBAEwxobvYufcrpsPYu5KFtsb5J38drh9c
VC3K+f2fYAWYWObnRk57k9+dDoAicjq+RiUHmsxmbskZPclRxPpAeev+acXlCBnL xm0UwuXHHw/CDGvPTqflQmhxWKGsSFe9OHZb/61ZJEtT6ZpfXA8oO7U7OTIcUbkX
Bj/pKegDHwM0k+3+9vvFI5Co3UE5hsMACSql20lWPFrJlZzEIjW8HpDqotp4fE4O pKkX89+mZxSlTFsefNbhEoySN+x3MdLNqw1iUUtAB3kTjPYM9h663Y+hA/j3zUZS
49X1Fekz/FOby44UeqtUDUpLkYc5QMuXVV+DblwkYNrjyLlqy8BFQnRuWLTJjFAG JS0vox61T5+L/CfqIcOEsfPEaMrvCUEItZM8wXFdAO3yiCoYPpdPFJ6aPk9XV/8Q
FFgJfVEfAfd+3V3G7700rAtszGpwvr5E3BhRyvbliQJr7wGUkqV2HQ3IpoG3HovO /4eLAcnQPrWkbrVrEv6PRkpnau0Yc3bI2u49AIWgfxdheiiBSy4fh6mY/SRlh7aM
QFAxAfMbnMJe81k8GhSHYBeD9gFFbyq9e18RO/mwJF357G/asEe/nyAko1FCbDrl Jwj6uXJubKRmNU9WqHh3ovZ63B0V9YOzd+f0m5K44K2g6mLBLI+r07s=
/bjTKBA=
-----END CERTIFICATE REQUEST----- -----END CERTIFICATE REQUEST-----

52
vpn.key
View File

@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY----- -----BEGIN PRIVATE KEY-----
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
a428qWxj5+yxEpeZhqvhPic= WZ8aZ9fOTcKE6T9NdpnpvBtG
-----END PRIVATE KEY----- -----END PRIVATE KEY-----