SSL 설정및변환방법 2014. 03. 10
목차 WebtoB에서의 SSL 설정방법... 3 1. WebtoB 에서의 SSL 인증서발급절차... 3 1.1 openssl사용... 3 1.1.1 newreq.pem 파일설명... 3 1.1.2 인증기관에 CSR파일전송... 4 1.1.3 p7b파일변환... 4 1.2 WebtoB의환경설정... 5 1.2.1 http.m 파일설정... 5 1.2.2 각속성세부설명... 6 2. Tip 및참고문헌... 6 2.1 CSR이란... 6 2.2 보안서버구축파일형태... 7 2.2.1 IIS에서개인키내보내기예제... 7 2.3 인증서체인이란?... 9 2
WebtoB 에서의 SSL 설정방법 1. WebtoB 에서의 SSL 인증서발급절차 각 Webserver 마다 SSL 인증서발급절차는공인인증기관의매뉴얼에자세히나와있고, Webserver 버전의관계없이 유사한동작방식을가지므로 one step 으로표기하겠습니다. 1.1 openssl 사용 $WEBTOBDIR/bin 에있는 CA 명령어를사용합니다. - 최초에 SSL 적용후 WebtoB 기동시입력해야할비밀번호입력합니다. ( 빨간색부분 ) - 나머지는큰의미가없으며, Common Name 에실제 https 을적용시킬도메인을입력합니다. ( 빨간색부분 ) suntest:/user/wonyoung/webtob/bin>ca -newreq Generating a 1024 bit RSA private key...++++++...++++++ writing new private key to 'newreq.pem' Enter PEM pass phrase: Verifying - Enter PEM pass phrase: ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [KR]: State or Province Name (full name) []: Locality Name (eg, city) []: Organization Name (eg, company) [Tmax Ltd]: Organizational Unit Name (eg, section) []: Common Name (eg, YOUR name) []:www.test.co.kr Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:1111 An optional company name []: Request (and private key) is in newreq.pem 1.1.1 newreq.pem 파일설명 - 빨간색부분으로표시된 PRIVATE KEY 부분은개인키로활용합니다. - 파란색 CERTIFICATE REQUEST 부분은인증기관에보낼공개키로활용합니다. - 이는 Webserver 마다표현식이다르며, 아래의 newreq.pem 파일은 WebtoB 의 sample 임을명시합니다. -----BEGIN ENCRYPTED PRIVATE KEY----- MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIzfRA5pbngHwCAggA MBQGCCqGSIb3DQMHBAjsq5ehbk6yggSCAoBTtO2FOsaqHytJtbrFU61NYN1uBd4L +2LCVUDfVNj0OQNChtZLaF8j1O9K9INzEqTjvYQyrHs9qQsGrGpCozUcR4kQqBdU nbibtyfju0ctcf1yqb8zclt+nwifbhzcrugfdsmfbjkzwvdfihc6rsy/0lvcrnte 5r4+IcHScc9LX2i/u+JFxUMcB+CY5GqY61J9vP9hT1M9xfucLbVWrkkOsjjWtEN3 3
4rWRogF07IT8j3FtMmJqoX9mcOpzuuKGw7c62cCqTpgFnq7Z06CMhWYWC3wO0a2m E7xAz1L5wv9lIw8olSVRkk7XcaKUdMli0wp4dhYlreK2iKGvh2aCAir8uKuPa8Co m3pbv1afedu4nyrxczerci1bq0mfro5adtzomsz1hs9lvtde2+3sharapb6gbeps sngvvdbkycfves2t1t+84usndvujgjkdvbt2zlj+bh020t4ddqqovclwgyyqcckl tkmkw6xrbvdw4y/5xeajypxju+qcd2tkebjeuewg+eyjq+wmrk9a0a0cftpumqdg Ai8c3SIy19G850IP87e7uNOhHc9JN4cFho6yagVcb70zRPRMLhOZOdQX7Mb5GHch ArM+Q7j6WtAK8ZDAhhQnU6fv0b0GUIRFdbo5oDYSVC5e/d3j/meorRgqZr/9lpKU KETvztbOl8TD7CrB2oj5lMdkbPeGSSf9Jc6Lj1nvaMwyddulLoX7w5SH7YL2daRD 4aRhQyOI6CtP8jUD7SMWFD8J/jT2V9MCUCWqymk3kAo0krjoxtHmoSrcyKHQgPsT /16NfW48a5qvzF5//MjuE1WGmpj2zP5neF0gznkrKVUQW86AzZ7sz80F -----END ENCRYPTED PRIVATE KEY----- -----BEGIN CERTIFICATE REQUEST----- MIIBjTCB9wIBADA5MQswCQYDVQQGEwJLUjERMA8GA1UEChMIVG1heCBMdGQxFzAV BgNVBAMTDnd3dy50ZXN0LmNvLmtyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gqdqgsrgaed/ujrcmudxgilx+esibiensb4zqdkx0bug8xqy9imgjsw/yyzcmyu6 w9xyk+hxkgjyasrqjltci8mwlctfoy6fgtbjfldywhnxpnzqdhikynleoqurivvy inrgk0/tyykonjipmtqhu1kz2t3k6j5ockwcggpyygdmrwidaqabobuwewyjkozi hvcnaqkhmqytbdexmtewdqyjkozihvcnaqefbqadgyeagurakjceoilun5nbylcu IK+bB1GX+P///tqksOwPgYkTi2Jqq6io09uUft0rMvb8qYgRb8sa1Yfv/QcWEkus GuYQZ0uFMvcJ4asQ4NrHZpyPFfv2NjXjRfHqLEbY809rx9NvoZFRCr0lCoPkGCfL Ve+A2II1E/j7+yPdZ8sY1JA= -----END CERTIFICATE REQUEST----- 1.1.2 인증기관에 CSR 파일전송 1.1.1 의파란색부분 (BEGIN CERTIFICATE ~ END CERTIFICATE) 을 CSR.txt( 예 ) 로저장하여인증기관에전송합니다. 그러 면인증기관에서는 CSR.txt. 를암호화하여 p7b 파일로변환된파일을회신해줄것입니다. 예 ) CSR.txt -> www.test.co.kr.p7b 1.1.3 p7b 파일변환 일반적으로고객사담당자가해당인증기관의매뉴얼을토대로 p7b 파일을저희 WebtoB 에적용시킬수있는 pem 파일로변환한다음기술지원요청을하는것이원칙이나, 간혹그일련의작업이진행되지못할경우직접파일 전환작업을진행할때도있습니다. p7b 파일을 pem 파일로변환하는방법 ( $WEBTOBDIR/bin 의 wbssl 명령어사용 ) - openssl(wbssl) pkcs7 -in CERT.p7b(pkcs 인증서 ) -print_certs -out CERT.pem -print_certs -text suntest:/user/wonyoung/webtob/ssl/webtob/test>ls -lart 총 14 -rwxrwxrwx 1 wonyoung ia 4609 3 월 7 일 13:32 www.test.co.kr.p7b drwxrwxrwx 3 wonyoung ia 512 3 월 11 일 10:07.. drwxrwxrwx 2 wonyoung ia 512 3 월 11 일 10:07. suntest:/user/wonyoung/webtob/ssl/webtob/test> suntest:/user/wonyoung/webtob/ssl/webtob/test>wbssl pkcs7 -in www.test.co.kr.p7b -out www.test.co.kr.pem -print_certs text suntest:/user/wonyoung/webtob/ssl/webtob/test>ls -lart 총 44 -rwxrwxrwx 1 wonyoung ia 4609 3 월 7 일 13:32 www.test.co.kr.p7b drwxrwxrwx 3 wonyoung ia 512 3 월 11 일 10:07.. 4
-rw-rw-rw- 1 wonyoung ia 0 3 월 11 일 10:08 ls drwxrwxrwx 2 wonyoung ia 512 3 월 11 일 10:08. -rw-rw-rw- 1 wonyoung ia 15149 3 월 11 일 10:08 www.test.co.kr.pem suntest:/user/wonyoung/webtob/ssl/webtob/test> 여기까지하면 WebtoB 에 SSL 을적용시킬준비가되었습니다. 1.2 WebtoB 의환경설정 본문서에서는 vhost1 개에도메인 1 개를대상으로 SSL 을설정하는 sample 입니다. 1.2.1 http.m 파일설정 $WEBTOBIDR/config/http.m 파일설정 - 아래와같이설정하면 https://www.test.co.kr 의요청을설정한기본세팅입니다. - *SSL 설정에서굵은글씨로표시된부분이필수항목이며나머지는선택항목입니다. *DOMAIN WebtoB1 *NODE 생략 *vhost SSL_test1 *SSL SSL_domain DOCROOT="/user/wonyoung/WebtoB/docs", PORT = "443", ServiceOrder = "uri,ext", LOGGING = "log4", ERRORLOG = "log5" SSLname = "SSL_domain", SSLflag=Y, HOSTNAME = "www.test.co.kr" CertificateFile = "/user/wonyoung/webtob/ssl/www.test.co.kr.pem", CertificateKeyFile = "/user/wonyoung/webtob/ssl/key.pem", CertificateChainFile = "/user/wonyoung/webtob/ssl/cachain.pem", PassPhraseDialog = "exec:/user/wonyoung/webtob/ssl/sslboot" 생략 여기서 CAChain.pem 파일은 www.test.co.kr.pem 파일의일부를추출해서만들수있습니다. www.test.co.kr.pem ( 변환된 pem파일 ) 에서 RooTCA 와 CA131000001 이들어있는부분의 Certificate: 에서 ----- END CERTIFICATE----- 까지부분을전부복사하여 CAChain.pem 파일로새로생성합니다. 여기서 CAChain.pem 파일은임의의이름입니다. 5
1.2.2 각속성세부설명 CertificateFile : 1.1.1 에서설명한 CA-newreq 명령어로생성된파일에서 (BEGIN CERTIFICATE REQUEST~ END CERTIFICATE REQUEST) 부분의공개키를인증기관에보내고암호화된파일로변형된최종 pem 파일을설정 CertificateKeyFile : 1.1.1 에서설명한 CA -newreq 명령어로생성된파일에서 (BEGIN ENCRYPTED PRIVATE KEY ~ END ENCRYPTED PRIVATE KEY) 에표기된부분을따로저장한개인키파일을설정. CertificateChainFile : 서버인증서 (Certificate, 변형된 pem 파일 ) 의인증서연쇄 ( 트리구조 ) 를구성할때만필요하며, 상위인증기관들의인증서 (Certificate, 변형된 pem 파일 ) 를설정한다. 즉, 인증기관의매뉴얼에따라인증서 (Certificate, 변형된 pem 파일 ) 의일부를발췌하여새로생성한파일을설정. PassPhraseDialog : CA-newreq 명령어로인증서를받을경우입력한비밀번호를 WebtoB 기동시비밀번호를물어 보지않게끔하는설정. 해당경로에비밀번호가기입된파일을만들어놓음. 예 ) echo wonyoung 일반적으로 WebtoB 의 SSL 을설정할경우위의 4 가지만하면됩니다. 2. Tip 및참고문헌 2.1 CSR 이란 Certificate Signing Request( 인증서서명요청 ) 의약자로인증서발급을위해필요한정보를담고있는데이터입니다. 각 Webserver 마다 CSR 에입력해야할값은거의비슷하며발급하는명령어만다를뿐입니다. 각 Webserver 마다 CSR 입력값 ( 출처 : gpki 홈페이지에나와있는보안서버구축가이드 _2048.pdf 의일부 ) 위에서보듯이, 현재공인인증기관은대부분암호화방식의 2048bit 를사용합니다. 그러나현재 WebtoB 는디폴트로 1024bit 로설정되어있습니다. 6
$WEBTOBIDR/SSL/wbss.cnf 파일확인 - 혹여문제가될수있으니아래에서빨간색부분의 bit 를 2048 로수정하고저장합니다. 생략 #################################################################### [ req ] default_bits = 1024 default_keyfile = privkey.pem distinguished_name = req_distinguished_name attributes = req_attributes x509_extensions = v3_ca # The extentions to add to the self signed cert 생략 2.2 보안서버구축파일형태 Webserver 별보안서버구축에필요한파일형태 ( 출처 : gpki 홈페이지에나와있는보안서버구축가이드 _2048.pdf 의일부 ) 인증서를다른곳에서사용하려면개인키를복제해야하는데, IIS, 톰켓, iplanet 는파일형태가아니기때문에별도로 개인키내보내기 작업을통해파일화시켜야합니다. 2.2.1 IIS 에서개인키내보내기예제 개인 -> 인증서 -> 발급대상항목확인후오른쪽버튼을클릭하여내보내기실행. 7
마법사실행 8
최종내보내기전에비밀번호입력. - 이때입력한비밀번호가생성된개인키파일에등록되어있습니다. - 따라서내보내기작업을통해서생성된개인키파일을 WebtoB 에적용하게되면 PassPhraseDialog 설정없어도기동시비밀번호를물어보지않는다. 최종저장. 2.3 인증서체인이란? CA(Certificate Authority) 는인증서를발급해주는인증기관입니다. 즉, A라는인증기관에서철수에게인증서를발급해주었다면철수의인증서는 A인증기관이발급했으므로철수의인증서를인증 ( 확인 ) 하려면 A인증기관의인증서가필요합니다. 그렇다면철수에게발급해준 A라는인증기관의인증서는누가발급하고인증을할까? 에대한해답이인증서체인입니다. 간단히설명하면철수의인증서를인증하기위해서는철수의인증서를발급한 A인증기관의공개키가필요하고, A인증기관의공개키는 A인증기관인증서에있습니다. 하지만. 공개키정보를포함한 A인증기관인증서의내용 9
을인증하려면결국또다른인증서가필요하게됩니다. 이또다른인증서를인증하려는인증서는더상위기관 의인증서가되겠습니다. 이런연결고리를 CA - Chain 이라고합니다. 철수의인증서를인증하기위한세가지인증기관 (CA) 의인증서를사용하는예입니다. 10
Copyright 2014 TmaxSoft Co., Ltd. All Rights Reserved. TmaxSoft Co., Ltd. Trademarks Tmax, WebtoB, WebT, JEUS, ProFrame, SysMaster and OpenFrame are registered trademarks of TmaxSoft Co., Ltd. Other products, titles or services may be registered trademarks of their respective companies. Contact Information TmaxSoft can be contacted at the following addresses to arrange for a consulting team to visit your company and discuss your options for legacy modernization. Korea - TmaxSoft Co., Ltd. Corporate Headquarters 272-6 Seohyeon-dong, Bundang-gu, Seongnam-si, South Korea, 463-824 Tel : (+82) 31-8018-1708 Fax : (+82) 31-8018- 1710 Website : http://tmaxsoft.com U.S.A. - TmaxSoft Inc. 560 Sylvan Avenue Englewood Cliffs, NJ 07632, USA Tel : (+1) 201-567-8266 Fax : (+1) 201-567- 7339 Website : http://us.tmaxsoft.com Japan TmaxSoft Japan Co., Ltd. 5F Sanko Bldg, 3-12-16 Mita, Minato-Ku, Tokyo, 108-0073 Japan Tel : (+81) 3-5765-2550 Fax: (+81) 3-5765- 2567 Website : http://jp.tmaxsoft.com China TmaxSoft China Co., Ltd. Room 1101, Building B, Recreo International Center, East Road Wang Jing, Chaoyang District, Beijing, 100102, P.R.C Tel : (+86) 10-5783-9188 Fax: (+86) 10-5783- 9188(#800) Website : http://cn.tmaxsoft.com China(JV) Upright(Beijing) Software Technology Co., Ltd Room 1102, Building B, Recreo International Center, East Road Wang Jing, Chaoyang District, Beijing, 100102, P.R.C Tel : (+86) 10-5783-9188 Fax: (+86) 10-5783- 9188(#800) Website : www.uprightsoft.com TB-JSGI-D0310003 11