Introducción
Este documento describe una manera de automatizar los diversos comandos usados con los certificados CVP. Esto también proporciona opciones para hacer que el certificado cumpla con RFC.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Portal de voz de Cisco (CVP)
- Herramienta Clave Java
- Certificados de infraestructura de clave pública (PKI)
Componentes Utilizados
La información que contiene este documento se basa en estas versiones de software:
- Cisco Voice Portal (CVP) 12.5(1)
- Unified Contact Center Enterprise (UCCE)
- Packaged Contact Center Enterprise (PCCE)
- Portal de gestión de operaciones y administración (OAMP)
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Configurar
Explicación del comando
Estos comandos fueron creados para automatizar en gran medida los comandos utilizados en la generación de certificados de administración con CVP. Estos no están oficialmente admitidos, pero se han probado.
Ejemplo de salida security.properties:
Security.keystorePW = xt_PXM-*4Z!!ZQID7YX*6K(3iii
La parte de estos comandos que los hace capaces de ser automatizados es la primera parte de la línea. Esta sección muestra la línea y, a continuación, explica cómo funciona.
FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO <command>
Partes de comando:
Sección de comandos |
Explicación |
FOR /f |
Este es el comando DOS FOR con un switch utilizado para procesar el contenido de los archivos para coincidencias específicas. |
"tokens=3" |
Esto indica que necesitamos la tercera ficha o palabra. Con el archivo security.properties de ejemplo que se muestra en esta sección, los 3 tokens son: Token 1: Security.keystorePW Token 2: = Token 3: xt_PXM-*4Z!!ZQID7YX*6K(3iii) |
%i |
Ésta es la variable donde se almacena el valor del comando IN que coincide con el parámetro FOR. |
IN ('más %CVP_HOME%\conf\security.properties') |
Ejecute el comando "more %CVP_HOME%\conf\security.properties" y pase el contenido al comando FOR. |
DO <command> |
Ejecute el comando y pase el valor para %i. |
Los comandos que se muestran en este documento leen la contraseña en security.properties y automatizan la entrada en los comandos keystore. Esto asegura que el usuario final no tenga que escribir o copiar/pegar esta contraseña y elimina los errores que esto puede causar.
Comandos
Todos los comandos de ejemplo funcionan con un alias arbitrario denominado cvp_certificate. Asegúrese de reemplazar el nombre del alias según sea necesario.
Copia de seguridad de alias
Este comando no se utiliza normalmente, pero es útil para realizar una copia de seguridad del certificado antiguo y la clave privada.
El ejemplo cambia el nombre de cvp_certificate a 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
Exportar almacenamiento de claves
Este comando exporta el almacén de claves completo a un archivo de texto. Esto permite al usuario inspeccionar el contenido del almacén de claves.
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
Eliminar alias
Este comando elimina el alias y el certificado actuales. Este proceso es irrevocable, se recomienda encarecidamente realizar una copia de seguridad del almacén de claves.
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
Crear nuevo certificado firmado automáticamente
Este comando crea un nuevo certificado autofirmado. Este comando es necesario incluso si decide que el certificado esté firmado por una autoridad de certificación (CA), ya que crea la clave privada necesaria para el certificado.
Para certificados RSA sin SAN (típico):
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
Para certificados 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
Nombre alternativo del asunto
El parámetro -ext permite que un usuario acceda a extensiones específicas. El ejemplo mostrado agrega un nombre alternativo de asunto (SAN) con el nombre de dominio completo (FQDN) del servidor, así como el host local. Los campos SAN adicionales se pueden agregar como valores separados por comas.
Los tipos de SAN válidos son:
ip:192.168.0.1
dns:myserver.mydomain.com
email:name@mydomain.com
Cada uno de estos comandos requiere que se proporcionen 6 valores. En el orden en que están, Nombre común, Unidad organizativa, Organización, Ciudad, Estado y País. Copie las respuestas y actualícelas para adaptarlas a sus requisitos específicos. A continuación, puede pegarlos en el símbolo del sistema cuando sea necesario.
myserver.mydomain.com
My Organizational Unit
My Company
City
My State
US
Exportar certificado firmado automáticamente
Este comando exporta el certificado autofirmado. Esto permite importar el certificado a otros componentes como 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
Generar solicitud de firma de certificado (CSR)
Este comando crea una CSR para que una CA pueda firmar la solicitud.Para certificados sin 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
Para certificados 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: Debe incluir la extensión SAN en la solicitud CSR para que el certificado contenga una SAN.
Importar certificados firmados por CA
Estos comandos importan los certificados raíz, intermedio y del servidor de CA a su vez.
Copie los certificados en %CVP_HOME%\conf\security\ directory.
Asegúrese de actualizar el nombre del alias y el nombre del certificado según sea necesario.
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
Verificación
No hay pasos para verificar este procedimiento.
Troubleshoot
No hay pasos para resolver este procedimiento.