Sto sviluppando un servizio per un client che in base ai propri requisiti deve avere autenticazione basata su certificato client .
Mi hanno inviato 2 file, uno è il certificato che invieranno nella richiesta in formato .cer
e l'altro è un file ROOT CA anche in formato .cer
. Ecco i nomi dei file:
-
CERT.cer
-
CA_ROOT.cer
Sto tentando di configurare l'accesso utilizzando nginx
. Ecco la mia configurazione:
server {
listen 443;
server_name example.com;
# SSL client certificate configuration
ssl_client_certificate /etc/nginx/certs/CERT.cer;
ssl_verify_client on;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
# serve assets or request page from proxy (if asset not found)
location / {
try_files $uri @proxy;
}
# the play web server
location @proxy {
proxy_pass http://localhost:9000;
proxy_redirect off;
proxy_buffering off;
}
}
Anche se non so come testarlo senza la chiave privata. Se avessi la chiave privata potrei fare qualcosa del genere:
curl -v -s -k --key private.key --cert CERT.cer https://example.com
È addirittura possibile farlo senza il file della chiave privata? (che non ho)
Inoltre, per favore fatemi sapere se sto facendo qualcosa che non dovrei, in quanto in nessun modo sono un esperto in materia di sicurezza