Dopo alcune ricerche, sembra che questo errore sia dovuto al fatto che il nome host "CN" non era corretto.
Da digitalocean :
Ogni volta che generi una CSR, ti verrà chiesto di fornire informazioni relative al certificato. Queste informazioni sono note come Distinguished Name (DN). Un campo importante nel DN è il nome comune (CN), che dovrebbe essere l'esatto nome di dominio completo (FQDN) dell'host con cui intendi utilizzare il certificato.
Anche da MongoDB documentazione :
Se la tua distribuzione MongoDB utilizza SSL, devi anche specificare l'opzione --host. mongo verifica che il nome host del mongod o dei mongos a cui ti stai connettendo corrisponda al CN o al SAN del certificato --sslPEMKeyFile di mongod o mongos. Se il nome host non corrisponde a CN/SAN, mongo non riuscirà a connettersi.
SOLUZIONE:
Ho rigenerato le chiavi, sostituito localhost con qualsiasi altro hostname nel CN =<hostname> e completato la guida di Wan Bachtiar .
L'esecuzione del seguente comando dopo il completamento ha funzionato:
$ mongo --port 27017 -u '<_username_>' -p '<_password_>'
--authenticationDatabase "<_my db_>" --ssl --sslPEMKeyFile
/etc/ssl/client.pem --sslCAFile /etc/ssl/ca.pem --host localhost
Nota:MongoDB segue una rigida regola di chi ha accesso a quale db, un rapido test nella mongo shell:
restituire un errore. Tuttavia, il mio utente in realtà ha accesso solo al db specificato in "<il mio db>", quindi scorrendo le righe in "<mio db>" funziona perfettamente.