본문 바로가기

Secure UC

[연재] Cisco Secure IP Telephony 길라잡이 - (6) 외부 CA 서버에서 CUBE 인증서 받기

글 싣는 순서

1. CTL Client 개요 및 설치
2. CTL Client 설정하기
3. 전화기를 보안모드로 설정하기 
4. 외부 CA 서버에서 CUCM 인증서 받기
5. 외부 CA 서버에서 IP Phone 인증서 받기
6. 외부 CA 서버에서 CUBE 인증서 받기
7. CUCM과 CUBE간 TLS 연동



이 번 글에서는 CUBE에 인증서를 주입하는 과정을 설명드리고, 다음 장에서 CUCM과 CUBE간에 SRTP를 사용할 수 있도록 하겠습니다. "Cisco Secure IP Telephony 길라잡이" 연재를 정독해 오신 분들은 5장 "외부 CA서버에서 IP Phone 인증서 받기"이 빠진 것을 아실 것입니다. 우선은 CUBE를 먼저 정리하겠습니다. 

이글은 IOS기반의 라우터 및 CUBE를 다루다보니 기술적인 내용이 많습니다. 내용의 이해를 위해 "Cisco Secure IP Telephony의 이해 - (4) PKI의 이해"를 먼저 참조하시고 이글을 따라하길 권합니다. CUCM이나 전화기 부분은 PKI를 몰라도 웹기반이라 따라하기로도 충분하지만, CUBE는 기본 지식이 없으면 명령어를 이해하는 데 좀 무리가 있을 것으로 판단됩니다. 


TLS및 SRTP를 위한 CUBE 라이센스
CUBE에서 TLS 및 SRTP를 사용하기 위한 Technology Package는 Security와  UC 입니다. 쉽게 범하는 오류가 Securiry Technology Package를 구매하지 않는 경우입니다.  

아래는 Show Version으로 본 라이센스 정보입니다.

Technology Package License Information for Module:'c2900' 

-----------------------------------------------------------------
Technology    Technology-package           Technology-package
                      Current       Type                  Next reboot  
------------------------------------------------------------------
ipbase        ipbasek9      Permanent      ipbasek9
security      securityk9    RightToUse     securityk9
uc            uck9          Permanent      uck9
data          None          None           None



외부 인증서 주입 순서
외부 CA 서버를 통한 인증서를 주입하기 위해서는 키를 생성한 후에 CSR을 생성하여 CA에 전송합니다. CA로부터 인증서 및 인증서 체인을 수령하여 장비 또는 기기에 주입합니다.  이러한 일반적인 과정외에 IOS 기반의 라우터는 트러스트포인트(Trustpoint)를 생성하는 과정이 추가됩니다. 일련의 과정을 이해해야지만 전체 흐름을 이해할 수 있을 것입니다. 

      • 키생성

      • 트러스트포인트(Trustpoint) 생성
        - 생성된 키를 연동
        - subject-name 설정 및 세부 항목 결정
        - CSR 생성

      • 외부 CA로 CSR 전송 및 인증서와 인증서 체인 (Certificate Chain)획득

      • RootCA를 위한 트러스트포인트 추가 생성하여 RootCA 인증서 주입

      • 처음 생성한 트러스트포인트에 SubCA 인증서 주입

      • 처음 생성한 트러스트포인트에 CUBE의 인증서 주입


지금까지는 CUCM은 웹기반으로 되어 있지만, CUBE나 일반 라우터는 CLI로 관리합니다. CLI는 익숙해지면 편리하지만, 익숙하지 않으면 불편하다는 단점이 있습니다. 인증서 주입 및 삭제는 CCP라는 웹기반의 라우터 관리 프로그램을 이용할 수 있지만, 여기에서는 CLI로 설명합니다.  


