Dopo aver importato la configurazione della CA e del certificato di OpenVPN (come indicato in questa guida) su TrueNAS, se ci si imbatte nell’errore Client certificate must have SubjectKeyIdentifier extension set
, seguiamo questi passaggi per risolvere il problema.
Soluzione
Come prima cosa colleghiamoci in SSH alla nostra istanza TrueNAS. Eseguiamo una copia di backup di questo file
cp /usr/local/lib/python3.9/site-packages/middlewared/plugins/vpn.py vpn_backup.py
Ora apriamo con il nostro editor preferito il file
vi /usr/local/lib/python3.9/site-packages/middlewared/plugins/vpn.py
Cerchiamo questa porzione di codice
extensions = cert['extensions']
for ext in ('KeyUsage', 'SubjectKeyIdentifier', 'ExtendedKeyUsage'):
if not extensions.get(ext):
verrors.add(
f'{schema}.{mode}_certificate',
f'{mode.capitalize()} certificate must have {ext} extension set.'
)
rimuoviamo la voce
SubjectKeyIdentifier
in modo tale che il codice risultante sia il seguente
extensions = cert['extensions']
for ext in ('KeyUsage', 'ExtendedKeyUsage'):
if not extensions.get(ext):
verrors.add(
f'{schema}.{mode}_certificate',
f'{mode.capitalize()} certificate must have {ext} extension set.'
)
Salviamo il file e riavviamo il sistema.