'인증서'에 해당되는 글 4건

  1. 2008.08.14 Keytoo, openssl을 이용한 인증서 생성
  2. 2008.08.14 openssl 기본
  3. 2008.08.14 SSL 기초
  4. 2008.08.11 OpenSSL
posted by 동건이 2008. 8. 14. 11:39

Keytoo, openssl을 이용한 인증서 생성

1. Keytool 사용
JKS( java key store) 형식의 keystore  데이터 베이스를 생성한다.

 - CA로  서명 받지 않은 경우
a. Private/ Public key 생성
> keytool -genkey -alias esum -validaty 3650 -keystore keystore_esum
   keystore 암호를 입력하세요: passwordsample
   이름과 성을 입력하세요
   [UnKnown]: 10.10.10.10   <- SSL을 사용할 서버의 도메인이나 IP주소
   조직단위 이름을 입력하세요.
   [UnKnown] : Solution
   조직이름을 입력하세요.
   [UnKnown] : eTech
   구/군/시 이름을 입력하세요?
   [UnKnown] : Seoul
   시/도 이름을 입력하세요?
   [UnKnown] : Seoul
    이 조직의 두 자리 국가 코드를 입력하세요.
   [UnKnown] : KO
   CN=10.10.10.10, OU=Solution, O=eTech, L=Seoul, ST=Seoul, C=KO 가 맞습니까?
   [아니오]: 예

   <esum>에 대한 키 암호를 입력하세요
   (keystore 암호화 같은 경우 RETURN을 누르세요):

b. Keystore로 부터 인증서 추출
> keytool -export -alias esum -keystore keystore_esum -file esum.crt
   Keysotre 암호를 입력하세요 : passwordsample
   인증서가 <esum.crt> 파일에 저장되었습니다.

 - CA로  서명 받는 경우
a. Private/ Public key 생성
> keytool -genkey -alias esum -validaty 3650 -keystore keystore_esum
   keystore 암호를 입력하세요: passwordsample
   이름과 성을 입력하세요
   [UnKnown]: 10.10.10.10   <- SSL을 사용할 서버의 도메인이나 IP주소
   조직단위 이름을 입력하세요.
   [UnKnown] : Solution
   조직이름을 입력하세요.
   [UnKnown] : eTech
   구/군/시 이름을 입력하세요?
   [UnKnown] : Seoul
   시/도 이름을 입력하세요?
   [UnKnown] : Seoul
    이 조직의 두 자리 국가 코드를 입력하세요.
   [UnKnown] : KO
   CN=10.10.10.10, OU=Solution, O=eTech, L=Seoul, ST=Seoul, C=KO 가 맞습니까?
   [아니오]: 예

   <esum>에 대한 키 암호를 입력하세요
   (keystore 암호화 같은 경우 RETURN을 누르세요):
b. CSR( Cert Signature Request) 생성
인증기관(CA)로부터 자신의 공개키를 서명 받기 위해 인증서명요청서(CSR)를 생성해서 CA로 전송한다.
> keytool -certreq -alias esum -keystore keystore_esum -file esum.csr
   keystore 암호를 입력하세요: passwordsample

c. 인증기관으로 부터 인증서 회신 수신 및 keystore에 저장
인증기관으로 부터 받은 인증서 회신(Certificate)를 keystore내의 공개키(Self-Signed Certificate)를 대체한다.
인증서 회신의 종류는 단수인증서(Single certificate), PKCS#7형식으로 된 인증서 체인이 있다.
keystore에 인증서 회신을 저장하기 위해서는 인증서 회신(x.509)를 der 형식으로 변환해야 한다.
(openssl을 사용해서 변환)
 - 인증서 회신: 단수 인증서(single certificate) 저장
   단수 인증서는 발급자 서명 인증서(issuer-signed-certificate)라 한다. keytool을 사용하여 단수 인증서를
   keystore에 저장하는 경우 발급자 인증서와 최상위 인증서 사이의 체인을검사한다. 따라서, 단 수 인증서를
   발급한 인증기관과 최상위 인증기관 사이에 포함된 중계 인증기관의 인증서를 CA Certs File(cacerts)에
   저장해야한다. (Trust Certificate Entries)
   시스템 여건상 CA Certs File에 저장하지 못하는 경우 keystore 파일에 단수 인증서를 저장하기 전에
   인증기관의 인증서를 저장해야 한다.

   * CA Certs File 위치 : $JAVAHOME/lib/security
   * 단수 인증서 저장 절차
      ㄱ. 상위 기관 인증서가 CA Certs File 이나 keystore 파일에 존재하지 않는 경우 추가한다.