키생성
인증서를 CA로 부터 수신하기 위해서는 라우터에서 키를 먼저 생성해야 합니다.

  • 호스트 네임과 도메인 네임 설정
    키를 생성 시에 포함되는 정보는 호스트 네임과 도메인 네임입니다. CUBE에서 CSR을 추출하기 전에 먼저 설정해야 합니다. 

    router(config)#hostname VG_yohur
    VG_yohur(config)#ip domain-name cisco.com


  • 시간 설정
    다음으로 모든 인증서는 유효기간이 명시되어 있습니다. 기기 인증서는 주로 3년 또는 5년단위로 사용하므로 CA 서버와 장비들이 시간을 맞추는 것을 권고합니다. 시간을 직접 세팅하거나 NTP를 사용할 수 있습니다. 


  • 키 생성
    지금부터 CUBE를 위한 키를 생성하도록 하겠습니다. 이과정을 통해 CUBE를 위한키를 생성합니다.   

    VG_yohur(config)#crypto key generate rsa modulus 1024 label sip-trunk-key exportable 
    The name for the keys will be: sip-trunk-key
    % The key modulus size is 1024 bits
    % Generating 1024 bit RSA keys, keys will be exportable...
    [OK] (elapsed time was 1 seconds)

    상대적으로 매우 짧은 시간에 키가 생성됩니다. crypto key generate rsa 명령어에 포함되어있는 몇 가지 옵션에 대해 살펴보겠습니다.

    - exportable / non-exportable : 생성된 키쌍을 라우터 내에만 둘지 외부로 추출할지를 결정합니다. 일반적으로 백업 용도로 추출하기도 하지만, 보안의 위험성을 증가시킵니다.

    label : 생성된 키쌍의 이름을 설정합니다. 즉, 다양한 목적으로 여러개의 키를 동시에 생성할 수 있습니다.

    - modulus :  키의 길이를 결정합니다. 일반적으로 1024 또는 2048 bits를 사용합니다. (최대 4096bits)


CUBE에서 키를 생성했습니다. CUBE의 RSA Keypair (키쌍)은 생성하지 않고 외부에서 생성하여 추가할 수 있습니다만, 여기에서는 자체적으로 생성했습니다. 필자는 PKCS#10이 가장 안전하다고 생각힙니다.  


Trustpoint(트러스트포인트) 생성
시스코 IOS는 Trustpoint라는 개념을 사용합니다. Trustpoint는 CA, 인증서, CRL 등과 같은 모든 암호화 관련 정보를 가집니다. 하나의 라우터에 다수의 CA가 연계되어 있다면, 다수의 Trustpoint가 생성되어야 합니다.  

트러스트포인트를 생성하기 위해서는 crypto pki trustpoint 명령어를 사용하며, sip-trunk-cert는 일반적으로 CA 서버의 이름을 사용합니다. 

VG_yohur(config)#crypto pki trustpoint sip-trunk-cert
VG_yohur(ca-trustpoint)#enrollment terminal
VG_yohur(ca-trustpoint)#serial-number none
VG_yohur(ca-trustpoint)#fqdn none
VG_yohur(ca-trustpoint)#ip-address none
VG_yohur(ca-trustpoint)#revocation-check none
VG_yohur(ca-trustpoint)#rsakeypair sip-trunk-key
VG_yohur(ca-trustpoint)#subject-name cn=VG_yohur,ou=test,o=cisco,l=seoul,st=seoul,c=kr
VG_yohur(ca-trustpoint)#exit

위에서 Crypto pki trustpoint에 사용된 명령어의 의미에 대해 간단하게 살펴보겠습니다.

  • Enrollment 
    CSR 및 인증서를 교환하기 위한 방법을 선택합니다.
    - terminal (offline) : CLI를 이용하여 PEM으로 엔코딩된 CSR과 인증서를 Copy and Paste로 함
    - url (online) : SCEP 프로토콜을 이용하여 등록함
    - selfsigned(no CA) : 별도의 CA가 없을 경우에도 PKI를 이용할 경우
  • 인증서 생성에 불필요한 값을 제거
    - serial-number none : Serial-number를 추가하지 않음
    - fqdn none : 도메인 네임을 추가하지 않음
    - ip-address none : 장비의 IP 주소를 추가하지 않음
    - revocation-check none : 인증서의 유효성 검증을 하지 않음

  • Subject-name 생성
    Subject-name은 기기의 상세 내역입니다. 세부 항목은 아래와 같으며, 모든 항목을 사용할 필요는 없지만, CN은 반드시 사용해야 합니다. 
    - CN (Common name) : 기기의 호스트네임이나 사용자 이름
    - OU (Organizational unit) : 부서 또는 조직명
    - O (Orranization) : 회사명
    - L (locality) : 도시명
    - ST (State) : 주 또는 도명
    - C (Country) : 국가명


  • RSA  키 연동
    만일 rsakeypair 명령으로 키를 연동하지 않으면, 이때에 자동으로 키를 새롭게 생성하므로 위에 생성한 키를 사용할 수 없습니다. 

여기서 언급된 SCEP 프로토콜은 Simple Certificate Enrollment Protocol의 약자로써, 기기 인증서를 자동으로 송수신하기 위한 프로토콜입니다. CUCM은 4.x 버전은 지원하였으나, CUCM 5.x 이후 버전은 지원하지 않습니다만, 시스코의 IOS에서는 지원하는 기능입니다.  

