주의: 이 절차들은 .infn.it에만 해당되는 것이다.
srv.cnf 를 /usr/local/ssl/lib/ 에 복사한다(주: 이것은 지은이의 지역적 설정으로 OpenSSL의 초기 설정 파일인 /usr/local/ssl/openssl.cnf 을 이용하는것이 일반적 경우다.).
인증서 요청을 생성한다.
> cd /usr/local/ssl/certs > /usr/local/ssl/bin/openssl req -new -nodes -out req.pem \ -keyout key.pem -config /usr/local/ssl/lib/srv.cnf Using configuration from /usr/local/ssl/lib/srv.cnf Generating a 1024 bit RSA private key .......................+++++ .........................+++++ writing new private key to 'key.pem' ----- 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. ----- %이제 당신의 인증서 요청(certificate request)에 기록될 정보를 물어볼 때이다. %입력될 것은 구별되는 이름(Distinguished Name) 이나 DN으로 부른다. %당신이 입력할 항목은 몇개 되지 않으며, 기본값을 취할때는 빈칸으로 대신할수 있다. %만일 당신이 '.'를 입력한다면, 그 항목은 공백으로 남을것이다. Country Name (2 letter code) [IT]: %2-문자 국가코드 INFN (accettare il default!) [INFN]: %도메인명 같은데요? Locality Name (p.e. Firenze) []:Firenze %지역명 Organization Name (p.e. Sezione di Firenze) []:Sezione di Firenze %기관명 Server type [Server IMAP]: %서버타입 Server name (p.e. postino.fi.infn.it) []:postino.fi.infn.it %서버이름 Email Address []:cecchini@fi.infn.it > chmod 600 key.pem |
key.pem 은 서버 비밀키(private key)를 평문으로 담고 있다!
req.pem 을 인증서를 보내줄 CA로 보낸다(참고: 자필 서명 인증서 생성: 서정룡님의 번역중 일부).
(에디터를 이용하여) /usr/local/ssl/certs/stunnel.pem 를 작성하는데, 이는 서버 비밀키와 서버 인증서를 담고 있다. 하나의 빈 줄을 두 부분 사이에 삽입하고, 또하나의 빈줄을 파일 가장 밑에다 삽입하라.
역자주: 실제적으로 한줄이 별도로 첨가되지 않아도 잘 동작하였다. 따라서 지은이의 의도는 각 부분이 끝나고 다음줄로 넘어가라는 뜻으로 받아들이면 되겠다. 다음은 stunnel.pem의 내용의 예이다.
-----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQDHkqs4YDbakYxRkYXIpY7xLXDQwULR5LW7xWVzuWmmZJOtzwlP % 서버 비밀키 부분 7mN87g+aaiQzwXUVndaCw3Zm6cOG4mytf20jPZq0tvWnjEB3763sorpfpOe/4Vsn % VBFjyQY6YdqYXNmjmzff5gTAecEXOcJ8CrPsaK+nkhw7bHUHX2X+97oMNQIDAQAB AoGBAMd3YkZAc9LUsig8iDhYsJuAzUb4Qi7Cppj73EBjyqKR18BaM3Z+T1VoIpQ1 DeXkr39heCrN7aNCdTh1SiXGPG6+fkGj9HVw7LmjwXclp4UZwWp3fVbSAWfe3VRe LM/6p65qogEYuBRMhbSmsn9rBgz3tYVU0lDMZvWxQmUWWg7BAkEA6EbMJeCVdAYu nQsjwf4vhsHJTChKv/He6kT93Yr/rvq5ihIAPQK/hwcmWf05P9F6bdrA6JTOm3xu TvJsT/rIvQJBANv0yczI5pUQszw4s+LTzH+kZSb6asWp316BAMDedX+7ID4HaeKk e4JnBK//xHKVP7xmHuioKYtRlsnuHpWVtNkCQQDPru2+OE6pTRXEqT8xp3sLPJ4m ECi18yfjxAhRXIU9CUV4ZJv98UUbEJOEBtx3aW/UZbHyw4rwj5N511xtLsjpAkA9 p1XRYxbO/clfvf0ePYP621fHHzZChaUo1jwh07lXvloBSQ6zCqvcF4hG1Qh5ncAp zO4pBMnwVURRAb/s6fOxAkADv2Tilu1asafmqVzpnRsdfBZx2Xt4oPtquR9IN0Q1 ewRxOC13KZwoAWtkS7l0mY19WD27onF6iAaF7beuK/Va -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- MIIECTCCA3KgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBujELMAkGA1UEBhMCVVMx % 인증서 부분 EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1NlYXR0bGUxHzAdBgNVBAoT % FkJsdXJkeWJsb29wIEluZHVzdHJpZXMxFjAUBgNVBAsTDUlTIERlcGFydG1lbnQx ITAfBgNVBAMTGEJvbWJhc3RpYyBULiBCbHVyZHlibG9vcDEoMCYGCSqGSIb3DQEJ ARYZYm9tYmFzdGljQGJsdXJkeWJsb29wLmNvbTAeFw0wMDA2MDYwMDUxMTRaFw0x MDA2MDQwMDUxMTRaMIG6MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv bjEQMA4GA1UEBxMHU2VhdHRsZTEfMB0GA1UEChMWQmx1cmR5Ymxvb3AgSW5kdXN0 cmllczEWMBQGA1UECxMNSVMgRGVwYXJ0bWVudDEhMB8GA1UEAxMYQm9tYmFzdGlj IFQuIEJsdXJkeWJsb29wMSgwJgYJKoZIhvcNAQkBFhlib21iYXN0aWNAYmx1cmR5 Ymxvb3AuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHkqs4YDbakYxR kYXIpY7xLXDQwULR5LW7xWVzuWmmZJOtzwlP7mN87g+aaiQzwXUVndaCw3Zm6cOG 4mytf20jPZq0tvWnjEB3763sorpfpOe/4VsnVBFjyQY6YdqYXNmjmzff5gTAecEX OcJ8CrPsaK+nkhw7bHUHX2X+97oMNQIDAQABo4IBGzCCARcwHQYDVR0OBBYEFD+g lcPrnpsSvIdkm/eol4sYYg09MIHnBgNVHSMEgd8wgdyAFD+glcPrnpsSvIdkm/eo l4sYYg09oYHApIG9MIG6MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv bjEQMA4GA1UEBxMHU2VhdHRsZTEfMB0GA1UEChMWQmx1cmR5Ymxvb3AgSW5kdXN0 cmllczEWMBQGA1UECxMNSVMgRGVwYXJ0bWVudDEhMB8GA1UEAxMYQm9tYmFzdGlj IFQuIEJsdXJkeWJsb29wMSgwJgYJKoZIhvcNAQkBFhlib21iYXN0aWNAYmx1cmR5 Ymxvb3AuY29tggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAwEEk JXpVXVaFTuG2VJGIzPOxQ+X3V1Cl86y4gM1bDbqlilOUdByUEG4YfSb8ILIn+eXk WzMAw63Ww5t0/jkO5JRs6i1SUt0Oy80DryNRJYLBVBi499WEduro8GCVD8HuSkDC yL1Rdq8qlNhWPsggcbhuhvpbEz4pAfzPkrWMBn4= -----END CERTIFICATE----- |
req.pem 과 key.pem 을 삭제하고, stunnel.pem 을 보호하라 (chmod 600). 지금 이 파일은 서버 비밀키를 평문으로 담고 있다.