> keytool -import -keystore cacerts -file cacert.pem -alias testca
   keystore 암호를 입력하세요 : passwordsample
   소유자 : emailaddress=xxx@xxx.xxx, CN=xxxx, OU=xxxx, O=xxxx, ST=xxxx, C=KR
   발급자 : emailaddress=xxx@xxx.xxx, CN=xxxx, OU=xxxx, O=xxxx, ST=xxxx, C=KR
   일련번호 : 0
   개시일 : web jan.............................. 만료일 .................
   인증서 지문 :
           MD5 : xxxxxxxxxx
           SHA1: xxxxxxxxxxxx
   이 인증서를 신뢰하십니까?[아니오]: 예
   인증이 keystore에 추가되었습니다.


     ㄴ. 인증기관으로부터 발급 받은 인증회신파일을 keystore파일에 저장한다.
> keytool -import -alias esum -keystore keystore_xeni -file esum.crt -trustcacerts
   keystore 암호를 입력하세요 : passwordsample
   인증서 회신이 keystore 에 저장되었습니다.

   * trustcacerts : CA certs File 을 이용하여 상위 기관 인증서 검사


 - 인증서 회신: 인증서 체인 저장
PKCS#7 형식으로 된 인증서 체인(chain of certificate )에는 자신의 인증서 뿐만 아니라 상위기관
인증서를 체인형식으로 포함하고 있다. 따라서 별도로 상위 기관 인증서 검사를 위해 CA Certs File을
사용하지 않는다.
> keytool -import -alias esum -keystore keystore_test -file esum.p7c
keystore 암호를 입력하십시오 : passwordsample

 회신의 최상위 인증서

소유자: emailaddress=xxx@xxx.xxx, CN=xxx, OU=xxx, O=xxx, L=xxx, ST=xxx, C=xxx
발급자: emailaddress=xxx@xxx.xxx, CN=xxx, OU=xxx, O=xxx, L=xxx, ST=xxx, C=xxx
일련번호 : 0
개시일 : xxxxxxxxxxxxx 만료일: xxxxxxxxxxx
인증서 지문:
          MD5: xxxxxxx
          SHA1: xxxxxxxxxxxxxxxxxx

.... 인증되지 않았습니다. 회신을 설치하시겠습니까?[아니오]: 예
인증서 회신이 keystore에 설치되었습니다.
















'개발 > 외부 참조 글' 카테고리의 다른 글

Tomcat에서 KeyStore 파일 등록(SSL 서버 인증)  (0) 2008.08.14
OPENSSL 사용  (0) 2008.08.14
Keytoo, openssl을 이용한 인증서 생성  (0) 2008.08.14
openssl 기본  (0) 2008.08.14
SSL 기초  (0) 2008.08.14
tomcat keystore 파일 설정 및 기타  (0) 2008.08.12

댓글을 달아 주세요

posted by 동건이 2008. 8. 14. 10:19

openssl 기본

OPENSSL에서 등장하는 다양한 용어의 설명

1. PEM 파일
개인키, 공개키, 인증서 정보를 포함할 수 있다.
인증서를 PEM  형식으로 변환하려면 DER로 인코딩 한 후 Base64로 인코딩 하면 된다.
인코딩된 데이터 "-----BEGIN CERTIFICATE-----" 와 "-----END CERTIFICATE-----"
사이에 포함된다.

2. DER파일
개인키, 공개키,인증서를 포함할 수 있다.
KeySotre에 인증서(x.509)를 추가하려면 DER형식으로 변환해야 한다.

3. PKCS
Public Key Cryptography Standard 는 RSA사에서 주관하는 공개키 암호화를 위한 표준으로
PKCS#1 부터 PKCS#15까지 있다.


4. 인증서
인증서는 사용자의 공개키가 특정의 사용자에게 결합되어 있음을 증명하기 위하여 인증 기관이 발행하는
디지털 정보이다.
 - 사용자의 공개키, 인증기관(CA: Cerificate Authrity)의 서명
 - 인증서는 CA에 의해 발급된다.
 