Revocation-check는 향후에 다시 다루겠지만, CRL을 이용한 방법과 OCSP를 이용한 방법 두가지가 있습니다. OCSP는 On-line Certificate Status Protocol로 유효성을 검증하는 프로토콜입니다. 시스코의 CUCM 및 모든 IOS 기반의 제품들이 지원합니다.    


CSR 추출
CSR은 Certificate Signing Request를 의미하며, 외부 CA로 부터 인증을 받기 위한 것입니다. 

  • CSR 템플릿 만들기
    라우터는 CSR을 PEM 포맷으로 생성하지만, PEM 포맷의 시작과 마지막 문자열을 생성하지 않으므로 직접 만들어야 합니다. 노트패드(
    Notepad)를 열고, 아래의 내용을 복사합니다. 

    -----BEGIN CERTIFICATE REQUEST-----

    -----END CERTIFICATE REQUEST-----


  • CSR 생성
    이제 아래 명령어를 이용하여  트러스트포인트에 연동된 RSA 키에 대한 CSR을 터미널로 표시합니다. 

    VG_yohur(config)#crypto pki enroll sip-trunk-cert
    % Start certificate enrollment .. 
    % The subject name in the certificate will include: cn=VG_yohur.cisco.com,ou=test,o=cisco,l=seoul,st=seoul,c=kr
    % The fully-qualified domain name will not be included in the certificate

    Display Certificate Request to terminal? [yes/no]: yes
    Certificate Request follows:

    MIIByjCCATMCAQAwaTELMAkGA1UEBhMCa3IxDjAMBgNVBAgTBXNlb3VsMQ4wDAYD
    VQQHEwVzZW91bDEOMAwGA1UEChMFY2lzY28xDTALBgNVBAsTBHRlc3QxGzAZBgNV
    BAMMElZHX3lvaHVyLmNpc2NvLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
    gYEAqY81eFQ3yAZuhLi0bMFCp0W1m7+i4P7euXk7+i1b+4zMib3Y3t4LSjaCBNux
    n8vb2WdtBZ+u5pg4tNVCgX0NbRmK77PoLCeQzM1vZwbDaIJvkuT89auwJZJ6BlY7
    mRYgDn8CFypFLEBx9GYNkh3iowrkZar+W4RmxJlV7HqLpIECAwEAAaAhMB8GCSqG
    SIb3DQEJDjESMBAwDgYDVR0PAQH/BAQDAgWgMA0GCSqGSIb3DQEBBQUAA4GBABrY
    e+woq0WcrdNeVdObn88PZxI5wGNrlMSX6/DHXiYgd2dFSoHb8LS8om2t8PAABVIJ
    xNQS9rUGASg8GEDgyBNHqo7GIdjnqJ8xSebM58zgc3pkELW4kN61ATjnxTW3LUKh
    A5QUFG+Fe9WfTkvG5nYmiBXwe1JpmDvjUAOFthU2
    ---End - This line not part of the certificate request---

    Redisplay enrollment request? [yes/no]: no


  • CSR 템플릿으로 복사
    위에서 Certificate Request follows: 이하의 난수열을 카피하여 노트패드(notepad)로 만든 CSR 템플릿에 복사합니다. 복사할때는 스페이스(빈 공간)가 들어가지 않도록 조심합니다.  CSR이 터미날에 표시되는 것은 트러스터포인트를 생성할 때 Enrollment(등록) 방식을 터미날로 결정하였기 때문입니다.  아래 그림은 실제 Copy-and-paste로 만든 CSR입니다. 



    저장할때는 .CSR이라는 확장자를 반드시 붙여주어야 합니다. 위의 그림에서 .txt로 되어 있는 것은 텍스트파일로 보기위해 확장자를 잠깐 변경한 것입니다. 


외부 CA로 부터 인증서 받은 후 포맷 변경
CSR을 생성하여 CA로 보내 Certificate(인증서)와 인증서 체인을 수령합니다. 인증서 체인과 인증서가 DER 포맷일 경우 IOS 라우터는 PEM 포맷을 받아들이므로 변경해야 합니다. 저는 Mac Book 터미널을 이용하여 변경하였습니다. 

포맷 변경을 위한 명령어는 다음과 같으며, 변경하고자 하는 파일은 rootcert.der 입니다.

"openssl x509 -in rootcert.der -inform DER -out rootcert.pem -outform PEM"

아래 그림은 DER 포맷 파일을 PEM 포맷으로 변경한 파일로 TXT 확장자를 붙인것은 Notepad에서 읽어들이기 위해서 입니다. 

