O OpenVPN não suporta vários métodos de autenticação simultâneos. A melhor solução para isso, como mencionado nos comentários, é executar duas instâncias do OpenVPN. É mais complicado executá-lo na mesma caixa, mas é definitivamente capaz de fazê-lo.
No entanto, parece haver algumas soluções alternativas que podem ser adequadas à sua situação.
if you know which certificates require a password and which don't , then the answer is yes. use an 'auth-user-pass-verify' script on the server side to first verify the certificate DN (if you set --username-as-common-name as well then you will know the certificate common name inside the verify script automatically). if it's a certificate for which you know that a password was entered then use pam to verify the username/password. if you know the certificate did not include a password then have the script return '0' to allow access.
Note that there is no way of automaGically determining if the user typed in a certificate password or not - that's outside the openssl handshake and thus not known to the OpenVPN server.
Fonte: link
Você também pode federar os seus pares de chaves gerados pelo OpenVPN em um servidor LDAP local e usar o script mencionado acima para autenticação em relação ao LDAP com o certificado fornecido ou usar as credenciais fornecidas, desde que nenhum certificado tenha sido apresentado.