5. KeyStore
개인키와 공개키로 사용되는 인증서(Certificate, X.509)가 저장된 데이터 베이스
 형식은 다음과 같다.
 - JKS(Java Key Store) : Keytool 을 상요하여 개인키와 공개키를 생성
 - PKCS#13
 포함 내요은 다음과 같다
 - 개인키와 공개키
 - Trust Certificate Entries
    .Public Key(Certificate)만 포함
    .인증서에 포함된 인증서 소유자(Subject)를 인증하기 위해서
       인증서를 발급한 기관의 인증서를 Trust Cerficate Entries 에 포함한다.

6. Keytool
Private Key와 Public Key(Self-signed Certificate)로 사용되는 인증서가 저장된 KeyStore를 관리하는 툴
 - keytool을 이용해 Private key를 생성할 수는 있으나, Keystore 에 저장(import) 또는 추출(Export)할 수 없다.
 - keytool은 der로 인코딩된 인증서(x.509)와 PKCS#7 형식의 파일만 저장(import)할 수 있다.
   

'개발 > 외부 참조 글' 카테고리의 다른 글

OPENSSL 사용  (0) 2008.08.14
Keytoo, openssl을 이용한 인증서 생성  (0) 2008.08.14
openssl 기본  (0) 2008.08.14
SSL 기초  (0) 2008.08.14
tomcat keystore 파일 설정 및 기타  (0) 2008.08.12
OpenSSL 설치  (0) 2008.08.11

댓글을 달아 주세요

posted by 동건이 2008. 8. 14. 09:05

SSL 기초

 

1. 우선 ssl의 개념에 대해 설명드리겠습니다.

 

우선 보안접속 이라는 것은 ssl을 통해 정보를 전달하는 방식을 말합니다.

ssl(Secure Sockets Layer) 이란 웹서버 인증, 서버 인증이라고도 합니다.

브라우저와 서버간의 통신에서 정보를 암호화 함으로써

도중에 해킹을 통해 정보가 유출 되더라도

정보의 내용을 보호할 수 있게 해 주는 보안 솔루션입니다

 

아래는 ssl 보안에 대해 그림으로 간단하게 설명해 놓은 것입니다.

그림을 보시면 이해가 조금 더 쉬우실 것 같습니다

 

그림

 

위와같이  웹서버에 SSL(Secure Sockets Layer) 인증서를 설치할 경우 이 기술이 적용된 전자문서는 별도의 암호화 과정을 거쳐 상대방에게 전달되므로 정보 송신자(웹브라우저에 정보를 입력하는 사용자)와 정보 수신자(해당 사이트의 웹서버 관리자) 외에는 그 내용을 해독할 수 없습니다. 따라서 전자문서가 전송되는 도중에 해커가 Sniffing을 시도한다고 해도 정보가 암호화되어있기 때문에 그 내용을 절대로 파악할 수 없습니다.

 

2. 다음은 ssl을 통한 보안 원리에 대한 설명입니다.

 

일반적으로 네트워크 상에서 데이터 혹은 신원에 대한 정보를 보호하기 위해서는 암호화 방식을 많이 사용합니다. 그렇다면, 단순히 암호화 한다고 해서 안전하다고 할 수 있을까요? 그렇지 않습니다. 단순 암호화만을 통해 잘못 설계된 프로토콜의 경우는 재생(Replay)을 통해 공격당할 수 있습니다. 그 내용은 모르더라도 관찰된 통신 내용을 동일하게 재생하면 동일한 결과를 얻을 수 있는 것이죠. 따라서, 단순한 암호화 외에 암호화 통신을 할 때 여러가지 정보를 포함하여 암호화하는 것이 보통입니다

SSL(Secure Socket Layer)는 정보를 암호화하기 위하여 기본 단위들로 나누고 이를 구분하는 것을 담당하는 SSL Record Layer와 암호화 방법이나 키의 결정 및 협상을 담당하는 Handshake Layer로 구성되어 있습니다.

