Introduzione
In questo documento viene descritto come automatizzare i vari comandi utilizzati con i certificati CVP. Sono inoltre disponibili opzioni per rendere il certificato conforme a RFC.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
- Cisco Voice Portal (CVP)
- Java Keytool
- Certificati PKI (Public Key Infrastructure)
Componenti usati
Le informazioni di questo documento si basano sulle seguenti versioni software:
- Cisco Voice Portal (CVP) 12.5(1)
- Unified Contact Center Enterprise (UCCE)
- Packaged Contact Center Enterprise (PCCE)
- OAMP (Operation and Administration Management Portal)
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Configurazione
Spiegazione del comando
Questi comandi sono stati creati per automatizzare in larga misura i comandi utilizzati nella gestione dei certificati con CVP. Questi non sono ufficialmente supportati, ma vengono testati.
Output di esempio security.properties:
Security.keystorePW = xt_PXM-*4Z!!ZQID7YX*6K(3iii
La prima parte della linea è la parte di questi comandi che ne consente l'automazione. In questa sezione viene illustrata la linea e quindi ne viene illustrato il funzionamento.
FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO <command>
Parti comando:
Sezione Command |
Spiegazione |
FOR /f |
Questo è il comando DOS FOR con un'opzione usata per elaborare il contenuto dei file per corrispondenze specifiche. |
"token=3" |
Ciò indica che è necessario il terzo token o parola. Con il file security.properties di esempio mostrato in questa sezione, i 3 token sono: Token 1: Security.keystorePW Token 2: = Token 3: xt_PXM-*4Z!!ZQID7YX*6K(3iii) |
%i |
Questa è la variabile in cui viene archiviato il valore del comando IN che corrisponde al parametro FOR. |
IN ('more %CVP_HOME%\conf\security.properties') |
Eseguire il comando "more %CVP_HOME%\conf\security.properties" e passare il contenuto al comando FOR. |
DO <comando> |
Eseguire il comando e passare il valore per %i. |
I comandi mostrati in questo documento leggono la password in security.properties e automatizzano la voce nei comandi keystore. In questo modo, l'utente finale non dovrà digitare o copiare/incollare la password ed eliminerà gli errori che ciò potrebbe causare.
Comandi
I comandi di esempio funzionano tutti con un alias britannico denominato cvp_certificate. Assicurarsi di sostituire il nome alias come richiesto.
Backup alias
Questo comando non viene in genere utilizzato, ma è utile per eseguire un backup del certificato e della chiave privata precedenti.
Nell'esempio cvp_certificate viene rinominato cvp_certificate_back.
FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -changealias -alias cvp_certificate -destalias cvp_certificate_back
Esporta archivio chiavi
Questo comando esporta l'intero keystore in un file di testo. Ciò consente a un utente di ispezionare il contenuto del keystore.
FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -list -v > %CVP_HOME%\conf\security\cvp_keystore.txt
Elimina alias
Con questo comando vengono eliminati l'alias e il certificato correnti. Questo processo è irreversibile, si consiglia di eseguire un backup del keystore.
FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -delete -alias cvp_certificate
Crea nuovo certificato autofirmato
Con questo comando viene creato un nuovo certificato autofirmato. Questo comando è necessario anche se si sceglie di far firmare il certificato da un'autorità di certificazione (CA), in quanto viene creata la chiave privata necessaria per il certificato.
Per i certificati RSA senza SAN (tipico):
FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -genkeypair -alias cvp_certificate -keysize 2048 -keyalg RSA -validity 1825
Per i certificati RSA con SAN:
FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -genkeypair -alias cvp_certificate -keysize 2048 -keyalg RSA -validity 1825 -ext san=dns:mycvp.mydomain.com,dns:localhost
Nome alternativo soggetto
Il parametro -ext consente all'utente di utilizzare estensioni specifiche. Nell'esempio riportato viene aggiunto un nome alternativo del soggetto (SAN) con il nome di dominio completo (FQDN) del server e localhost. È possibile aggiungere ulteriori campi SAN come valori separati da virgole.
I tipi di SAN validi sono:
ip:192.168.0.1
dns:myserver.mydomain.com
email:name@mydomain.com
Ognuno di questi comandi richiede 6 valori. Nell'ordine in cui sono, Nome comune, Unità organizzativa, Organizzazione, Città, Stato e Paese. Copiare le risposte e aggiornarle in base ai requisiti specifici. È quindi possibile incollarli al prompt dei comandi quando necessario.
myserver.mydomain.com
My Organizational Unit
My Company
City
My State
US
Esporta certificato autofirmato
Con questo comando viene esportato il certificato autofirmato. In questo modo, il certificato può essere importato in altri componenti, ad esempio OAMP o PCCE Administration Data Server.
FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -export -alias cvp_certificate -file %CVP_HOME%\conf\security\cvp.crt
Genera richiesta di firma del certificato (CSR)
Con questo comando viene creato un CSR in modo da consentire a un'autorità di certificazione di firmare la richiesta.Per i certificati senza SAN:
FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -certreq -alias cvp_certificate -file %CVP_HOME%\conf\security\cvp.csr
Per i certificati con SAN:
FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -certreq -alias cvp_certificate -file %CVP_HOME%\conf\security\cvp.csr -ext san=dns:mycvp.mydomain.com,dns:localhost
Nota: È necessario includere l'estensione SAN nella richiesta CSR affinché il certificato contenga una SAN.
Importa certificati firmati CA
Con questi comandi vengono importati i certificati radice, intermedi e del server della CA.
Copiare i certificati nella directory %CVP_HOME%\conf\security\.
Assicurarsi di aggiornare il nome alias e il nome certificato come richiesto.
FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -import -v -trustcacerts -alias myrootca -file %CVP_HOME%\conf\security\root.crt
FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -import -v -trustcacerts -alias myintermediate -file %CVP_HOME%\conf\security\intermediate.crt
FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO %CVP_HOME%\jre\bin\keytool.exe -storetype JCEKS -keystore %CVP_HOME%\conf\security\.keystore -storepass %i -import -v -trustcacerts -alias cvp_certificate -file %CVP_HOME%\conf\security\cvp.crt
Verifica
Non sono disponibili passaggi per verificare questa procedura.
Risoluzione dei problemi
Non sono disponibili procedure per la risoluzione dei problemi relativi a questa procedura.