소개
이 문서에서는 CVP 인증서와 함께 사용되는 다양한 명령을 자동화하는 방법에 대해 설명합니다. 또한 인증서가 RFC를 준수하도록 하는 옵션도 제공합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Cisco 음성 포털(CVP)
- Java 키 도구
- PKI(Public Key Infrastructure) 인증서
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 버전을 기반으로 합니다.
- CVP(Cisco Voice Portal) 12.5(1)
- UCCE(Unified Contact Center Enterprise)
- PCCE(Packaged Contact Center Enterprise)
- OAMP(Operation and Administration Management Portal)
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.
구성
명령 설명
이러한 명령은 CVP를 사용하여 관리 인증서 실행에 사용되는 명령을 대부분 자동화하기 위해 작성되었습니다. 이러한 기능은 공식적으로 지원되지 않지만 테스트되었습니다.
security.properties 출력 예:
Security.keystorePW = xt_PXM-*4Z!!ZQID7YX*6K(3iii
이러한 명령을 자동화할 수 있게 하는 부분은 첫 번째 부분입니다. 이 섹션에서는 행을 보여 주고 작동 방식을 설명합니다.
FOR /f "tokens=3" %i IN ('more %CVP_HOME%\conf\security.properties') DO <command>
명령 부분:
명령 섹션 |
설명 |
/f |
특정 일치 항목에 대한 파일 내용을 처리하는 데 사용되는 스위치가 있는 DOS FOR 명령입니다. |
"토큰=3" |
이는 세 번째 토큰 또는 단어가 필요하다는 것을 나타냅니다. 이 섹션에 나와 있는 security.properties 파일의 예는 다음과 같습니다. 토큰 1: Security.keystorePW 토큰 2: = 토큰 3: xt_PXM-*4Z!!ZQID7YX*6K(3iii) |
%i |
FOR 매개 변수와 일치하는 IN 명령 값이 저장되는 변수입니다. |
수신('추가 %CVP_HOME%\conf\security.properties') |
"more %CVP_HOME%\conf\security.properties" 명령을 실행하고 내용을 FOR 명령에 전달합니다. |
DO <명령> |
명령을 실행하고 %i의 값을 전달합니다. |
이 문서에 표시된 명령은 security.properties의 비밀번호를 읽고 keystore 명령의 항목을 자동화합니다. 이렇게 하면 최종 사용자가 이 비밀번호를 입력하거나 복사/붙여넣을 필요가 없으며 이로 인해 발생할 수 있는 오류가 제거됩니다.
명령
이 예제 명령은 모두 cvp_certificate라는 영리 별칭을 사용하여 작동합니다. 필요에 따라 별칭 이름을 바꿔야 합니다.
별칭 백업
이 명령은 일반적으로 사용되지 않지만 이전 인증서 및 개인 키를 백업하는 데 유용합니다.
이 예에서는 cvp_certificate의 이름을 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
키 저장소 내보내기
이 명령은 전체 키 저장소를 텍스트 파일로 내보냅니다. 이를 통해 사용자는 키 저장소의 내용을 검사할 수 있습니다.
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
별칭 삭제
이 명령은 현재 별칭 및 인증서를 삭제합니다. 이 프로세스는 취소할 수 없습니다. 키 저장소를 백업하는 것이 좋습니다.
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
새 자체 서명 인증서 생성
이 명령은 자체 서명된 새 인증서를 생성합니다. 이 명령은 CA(Certificate Authority)에서 인증서를 서명하도록 선택한 경우에도 필요합니다. 이는 인증서에 필요한 개인 키를 생성하기 때문입니다.
SAN이 없는 RSA 인증서의 경우(일반):
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
SAN을 사용하는 RSA 인증서의 경우:
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
주체 대체 이름
-ext 매개 변수를 사용하면 특정 확장을 수행할 수 있습니다. 표시된 예에서는 서버의 FQDN(정규화된 도메인 이름)과 localhost를 사용하여 주체 대체 이름(SAN)을 추가합니다. 추가 SAN 필드는 쉼표로 구분된 값으로 추가할 수 있습니다.
유효한 SAN 유형은 다음과 같습니다.
ip:192.168.0.1
dns:myserver.mydomain.com
email:name@mydomain.com
이러한 각 명령에는 6개의 값을 제공해야 합니다. Common Name, Organizational Unit, Organization, City, State, Country 순으로 표시됩니다. 답변을 복사하고 특정 요구 사항에 맞게 업데이트합니다. 그런 다음 필요할 때 명령 프롬프트에 붙여넣을 수 있습니다.
myserver.mydomain.com
My Organizational Unit
My Company
City
My State
US
자체 서명 인증서 내보내기
이 명령은 자체 서명 인증서를 내보냅니다. 이렇게 하면 인증서를 OAMP 또는 PCCE 관리 데이터 서버와 같은 다른 구성 요소로 가져올 수 있습니다.
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
CSR(Certificate Signing Request) 생성
이 명령은 CA가 요청에 서명하도록 CSR을 생성합니다.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
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
참고: 인증서에 SAN이 포함되려면 CSR 요청에 SAN 확장을 포함해야 합니다.
CA 서명 인증서 가져오기
이러한 명령은 CA 루트, 중간 및 서버 인증서를 차례로 가져옵니다.
인증서를 %CVP_HOME%\conf\security\ directory에 복사합니다.
필요에 따라 별칭 이름과 인증서 이름을 업데이트해야 합니다.
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
다음을 확인합니다.
이 절차를 확인하는 단계는 없습니다.
문제 해결
이 절차를 트러블슈팅하는 단계는 없습니다.