SSL은 Layer가 의미하듯이 TCP/IP 등의 네트워크 전송 서비스 위에 하나의 Layer로 따로 구현합니다. Layer를 하나 더 올리는 대신 API를 기존의 Socket과 유사하게 유지함으로써 텔넷이나 FTP와 같은 기존의 모든 TCP/IP 응용프로그램들을 SSL로 포팅하기 쉽게 했죠.

        

Secure Socket Layer

좀더 자세히 살펴보면 TCP/IP 연결을 시작할 때, 응답확인방식(Handshake)을 사용하여 보안을 유지합니다. 보통 WWW 환경에서 SSL을 사용하려면 HTTPS라는 URL 억세스 방식을 이용하는데, 이 경우 보통 HTTP에서는 80번 포트를 이용하지만 HTTPS에서는 443번 포트를 이용합니다.

SSL은 별도의 프로토콜이 아니며. Email, 텔넷, FTP와 같은 다른 응용 프로토콜의 하부 계층 프로토콜로서 사용되고 있습니다.

SSL통신의 개략적인절차를 말슴드립니다.

1.       클라이언트가 서버에 접속하면 서버인증서(서버의 공개키를 인증기관이 전자서명으로 인증한 것) 를 전송받습니다. (이때, 클라이언트 인증을 필요로 할 경우 클라이언트의 인증서를 전송하게 됩니다.)

2.       클라이언트는 받은 서버 인증서를 분석하여 신뢰할 수 있는 인증서인지를 검토한 후, 서버의 공개키를 추출합니다.

3.       클라이언트가 세션키로 사용할 임의의 메세지를 서버의 공개키로 암호화하여 서버에 전송합니다.

4.       서버에서는 자신의 비밀키로 세션키를 복호화하여 그 키를 사용하여 대칭키 암호방식으로 메시지를 암호화하여 클라이언트와 통신하게 되며 이것은 "https"라는 별도의 프로토콜을 사용하게 됩니다.

3. 마지막으로 ssl의 적용 과정에 대해 말씀드리겠습니다.

Ssl인증을 위해서는 CSR 정보를 서버에서 추출하여야 합니다.

이 서버에서 추출된 CSR을 가지고 인증키를 생성하게 되는 것이지요.

서버나 구동환경에 따라 CSR의 생성이나 서버에 키를 설치하는 과정이 달라 개별적인 적용방법을 소개하기가 힘들 것 같습니다.

'개발 > 외부 참조 글' 카테고리의 다른 글

Keytoo, openssl을 이용한 인증서 생성  (0) 2008.08.14
openssl 기본  (0) 2008.08.14
SSL 기초  (0) 2008.08.14
tomcat keystore 파일 설정 및 기타  (0) 2008.08.12
OpenSSL 설치  (0) 2008.08.11
JNI  (0) 2008.08.11
TAG

댓글을 달아 주세요

posted by 동건이 2008. 8. 11. 16:25

OpenSSL

1.     OpenSSL 설치 설정

인증서와 키를 생성하고 관리하는 명령이 각각 openssl , keytool로 서로 다르기 때문에 OpenSSL JDK 를 함께 한 머신에 설치하면 쓰기 편하다.

참고로, 이 예제는 윈도우에서 작업하였으나 리눅스도 동일한 명령으로 작업할 수 있을 것으로 생각한다. 윈도우용 OpenSSL 바이너리 배포판은 많은 곳에서 구할 수 있다. 예제에서 사용한 OpenSSL 바이너리 배포판은 http://www.slproweb.com/products/Win32OpenSSL.html 에서 구했다.) 설치 후에 작업공간을 설정하기 위해 openssl.cnf 파일을 수정할 필요가 있다. 예제에서는 다음과 같이 변경했다.

dir          = ./demoCA          # Where everything is kept

. . .

#new_certs_dir = $dir/newcerts   # default place for new certs.

new_certs_dir = $dir                    # jihoon modified

. . .

#private_key = $dir/private/cakey.pem   # The private key

private_key  = ./private/cakey.pem      # jihoon modified

 

2.     작업 공간 설정

1) 작업 디렉토리를 정하고, 그 디렉토리 아래에다가 openssl.cnf 파일에 지정된 대로 demoCA 디렉토리와 private 디렉토리를 만든다.

2) demoCA 디렉토리 아래에는 index.txt 라는 이름의 빈 파일을 만든다.

