SSL Certificate- Adding rootCA/intermediate(chain) CA

By | Y2015Y2015-2M-D

인증서 구성요소

  1. 인증서 만들기: 인증서 요청 파일(windows: csr / linux or unix: pem) ->  private key / 패스워드 생성 (.key) -> 인증센터(인증업체) 로 요청 -> 인증서(.cer/.crt) 수령 -> .pfx/.p12(PKCS12;주로 Windows) 또는 .jks/.keystore(JKS;linux/unix) 패키지로 추출
    1. CSR(Certificate Signing Request) 파일을 직접 생성한 경우 (IIS) 등일 경우는 생성된 인증서(cer 파일)을 바로 등록 후 .pfx 패키지로 변경 가능
    2. private key 를 미리 keystore 와 같이 생성한 경우는  keystore 에 발급된 인증서(cer) 파일을 keystore 에 import.
      (JRE 설치 후)keytool -import -alias your_friendly_name(ex.bluecore) -file your_cert_file.cer (or crt) -keystore your_friendly_keystore_file_name (ex.bluecore.kr.jks)
    3. private key 와 인증서를 별도로 공급받은 경우
      이 경우는 openssl 설치 후, private key와 cer 파일을 가지고 pkcs12 패키지를 만들고, 이 pkcs12 패키지를 keytool 로 jks방식으로 import 한다.

      1. Create pkcs12 file
        openssl pkcs12 -export -in your_cert_file.cer (or crt)  -inkey your_private_key_file.key -certfile your_cert_file.cer (or crt)  -name “your_friendly_name” -out your_friendly_p12_file_name.p12
      2. Import pkcs12 file to a keystore
        keytool -importkeystore -srckeystore your_p12_file_name. p12 -srcstoretype pkcs12 -destkeystore your_friendly_jks_file_name.jks   -deststoretype JKS

        * 참고로 Startssl.com 같은 사이트의 경우 private key 를 별도로 생성받을 수 있는데, private key 를 암호화를 해서 보내준다. 이 경우는 private key decryption 을 제공하니, 이를 이용해서 decrypted private key 를 생성 후 사용하도록 하자.

  2. 인증서 추출 후 설치 시 “신뢰할 수 없는 인증서” 로 나오는 경우
    => https://www.comodossl.co.kr/support/faq/view.aspx?category=SSL&Seq=70
    일부 브라우져에서 SSL 이 적용된 웹사이트에 접속시, “신뢰할 수 없는 인증서” 라는 류의 경고 메시지가 출력되는 경우가 있습니다. 대게 원인은 3가지로 모입니다.1. 인증서 만료기간이 지나서 폐기된 경우
    2. 공개 CA 로 부터 발급 받은 인증서가 아닌 경우 (사설 인증서 류)
    3. 구형 브라우져에서 최신의 루트 CA 인증서를 보유하고 있지 않은 경우
    일 경우 발생하며, RootCA / Chain CA 를 같이 설치해주어야 함
  3. 2번 관련 작업(Command log)
    *.crt 파일을 .p12 형식으로 변환
    openssl pkcs12 -export -in abc.crt -inkey abc.key -out abc.p12*.p12 파일을 .jks 형식으로 변환
    C:\Java\jdk1.7.0_45\bin>keytool -importkeystore -srckeystore D:\bbinstaller\Certificates\outputs\test.p12 -srcstoretype PKCS12   -destkeystore D:\bbinstaller\Certificates\outputs\test.jks -deststoretype JKS대상 키 저장소 비밀번호 입력:새 비밀번호 다시 입력:소스 키 저장소 비밀번호 입력:1 별칭에 대한 항목이 성공적으로 임포트되었습니다.임포트 명령 완료: 성공적으로 임포트된 항목은 1개, 실패하거나 취소된 항목은 0개입니다.* keystore 에 private key 등록 확인keytool -list -keystore D:\bbinstaller\Certificates\outputs\test.jks키 저장소 비밀번호 입력:키 저장소 유형: JKS키 저장소 제공자: SUN키 저장소에 1개의 항목이 포함되어 있습니다.

    1, 2015. 1. 30, PrivateKeyEntry,

    인증서 지문(SHA1): B4:2E:2D:8D:4D:E2:D5:61:FB:1C:B0:41:D2:5A:CC:4E:9A:7C:09:AA

    * keystore 에 CA/Chain 설치

    keytool -import -trustcacerts -alias COMODOSSL -file D:\bbinstaller\Certificates\COMODOSSL.Chain\COMODOSSLCA.crt -keystore D:\bbinstaller\Certificates\outputs\test.jks

    키 저장소 비밀번호 입력:

    인증서가 키 저장소에 추가되었습니다.

    keytool -import -trustcacerts -alias INTER -file D:\bbinstaller\Certificates\COMODOSSL.Chain\AddTrustExternalCARoot.crt -keystore D:\bbinstaller\Certificates\outputs\test.jks

    키 저장소 비밀번호 입력:

    인증서가 <addtrustexternalca> 별칭 아래에 있는 시스템 차원의 CA 키 저장소에 존재

    합니다.

    고유한 키 저장소에 추가하겠습니까? [아니오]:  y

    인증서가 키 저장소에 추가되었습니다.

    * 키 저장소 내의 키/CA,Chain 인증서 확인

    keytool -list -keystore D:\bbinstaller\Certificates\outputs\test.jks

    키 저장소 비밀번호 입력:

    키 저장소 유형: JKS

    키 저장소 제공자: SUN

    키 저장소에 3개의 항목이 포함되어 있습니다.

    inter, 2015. 1. 30, trustedCertEntry,

    인증서 지문(SHA1): 02:FA:F3:E2:91:43:54:68:60:78:57:69:4D:F5:E4:5B:68:85:18:68

    1, 2015. 1. 30, PrivateKeyEntry,

    인증서 지문(SHA1): B4:2E:2D:8D:4D:E2:D5:61:FB:1C:B0:41:D2:5A:CC:4E:9A:7C:09:AA

    comodossl, 2015. 1. 30, trustedCertEntry,

    인증서 지문(SHA1): B4:C6:61:80:C5:20:BA:D6:88:47:0E:F8:0B:B2:2B:EB:A8:39:1C:22

    * 키 저장소에 확인 차 한번 더 발급된 인증서 요청 파일 등록

    keytool -import -trustcacerts -alias test -file D:\bbin

    staller\Certificates\_wildcard_.test.ac.kr.crt

    키 저장소 비밀번호 입력:

    새 비밀번호 다시 입력:

    소유자: CN=*.test.ac.kr, OU=COMODO SSL Wildcard, OU=”Hosted by Korea Information Certificate Authority, Inc.”, OU=Domain Control Validated

    발행자: CN=COMODO SSL CA, O=COMODO CA Limited, L=Salford, ST=Greater Manchester, C=GB

    일련 번호: a27b41788ab43b5288b684cec5341b99

    적합한 시작 날짜: Tue Apr 15 09:00:00 KST 2014, 종료 날짜: Fri Apr 15 08:59:59 KST 2016

    인증서 지문:

    MD5: 40:96:C1:D9:21:2D:59:F7:38:F4:CE:28:EC:E5:F8:F5

    SHA1: B4:2E:2D:8D:4D:E2:D5:61:FB:1C:B0:41:D2:5A:CC:4E:9A:7C:09:AA

    SHA256: 24:99:E3:8D:0B:D4:52:61:FB:D7:AB:11:4B:45:29:28:54:AD:85:59:C5:79:49:70:6B:6E:86:2E:EA:ED:7E:62

    서명 알고리즘 이름: SHA1withRSA

    버전: 3

    확장:

    #1: ObjectId: 1.3.6.1.5.5.7.1.1 Criticality=false

    AuthorityInfoAccess [  [

    accessMethod: caIssuers

    accessLocation: URIName: http://crt.comodoca.com/COMODOSSLCA.crt,

    accessMethod: ocsp

    accessLocation: URIName: http://ocsp.comodoca.com]]

    #2: ObjectId: 2.5.29.35 Criticality=false

    AuthorityKeyIdentifier [

    KeyIdentifier [

    0000: 1B 6B BD 1F 8A 49 18 94   54 37 55 B4 20 17 ED 37  .k…I..T7U. ..7

    0010: B9 77 18 7D                                        .w..

    ]]

    #3: ObjectId: 2.5.29.19 Criticality=true

    BasicConstraints:[

    CA:false

    PathLen: undefined

    ]

    #4: ObjectId: 2.5.29.31 Criticality=false

    CRLDistributionPoints [

    [DistributionPoint:

    [URIName: http://crl.comodoca.com/COMODOSSLCA.crl]

    ]]

    #5: ObjectId: 2.5.29.32 Criticality=false

    CertificatePolicies [

    [CertificatePolicyId: [1.3.6.1.4.1.6449.1.2.2.7]

    [PolicyQualifierInfo: [

    qualifierID: 1.3.6.1.5.5.7.2.1

    qualifier: 0000: 16 1D 68 74 74 70 73 3A   2F 2F 73 65 63 75 72 65  ..https://

    secure

    0010: 2E 63 6F 6D 6F 64 6F 2E   63 6F 6D 2F 43 50 53     .comodo.com/CPS

    ]]  ]

    [CertificatePolicyId: [2.23.140.1.2.1]

    []  ]]

    #6: ObjectId: 2.5.29.37 Criticality=false

    ExtendedKeyUsages [

    serverAuth

    clientAuth]

    #7: ObjectId: 2.5.29.15 Criticality=true

    KeyUsage [

    DigitalSignature

    Key_Encipherment

    ]

    #8: ObjectId: 2.5.29.17 Criticality=false

    SubjectAlternativeName [

    DNSName: *.test.ac.kr

    DNSName: test.ac.kr

    ]

    #9: ObjectId: 2.5.29.14 Criticality=false

    SubjectKeyIdentifier [

    KeyIdentifier [

    0000: E7 A5 E9 6E 22 B2 3B FD   EB 94 74 D9 5E 7A B6 4B  …n”.;…t.^z.K

    0010: 9D 55 4B 50                                        .UKP

    ]]

    이 인증서를 신뢰합니까? [아니오]:  y

    인증서가 키 저장소에 추가되었습니다.

    * 최종확인

    keytool -list -keystore D:\bbinstaller\Certificates\outp

    uts\test.jks

    키 저장소 비밀번호 입력:

    키 저장소 유형: JKS

    키 저장소 제공자: SUN

    키 저장소에 3개의 항목이 포함되어 있습니다.

    inter, 2015. 1. 30, trustedCertEntry,

    인증서 지문(SHA1): 02:FA:F3:E2:91:43:54:68:60:78:57:69:4D:F5:E4:5B:68:85:18:68

    1, 2015. 1. 30, PrivateKeyEntry,

    인증서 지문(SHA1): B4:2E:2D:8D:4D:E2:D5:61:FB:1C:B0:41:D2:5A:CC:4E:9A:7C:09:AA

    comodossl, 2015. 1. 30, trustedCertEntry,

    인증서 지문(SHA1): B4:C6:61:80:C5:20:BA:D6:88:47:0E:F8:0B:B2:2B:EB:A8:39:1C:22

    * 이 과정을 거쳐 블랙보드에 적용했는데도 오류가 남
    “tomcat cannot recover key” -> key(.crt) 패스워드와 keystore 패스워드가 달라서 발생. 같이 변경해줘야 함
    — 키 저장소는 6자 이상을 요구하고, key 패스워드는 5자라 key 패스워드 변경

    * 키 패스워드 변경

    keytool -keypasswd -alias 1 -keystore D:\bbinstaller\Certificates\outputs\test.keystore

    키 저장소 비밀번호 입력:

    <1>에 대한 키 비밀번호를 입력하십시오.

    새 <1>에 대한 키 비밀번호:

    새 <1>에 대한 키 비밀번호 다시 입력:

    끝.

4,255 total views, 6 views today

댓글 남기기