만일 openssl x509 명령어가 동작하지 않는다면, CUCM의 OS Admin 페이지에서 직접 PEM 파일을 다운로드 받는 것도 방법입니다. 일반적으로 한 기업의 PKI 시스템은 동일한 CA 서버를 사용하기 때문입니다.  파일을 다운로드 받는 방법은 다음장에서 설명될 예정입니다. 


루트 CA를 위한 트러스트포인트 생성 및 인증서 주입
RootCA를 위한 rootca-01이라는 트러스트포인트를 생성하고, RootCA 인증서를 주입합니다.

  • 트러스트포인트 생성
    RootCA를 위해 rootca-01이라는 트러스트포인트를 생성합니다.

    VG_yohur(config)#crypto pki trustpoint rootca-01
    VG_yohur(ca-trustpoint)#enrollment terminal 
    VG_yohur(ca-trustpoint)#revocation-check none
    VG_yohur(ca-trustpoint)#exit


  • 루트 인증서를 rootca-01 트러스트포인트에 주입
    다음으로 rootca-01에 루트인증서를 주입또는 인증하겠습니다. CSR 추출시에는 PEM 파일의 처음과 마지막 문자열이 없었지만, 주입할 때는 파일의 전체 내용을 복사합니다. 

    VG_yohur(config)#crypto pki authenticate rootca-01
    Enter the base 64 encoded CA certificate.
    End with a blank line or the word "quit" on a line by itself

    -----BEGIN CERTIFICATE-----
    MIIDfTCCAmWgAwIBAgIBATANBgkqhkiG9w0BAQsFADBoMQswCQYDVQQGEwJLUjEN
    MAsGA1UECgwES0lTQTEuMCwGA1UECwwlS29yZWEgQ2VydGlmaWNhdGlvbiBBdXRo
    (인증서의 보안성을 감안하여 이하 중략)
    HetPRTGwbQAdAnAYSd8z7ezPlS10GuAaM16winA8QWceReIjF5Yvml8M0fLFzbO7
    dGw9CgA0joQhDYgF5U9JO9AarMYA0AQa1AyjGO2cioEB
    -----END CERTIFICATE-----

    Certificate has the following attributes:
           Fingerprint MD5: FD5DC497 B6E22789 10389221 B9B0850C 
           Fingerprint SHA1: 0CC740C7 39242BAC 69279670 04CC0C4D F4852F77 

    % Do you accept this certificate? [yes/no]: yes
    Trustpoint CA certificate accepted.
    % Certificate successfully imported

    VG_yohur(config)#

    여기서 "Do you accept this certificate?" 라는 것을 물어 보는 이유는 RootCA 인증서이기때문입니다. 다음에 주입할 SubCA 인증서는 RootCA가 인증하므로 이런 질문을 하지 않습니다.