3) 역시 마찬가지로 demoCA 디렉토리 아래에 serial 이라는 이름의 파일을 만든다. 이 파일에는 01 을 써둔다. (따옴표는 안 쓴다. ^^;;) 새로 인증서를 추가할 때마다 serial 파일에 번호가 증가하는 것을 볼 수 있다.

 

3.     Root CA (인증기관) 인증서 생성하기

가장 중요한 인증기관 인증서 만드는 부분이다.

 

C:\Programs\OpenSSL\bin\CA.pl –newcert

혹은

C:\Programs\OpenSSL\bin\openssl req -new -x509 -keyout private/cakey.pem -out demoCA/cacert.pem -days 3650

비번을 기억하라.

자체 서명 인증서가 만들어진다. 인증서는 cacert.pem 파일에 저장되고 개인키는 cakey.pem 에 저장된다. 인증기간을 10년 정도로 늘려잡기 위해 CA.pl 명령보다 openssl 명령을 쓰는 것이 더 낫다.

인증기관 인증서를 만들 때 잡다한 것을 입력해야 한다. 이 때, 입력하는 비밀번호는 인증기관 인증서로 새로운 하위 인증서들을 서명할 때마다 물어보기 때문에 반드시 기억해두어야 한다.

 

4.     자바 서버를 위한 KeyStore 만들기

 

서버를 위한 키저장소를 만든다.

C:\Programs\jdk\bin\keytool -genkey -alias server -keystore server.keystore

키 저장소 만들 때 비밀번호를 요구한다. 키저장소에 접근할 때마다 비밀번호를 요구하고 소스 코드에 들어가는 비밀번호 이므로 잘 기억해 둔다.

 

 

앞서 만든 CA (인증기관) 인증서를 키저장소에 넣는다.

C:\Programs\jdk\bin\keytool -import -alias ca -keystore server.keystore -file demoCA\cacert.pem

 

CSR 파일을 만든다. 이 과정은 잘 모르겠다. 어쨌든 이 과정들은 서버 키를 생성하고 인증기관 인증서로 서버 키를 서명하는 과정이다.

C:\Programs\jdk\bin\keytool -certreq -alias server -keystore server.keystore -file server.csr

 

C:\Programs\openssl\bin\openssl ca -in server.csr -out server.pem -keyfile private/cakey.pem -days 3650

Using configuration from C:\Programs\OpenSSL\bin\openssl.cnf

Loading 'screen' into random state - done

Enter pass phrase for private/cakey.pem:

Check that the request matches the signature

Signature ok

Certificate Details:

        Serial Number: 1 (0x1)

        Validity

            Not Before: Feb  7 05:28:33 2007 GMT

            Not After : Feb  4 05:28:33 2017 GMT

        Subject:

            countryName               = KR

            stateOrProvinceName       = Taejeon

            organizationName          = ETRI

            organizationalUnitName    = SOD Team

            commonName                = SOD

        X509v3 extensions:

            X509v3 Basic Constraints:

                CA:FALSE

            Netscape Comment:

                OpenSSL Generated Certificate

            X509v3 Subject Key Identifier:

                61:65:24:F8:F4:72:6A:F4:60:51:74:CC:9A:B6:7C:A5:1C:2C:5F:12

            X509v3 Authority Key Identifier:

                keyid:EC:34:A0:F6:48:F6:F2:73:E3:D9:42:83:6E:22:1B:3E:14:EE:FC:32

 

Certificate is to be certified until Feb  4 05:28:33 2017 GMT (3650 days)

Sign the certificate? [y/n]:y

 

 

1 out of 1 certificate requests certified, commit? [y/n]y

Write out database with 1 new entries

Data Base Updated

 

DER 파일을 만드는지 모르겠다. 어쨌든 서버 키를 서버 키 저장소에 넣기 위해 적절한 포맷으로 변환하는 과정인 것 같다. 서버 키를 키 저장소에 넣는다.

C:\Programs\openssl\bin\openssl x509 -in server.pem -out server.der -outform DER

C:\Programs\jdk\bin\keytool -import -alias echoer -keystore server.keystore -file server.der

 

5.     Client 요청 인증서 생성 서명

 

