Pode ser que você esteja usando certificados de cliente com o uso de chave incorreto. Por favor, verifique se o seu uso de chaves tem:
- Crítica
- Assinatura
- Não repúdio
- Codificação de chave
Se você estiver usando o uso de chave estendida, verifique se
- Não é crítico
- Autenticação do cliente TLS na Web
- Proteção de email
No lado do servidor, verifique se você tem todo o certificado que foi usado para assinar o certificado de cliente e a hierarquia de pki relevante está configurada. Em uma configuração típica do apache, isso seria parecido com:
<VirtualHost *:443>
ServerAdmin [email protected]
DocumentRoot /var/www/
ServerName service.example.net
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory "/var/www/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
<Directory "/var/www/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
</Directory>
SSLEngine on
SSLOptions +StdEnvVars
SSLCertificateFile /usr/local/ssl/certs/Server.crt
SSLCertificateKeyFile /usr/local/ssl/private/Server.key
SSLCACertificateFile /usr/local/ssl/certs/caRoot.cacert.pem
SSLVerifyClient require
ErrorLog logs/service.example.net-443-error_log
LogLevel info
CustomLog logs/service.example.net-443-access.log combined
Finalmente, você pode tentar depurar com boas e velhas openssl
openssl s_client -connect server.example.net:443 -CAfile ../ca/caRoot.crt -cert client-Access.crt -key client-Access.key -showcerts
ou enrolar
curl -kv --key client-Access.key --cert client-Access.crt --cacert ../ca/caRoot.crt https://server.example.net/
Boa sorte!