Istruzioni per l'uso dei certificati personalizzati.
Un certificato utilizzato dal client o dal server di Workbench dati deve essere firmato da un'autorità di certificazione (Certificate Authority) affidabile. I clienti di Workbench dati ricevono i certificati firmati da Visual Sciences CA. Questi certificati sono affidabili dal software Workbench dati, dal momento che trust_ca_cert.pem (fornito insieme al software Insight e memorizzato nella directory Certificates di server e client) contiene un certificato CA Root per Visual Sciences CA. Questi certificati vengono utilizzati sia per la licenza del software che per l'autenticazione quando client e server comunicano tra loro utilizzando SSL. Solo i certificati rilasciati dalla CA di Visual Sciences possono essere utilizzati per la licenza, ma altri certificati possono essere utilizzati per la comunicazione e l'autenticazione. I certificati rilasciati da CA diverse da Visual Sciences sono indicati di seguito come certificati personalizzati.
Nota importante: Per server e client, il software Workbench dati utilizza i file di certificato installati nella directory Certificati del client o del server o i certificati esplicitamente identificati nella relativa configurazione. Tuttavia, potete anche utilizzare l'archivio certificati di Windows per i client.
Le istruzioni seguenti descrivono le procedure da seguire per utilizzare i certificati personalizzati per la comunicazione tra client e server di Workbench dati. Non ogni dettaglio è un requisito difficile e si possono utilizzare diverse variazioni nel processo. Tuttavia, le procedure riportate di seguito sono state collaudate per funzionare.
Aggiungere il certificato della CA emittente al trust_cert_ca.pem, che viene installato nella directory Certificati del client e di ogni server in ogni cluster a cui si accede utilizzando questo certificato personalizzato.
Ottenete un certificato personalizzato per ciascun server del cluster, alle seguenti condizioni:
Il certificato è formattato come .pem certificato.
Il certificato contiene la sua chiave e non è crittografato (ovvero non ha una password/frase di autorizzazione).
Un certificato contiene la chiave con una delle seguenti righe:
BEGIN PRIVATE KEY
BEGIN RSA PRIVATE KEY
Un modo per rimuovere la frase della password da un .pem certificato:
openssl rsa -in password-protected-cert.pem -out no-password-cert.pem
openssl x509 -in password-protected-cert.pem >> no-password.pem
Il certificato ha la NC, O, OU, ecc. come richiesto per questo client nel Access Control.cfg file dei server.
Il certificato è stato rilasciato con uno *scopo di client (o sia server che client).
Per verificare che un certificato disponga di un codice scopo di server e/o client, è possibile utilizzare i comandi seguenti:
openssl verify -CAfile trust_ca_cert.pem -purpose sslserver -x509_strict custom_communications_cert.pem
openssl verify -CAfile trust_ca_cert.pem -purpose sslclient -x509_strict custom_communications_cert.pem
Per i certificati server, entrambi i comandi devono restituire:
custom_communications_cert.pem: OK
Per un certificato client, è necessario solo il secondo comando per ottenere OK.
Posizionare il certificato nella directory Certificati del client.
In Insight.cfg*serverInfo* per ciascun cluster che desideri utilizzare questo certificato, accertati che il certificato client personalizzato sia denominato, ad esempio:
Servers = vector: 1 items
0 = serverInfo:
SSL Client Certificate = string:
<my_custom_client_cert.pem>
Questa sezione presuppone che sia installato e in esecuzione un cluster che utilizza certificati rilasciati da Visual Sciences e che la configurazione segua le pratiche comuni (come la directory Components for Processing Servers nel master viene sincronizzata con le directory Components di tutti i DPU).
Aggiungete il certificato della CA emittente al trust_cert_ca.pem quale viene installato su ogni server del cluster e su ogni client che deve comunicare con questo cluster.
Ottenete un certificato personalizzato per ciascun server del cluster, con i seguenti requisiti:
Il certificato personalizzato è formattato come .pem certificato.
Il certificato contiene la sua chiave e non è crittografato (ovvero non ha una password/frase di autorizzazione).
Un certificato contiene la sua chiave se contiene una riga come:
BEGIN PRIVATE KEY
BEGIN RSA PRIVATE KEY
Un modo per rimuovere la frase della password da un .pem certificato:
openssl rsa -in password-protected-cert.pem -out no-password-cert.pem
openssl x509 -in password-protected-cert.pem >> no-password.pem
Il certificato ha lo stesso CN server_cert.pem attualmente installato sul server.
Il certificato è stato rilasciato con uno scopo di server e client.
Per verificare che un certificato disponga di un codice scopo di server e/o client, è possibile utilizzare i comandi seguenti:
openssl verify -CAfile trust_ca_cert.pem -purpose sslserver -x509_strict custom_communications_cert.pem
openssl verify -CAfile trust_ca_cert.pem -purpose sslclient -x509_strict custom_communications_cert.pem
Per i certificati server, entrambi i comandi devono restituire:
custom_communications_cert.pem: OK
Per un certificato client, è necessario solo il secondo comando per ottenere OK.
Installate il certificato personalizzato di ciascun server nella directory Certificati del server come custom_communications_cert.pem.
Utilizzando un editor di testo, aggiungi la riga seguente al file Communications.cfg sia in directory Components che Components for Processing Servers , direttamente sotto la prima riga (component = CommServer):
Certificate = string: Certificates\\custom_communications_cert.pem
Riavviate tutti i server.
Avviso di errore certificato
Quando il server o il client Insight sta cercando un certificato di licenza nella directory Certificates , tenta di convalidare tutti i certificati (tranne trust_ca_cert.pem), rispetto a una copia hardcoded del certificato Insight CA, che non riesce su qualsiasi certificato personalizzato presente nella directory. Il server visualizza questo avviso:
Certificate failed to verify. Error 20 at 0 depth. Desc: unable to get local issuer certificate. Cert details:
Questo avviso può essere ignorato in tutta sicurezza.