Trunk연동을 위한 최초의 트러스트포인트에 인증서 주입
본격적으로 SubCA최초의 트러스트포인트는 이미 생성하였던 sip-trunk-cert입니다. 여기에 SubCA인증서와 CUBE의 인증서를 주입합니다.

  • SubCA 인증서 주입
    sip-trunk-cert 트러스트포인트에 SubCA 인증서 주입

    VG_yohur(config)#crypto pki authenticate sip-trunk-cert

    Enter the base 64 encoded CA certificate.
    End with a blank line or the word "quit" on a line by itself

    -----BEGIN CERTIFICATE-----
    MIIEuzCCA6OgAwIBAgICJxEwDQYJKoZIhvcNAQELBQAwaDELMAkGA1UEBhMCS1Ix
    DTALBgNVBAoMBEtJU0ExLjAsBgNVBAsMJUtvcmVhIENlcnRpZmljYXRpb24gQXV0
    (인증서의 보안성을 감안하여 이하 중략)
    6ZbrJiU+mkVz28cFp1iJJp+Ye7OyF9egEjmZ4hWbapmtFDnUiDm8a7Usu6nxMNv1
    0y08VkcibZeIAPIptdEu
    -----END CERTIFICATE-----

    Certificate has the following attributes:
          Fingerprint MD5: C95E7F9E 8B58BAC8 77675475 CAFD9097 
          Fingerprint SHA1: 5AFE4BAF E1B97D46 D6F23E3C E9DED1AF E719E73C 

    Certificate validated - Signed by existing trustpoint CA certificate.

    Trustpoint CA certificate accepted.
    % Certificate successfully imported



  • CUBE 인증서 주입
    SubCA 인증서를 주입한 후에 이제 CUBE가 직접 이용하는 CUBE의 인증서를 주입하도록 하겠습니다.

    VG_yohur(config)#crypto pki import sip-trunk-cert certificate 
    % The fully-qualified domain name will not be included in the certificate

    Enter the base 64 encoded certificate.
    End with a blank line or the word "quit" on a line by itself

    -----BEGIN CERTIFICATE-----
    MIIEeDCCA2CgAwIBAgIDAJTsMA0GCSqGSIb3DQEBCwUAMFUxCzAJBgNVBAYTAktS
    MQ0wCwYDVQQKDARLSUNBMRUwEwYDVQQLDAxBY2NyZWRpdGVkQ0ExIDAeBgNVBAMM
    F1NpZ25HQVRFIERldmljZSBDQS0wMTAxMB4XDTEyMTEyMzA0MjEyOFoXDTEzMTEy
    MzE0NTk1OVowXTELMAkGA1UEBhMCS1IxDTALBgNVBAoMBEtJQ0ExEzARBgNVBAsM
    CmxpY2Vuc2VkQ0ExDTALBgNVBAsMBFRFU1QxGzAZBgNVBAMMElZHX3lvaHVyLmNp
    c2NvLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAqY81eFQ3yAZuhLi0
    bMFCp0W1m7+i4P7euXk7+i1b+4zMib3Y3t4LSjaCBNuxn8vb2WdtBZ+u5pg4tNVC
    gX0NbRmK77PoLCeQzM1vZwbDaIJvkuT89auwJZJ6BlY7mRYgDn8CFypFLEBx9GYN
    kh3iowrkZar+W4RmxJlV7HqLpIECAwEAAaOCAcswggHHMIGTBgNVHSMEgYswgYiA
    FKmhq/QLZUBfXE83Q9Wn+tW3HdOboWykajBoMQswCQYDVQQGEwJLUjENMAsGA1UE
    CgwES0lTQTEuMCwGA1UECwwlS29yZWEgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
    Q2VudHJhbDEaMBgGA1UEAwwRS0lTQSBSb290Q0EgRGV2IDGCAicRMAsGA1UdDwQE
    AwIFoDAYBgNVHSAEETAPMA0GCyqDGoyaRAUCZQEBMB0GA1UdJQQWMBQGCCsGAQUF
    BwMBBggrBgEFBQcDAjBhBgNVHR8EWjBYMFagVKBShlBodHRwOi8vZGNhLnNpZ25n
    YXRlLmNvbS9UMDEwMy9vdT1kcDJwMTMsb3U9Y3JsZHAsb3U9QWNjcmVkaXRlZENB
    LG89S0lDQSxjPUtSLmNybDCBhQYIKwYBBQUHAQEEeTB3MHUGCCsGAQUFBzAChmlo
    dHRwOi8vZGNhLnNpZ25nYXRlLmNvbS9UMDEwMy9jbj1TaWduR0FURSBEZXZpY2Ug
    Q0EtMDEwMSxvdT1BY2NyZWRpdGVkQ0Esbz1LSUNBLGM9S1I/Y0FDZXJ0aWZpY2F0
    ZTtiaW5hcnkwDQYJKoZIhvcNAQELBQADggEBANyK3WxWULdA5AD21AE9gR0KUwTI
    YLv1l7MC/QkmXQPccflpZg47VWmUcmHKUDvNDmCUq/8+RnC8lotyXkw7Be/vhD7L
    3Ty6vXrTIkwIVmnQioZHx8WygjZtCBTWoQm9eu+nCZb7S5TdQrMl55eyCJtAkFVD
    OFbIct0jZKudbGVYFzQE0et0SsoHhA+XylmwEjT+X9bkBacnT4M3s/zyVxjvPBXD
    /tV4q90GuAIOjUNc43jz2xgSzmLuYBydS6yS/228q5BvwhoSuFZBKC1GW543scv+
    BZihVgcs/a4AUHahQDXLLKA0QCUxmPFTKifAS1qxZO+uu/zIVNfJshjvKWo=
    -----END CERTIFICATE-----

    % Router Certificate successfully imported

    VG_yohur(config)#

여기에서는 따로 질문하지 않고, "Certificate Validated - Signed by existing trustpoint CA certificate"라고 표시됩니다. 즉, 기존의 rootca-01이라는 트러스트포인트에 의해 서명되었음을 검증한 것입니다. 


지금까지 구성한 인증서 관련 구성정보 확인
CUBE에서 각각 설정한 명령어들을 Show run 으로 살펴보았습니다. 


crypto pki trustpoint sip-trunk-cert
 enrollment terminal
 serial-number none
 fqdn none
 ip-address none
 subject-name cn=VG_yohur.cisco.com,ou=test,o=cisco,l=seoul,st=seoul,c=kr
 revocation-check none
 rsakeypair sip-trunk-key