클라이언트를 위한 요청 인증서를 만드는 과정이다. Common Name IP 주소나 도메인 이름을 넣는 것에 주의하라. 일반적으로 웹사이트에서 사용할 인증서라면 해당 웹사이트의 도메인주소를 쓰고, 이메일에 사용할 인증서라면 이메일주소를 넣는다. 인증기간을 10년 정도로 늘려잡기 위해 CA.pl 명령보다 openssl 명령을 쓰는 것이 더 낫다. 

 

c:\programs\openssl\bin\openssl req -new -keyout newkey.pem -out newreq.pem -days 3650

Loading 'screen' into random state - done

Generating a 1024 bit RSA private key

...................++++++

..........++++++

writing new private key to 'newkey.pem'

Enter PEM pass phrase: # 비밀번호는 클라이언트 C 소스에서 쓴다.

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) [AU]:KR

State or Province Name (full name) [Some-State]:Taejeon

Locality Name (eg, city) []:Taejeon

Organization Name (eg, company) [Internet Widgits Pty Ltd]:ETRI

Organizational Unit Name (eg, section) []:SOD Team

Common Name (eg, YOUR name) []:SOD

Email Address []:

 

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:   #뭔지 몰라 그냥 넘어감

An optional company name []:

Request is in newreq.pem, private key is in newkey.pem

 

이렇게 하면 인증요청서 newreq.pem 파일과 개인키 newkey.pem 파일이 생성된다.

 

아래와 같이 인증요청서 newreq.pem 파일을 서명한다.

c:\programs\openssl\bin\openssl ca -policy policy_anything -out newcert.pem -infiles newreq.pem

 

6.     인증서 배포

client.pem 이라는 이름의 빈 텍스트 파일을 만든다.

newkey.pem PRIVATE KEY- 부분을 복사하여 client.pem 파일에 붙인다. 그 아래에

newcert.pem CERTIFICATE 부분을 복사하여 client.pem 파일에 붙인다.

client.pem 은 대략 아래와 같은 형태이다.

-----BEGIN RSA PRIVATE KEY-----

Proc-Type: 4,ENCRYPTED

DEK-Info: DES-EDE3-CBC,7F9D0116F7845BB6

 

MxUNQl3xyTsXS+NxiA51NAZtSENRT5y6A9mQcCrJQFspZSfBH3rquCHdWTxC7ch4

Ow3dCD4hvWSFh6/rtMPgQqK98/DcRg+nm4FKHveGymd7bH/qGiL0JQOy7c9I6Wdv

. . .

2Cp4xwwh8XWZMV6biO1P03T5dGj7aEMy1JqhNVe0XYPIch3SXDZFaAtpqyFDEOie

9jx/aDN284kOocBO8UoHB4fMVtg7crKDXxg7yrI8FhMp3aK7VhIULg==

-----END RSA PRIVATE KEY-----

-----BEGIN CERTIFICATE-----

MIICvzCCAiigAwIBAgIBCDANBgkqhkiG9w0BAQUFADBtMQswCQYDVQQGEwJLUjEQ

MA4GA1UECBMHVGFlamVvbjEQMA4GA1UEBxMHVGFlamVvbjENMAsGA1UEChMERVRS

. . .

jYSNWqxCWIZl6AkJOF/kRGZJaRkvcfVjbixxZ95MDZhCEtj6CiQQP5TIYuX5mmI0

4Z/xyt5S7n/Eda0MHqt1om47IhwZZNTORSVsFBTIstOtNFM=

-----END CERTIFICATE-----

 

 

앞서 만든 client.pem 파일과 인증기관 인증서 (demoCA/cacert.pem)를 클라이언트에 복사하여 사용한다.

서버에는 키저장소 파일(server.keystore)만 있으면 된다.

 

 

 

7.     참고 사이트

http://wiki.kldp.org/wiki.php/DocbookSgml/SSL-Certificates-HOWTO

http://www.yorku.ca/dkha/docs/jsse_cert/jsse_cert.htm

http://www.linuxjournal.com/article/4822 

'개발 > 외부 참조 글' 카테고리의 다른 글

JNI  (0) 2008.08.11
자바 리플렉션  (1) 2008.08.11
OpenSSL  (0) 2008.08.11
GC 튜닝에 대한 의견들  (0) 2008.02.20
JVM 메모리 관리  (0) 2008.02.20
JVM GC와 메모리 설정  (0) 2008.02.20

댓글을 달아 주세요