!
crypto pki trustpoint rootca-01
 enrollment terminal
 revocation-check none
!
!         
crypto pki certificate chain sip-trunk-cert
 certificate 0094EC
  30820478 30820360 A0030201 02020300 94EC300D 06092A86 4886F70D 01010B05 
  00305531 0B300906 03550406 13024B52 310D300B 06035504 0A0C044B 49434131 
  15301306 0355040B 0C0C4163 63726564 69746564 43413120 301E0603 5504030C 
  17536967 6E474154 45204465 76696365 2043412D 30313031 301E170D 31323131 
  32333034 32313238 5A170D31 33313132 33313435 3935395A 305D310B 30090603 
  55040613 024B5231 0D300B06 0355040A 0C044B49 43413113 30110603 55040B0C 
  0A6C6963 656E7365 64434131 0D300B06 0355040B 0C045445 5354311B 30190603 
  5504030C 1256475F 796F6875 722E6369 73636F2E 636F6D30 819F300D 06092A86 
  4886F70D 01010105 0003818D 00308189 02818100 A98F3578 5437C806 6E84B8B4 
  6CC142A7 45B59BBF A2E0FEDE B9793BFA 2D5BFB8C CC89BDD8 DEDE0B4A 368204DB 
  B19FCBDB D9676D05 9FAEE698 38B4D542 817D0D6D 198AEFB3 E82C2790 CCCD6F67 
  06C36882 6F92E4FC F5ABB025 927A0656 3B991620 0E7F0217 2A452C40 71F4660D 
  921DE2A3 0AE465AA FE5B8466 C49955EC 7A8BA481 02030100 01A38201 CB308201 
  C7308193 0603551D 2304818B 30818880 14A9A1AB F40B6540 5F5C4F37 43D5A7FA 
  D5B71DD3 9BA16CA4 6A306831 0B300906 03550406 13024B52 310D300B 06035504 
  0A0C044B 49534131 2E302C06 0355040B 0C254B6F 72656120 43657274 69666963 
  6174696F 6E204175 74686F72 69747920 43656E74 72616C31 1A301806 03550403 
  0C114B49 53412052 6F6F7443 41204465 76203182 02271130 0B060355 1D0F0404 
  030205A0 30180603 551D2004 11300F30 0D060B2A 831A8C9A 44050265 0101301D 
  0603551D 25041630 1406082B 06010505 07030106 082B0601 05050703 02306106 
  03551D1F 045A3058 3056A054 A0528650 68747470 3A2F2F64 63612E73 69676E67 
  6174652E 636F6D2F 54303130 332F6F75 3D647032 7031332C 6F753D63 726C6470 
  2C6F753D 41636372 65646974 65644341 2C6F3D4B 4943412C 633D4B52 2E63726C 
  30818506 082B0601 05050701 01047930 77307506 082B0601 05050730 02866968 
  7474703A 2F2F6463 612E7369 676E6761 74652E63 6F6D2F54 30313033 2F636E3D 
  5369676E 47415445 20446576 69636520 43412D30 3130312C 6F753D41 63637265 
  64697465 6443412C 6F3D4B49 43412C63 3D4B523F 63414365 72746966 69636174 
  653B6269 6E617279 300D0609 2A864886 F70D0101 0B050003 82010100 DC8ADD6C 
  5650B740 E400F6D4 013D811D 0A5304C8 60BBF597 B302FD09 265D03DC 71F96966 
  0E3B5569 947261CA 503BCD0E 6094ABFF 3E4670BC 968B725E 4C3B05EF EF843ECB 
  DD3CBABD 7AD3224C 085669D0 8A8647C7 C5B28236 6D0814D6 A109BD7A EFA70996 
  FB4B94DD 42B325E7 97B2089B 40905543 3856C872 DD2364AB 9D6C6558 173404D1 
  EB744ACA 07840F97 CA59B012 34FE5FD6 E405A727 4F8337B3 FCF25718 EF3C15C3 
  FED578AB DD06B802 0E8D435C E378F3DB 1812CE62 EE601C9D 4BAC92FF 6DBCAB90 
  6FC21A12 B8564128 2D465B9E 37B1CBFE 0598A156 072CFDAE 005076A1 4035CB2C 
  A0344025 3198F153 2A27C04B 5AB164EF AEBBFCC8 54D7C9B2 18EF296A
  quit
 certificate ca 2711
  308204BB 308203A3 A0030201 02020227 11300D06 092A8648 86F70D01 010B0500 
  3068310B 30090603 55040613 024B5231 0D300B06 0355040A 0C044B49 5341312E 
  302C0603 55040B0C 254B6F72 65612043 65727469 66696361 74696F6E 20417574 
  686F7269 74792043 656E7472 616C311A 30180603 5504030C 114B4953 4120526F 
  6F744341 20446576 2031301E 170D3039 31323238 30363131 32365A17 0D323931 
  32323830 36313132 365A3055 310B3009 06035504 0613024B 52310D30 0B060355 
  040A0C04 4B494341 31153013 06035504 0B0C0C41 63637265 64697465 64434131 
  20301E06 03550403 0C175369 676E4741 54452044 65766963 65204341 2D303130 
  31308201 22300D06 092A8648 86F70D01 01010500 0382010F 00308201 0A028201 
  0100EF2A AA6F701B 7CEF7996 15843197 8AB215C0 825D014F F40D190E 7E81E2CF 
  EE9586DC BB123BC2 93C9966F 6259F29A 52216C05 2EF8EBE4 68491000 B8EE992F 
  BD4B0B3E E5EBAEF4 66F171DC 88F00799 9508CE34 E126E499 D8B301EA B535F3FF 
  FCA866E1 0682E02D 5A76A480 B8284EBB 82443A3D 9A3C5E98 F181B61A 3A76E3A8 
  F87CD95B E255A287 535F0175 F6937C77 09AD7178 3BFEA852 1839C842 D3291881 
  99CCAC65 8F11E1F3 05B2843C B3582A78 5EF8D7C7 2C4EAB75 FC116DE3 87F13D4E 
  69D7FBDC 0554485C 4A188076 EBBB4A23 8ED0956F 952773E4 2E58585D 266E1E05 
  B1CE9533 6E013D73 323A029D 6F01798B 540B4612 68C52F58 E4516704 D77069B3 
  335F0203 010001A3 82018030 82017C30 81920603 551D2304 818A3081 87801405 
  0215260E 29D43966 5A62DE49 9CBAD508 992B41A1 6CA46A30 68310B30 09060355 
  04061302 4B52310D 300B0603 55040A0C 044B4953 41312E30 2C060355 040B0C25 
  4B6F7265 61204365 72746966 69636174 696F6E20 41757468 6F726974 79204365 
  6E747261 6C311A30 18060355 04030C11 4B495341 20526F6F 74434120 44657620 
  31820101 301D0603 551D0E04 160414A9 A1ABF40B 65405F5C 4F3743D5 A7FAD5B7 
  1DD39B30 0E060355 1D0F0101 FF040403 02010630 14060355 1D200101 FF040A30 
  08300606 04551D20 00301206 03551D13 0101FF04 08300601 01FF0201 00300F06 
  03551D24 0101FF04 05300380 0100307B 0603551D 1F047430 723070A0 6EA06C86 
  6A687474 703A2F2F 6463612E 7369676E 67617465 2E636F6D 2F303130 312F434E 
  3D4B4953 4120526F 6F744341 20446576 20312C4F 553D4B6F 72656120 43657274 
  69666963 6174696F 6E204175 74686F72 69747920 43656E74 72616C2C 4F3D4B49 
  53412C43 3D4B522E 61726C30 0D06092A 864886F7 0D01010B 05000382 01010017 
  BC7B0F35 59389B93 85F45AE7 157B7539 C79DDD1B 59365682 EF16DA9A 79BBCEC0 
  C5971B46 CDC6D4E0 1087964E F97254CD 7638EC65 03CDE550 2563B98B 4D6728A0 
  81D5B56C 1C97BB62 9F90F7A8 1E2DA4E9 F2109DD8 A81B5BF6 95071197 9F6B11DF 
  389A35FC E3ADDF17 CCCD3504 4F58FFA1 36F872FD FBE6B3CB 41C6C10A A5770307 
  712DDF80 EB9E7CFE E82C8A86 F14B8B49 8017C6EF D6101F47 FE2AE89F D99A75F5 
  13C3402F 0FC5ECFF 77E51515 EF201727 D9DE9A3A EDB7275F E4998585 B9211F5A 
  E996EB26 253E9A45 73DBC705 A7588926 9F987BB3 B217D7A0 123999E2 159B6A99 
  AD1439D4 8839BC6B B52CBBA9 F130DBF5 D32D3C56 47226D97 8800F229 B5D12E
  quit
crypto pki certificate chain rootca-01
 certificate ca 01
  3082037D 30820265 A0030201 02020101 300D0609 2A864886 F70D0101 0B050030 
  68310B30 09060355 04061302 4B52310D 300B0603 55040A0C 044B4953 41312E30 
  2C060355 040B0C25 4B6F7265 61204365 72746966 69636174 696F6E20 41757468 
  6F726974 79204365 6E747261 6C311A30 18060355 04030C11 4B495341 20526F6F 
  74434120 44657620 31301E17 0D303931 32303230 32343134 335A170D 33393132 
  30323032 34313433 5A306831 0B300906 03550406 13024B52 310D300B 06035504 
  0A0C044B 49534131 2E302C06 0355040B 0C254B6F 72656120 43657274 69666963 
  6174696F 6E204175 74686F72 69747920 43656E74 72616C31 1A301806 03550403 
  0C114B49 53412052 6F6F7443 41204465 76203130 82012230 0D06092A 864886F7 
  0D010101 05000382 010F0030 82010A02 82010100 B019DCD9 A5CF2475 C5A5276E 
  7168F022 79EFF026 C0135B9E F2AB74FF 4D1605F3 004EE9DA 99829C16 00FE4F94 
  1EFCB023 C703EAFB 53A86397 C7499AA0 D4EF3391 6BFC9F59 8820EE5B 5FFC7D98 
  A9EEB24A D3C6610D C2B4DD2E B6F07889 F48E93FF B6F76DC0 D6193CA1 5FB57688 
  B1492ADC 6CEDB7BD 08196433 95BB64A5 F1926C45 2C99B377 50148889 9060CF3F 
  96C39D8F 231AE2EA 87CF6083 B02059B9 6FE60BF0 22E07837 DFA75DCD 4E9F02FF 
  0CC1AF95 C89B688C 4C481A9F 4398AA79 2FE9D903 E25FD5DC F3AE7433 E3432CC4 
  2507AFB5 2A764B23 4BCDB9FC 85D7B3B9 DCD3A3A6 F6F3E67F 37823C6B 3A674F72 
  74F1764B 81697663 E49F509D 0A9250FC 7563F92F 02030100 01A33230 30301D06 
  03551D0E 04160414 05021526 0E29D439 665A62DE 499CBAD5 08992B41 300F0603 
  551D1301 01FF0405 30030101 FF300D06 092A8648 86F70D01 010B0500 03820101 
  005CB7B8 84EC8E6B 81B8DE7A F51DDCAD ACC99B87 9910C0E7 E442ABCA E2798C47 
  780BA875 7CB53A7A 442FDBF0 5AF363B1 DA6C936A 936E9200 D5102DF9 F936AF8F 
  284D60E2 5E50221A 372D888B 6E9B3C3A 5E55B9BE FE429AF5 265C938C 3358F781 
  39AFF770 35A7DA91 9724D1E8 77F24057 D2849C8B 503C1624 2CE629C3 4BA40330 
  F3FDC1F4 FECFC718 216744CE 03DA6DB6 507E0FAC F859D9F9 8B42FDEE 21272E76 
  CA46DCD3 39829E41 6D69EBF1 49226888 1DEB4F45 31B06D00 1D027018 49DF33ED 
  ECCF952D 741AE01A 335EB08A 703C4167 1E45E223 17962F9A 5F0CD1F2 C5CDB3BB 
  746C3D0A 00348E84 210D8805 E54F493B D01AACC6 00D0041A D40CA318 ED9C8A81 01
  quit


DER파일을 PEM 파일롭 변경하기
CUBE에 PEM파일 인증서 주입이 잘되지 않을 경우 아래 명령어로 포맷 변경을 시도한 후에 다시 시도해 보시기 바랍니다. 경우에 따라 잘 않되는 경우가 간혹 있습니다.

openssl x509 -in tta_sbc.der -inform DER -out tta_sbc_1.pem -outform PEM



마치며
5장과 6장에 걸쳐서 CUCM과 CUBE에 외부 CA에 의해 인증된 인증서를 주입하였습니다. 다음 장에서는 상호 간에 TLS 및 sRTP가 가능하도록 설정해보겠습니다. 


----------------- --------------------------------------------------------

라인하트 (CCIEV #18487) 
ucwana@gmail.com (라인하트의 구글 이메일) 
http://twitter.com/ucwana (라인하트의 트위터 ) 
http://twitter.com/nexpertnet (넥스퍼트 블로그의 트위터, 최신 업데이트 정보 및 공지 사항) 
http://groups.google.com/group/cciev (시스코 UC를 공부하는 사람들이 모인 구글 구룹스) 
http://groups.google.com/group/ucforum (벤더에 상관없이 UC를 공부하는 사람들이 모인 구글 구룹스) 
정리하고 보니 나도 디지털 네이티브 _____________________________________________________