Dev_Tip/Java_Tip

[Java] keytool.exe

LeeDaniel 2024. 11. 19. 09:37
 

 

 [ keytool.exe ]
keytool.exe는 Java 환경에서 제공되는 명령줄 도구로
**Java KeyStore(JKS)**라는 형식의 인증서 및 키 파일을 관리하기 위해 사용됩니다.
이 도구는 보안 관련 작업을 수행하는 데 사용되며
주로 SSL 인증서 및 암호화 키를 생성, 관리 및 확인하는 데 활용됩니다.

Windows 환경에서는
보통 Java Development Kit(JDK)를 설치하면 함께 제공되며
keytool.exe는 JDK의 bin 디렉토리에 위치합니다

keytool.exe의 경로

 [ 주요 기능 ]
1.
키 생성 (Key Pair Generation)
RSA, DSA, 또는 EC(Elliptic Curve)와 같은 알고리즘을 사용하여 비대칭 키 쌍을 생성합니다.
개인 키와 공개 키를 만들며, 공개 키는 인증서에 포함될 수 있습니다.

keytool -genkeypair -alias mykey -keyalg RSA -keystore mykeystore.jks


2.
KeyStore 생성 및 관리
KeyStore는 개인 키와 인증서를 안전하게 저장하는 파일입니다.
새로운 KeyStore를 생성하거나 기존 KeyStore에서 키 및 인증서를 추가/삭제/확인할 수 있습니다.

keytool -list -keystore mykeystore.jks


3. 인증서 요청 생성 (Certificate Signing Request, CSR)
SSL 인증서를 발급받기 위해 CSR 파일을 생성합니다.
   

keytool -certreq -alias mykey -file mycert.csr -keystore mykeystore.jks


4.
인증서 가져오기 및 설치
인증 기관(CA)에서 발급받은 인증서를 가져와 KeyStore에 추가합니다.

keytool -importcert -trustcacerts -alias mykey -file mycert.crt -keystore mykeystore.jks


5. 인증서 보기 및 확인
KeyStore에 저장된 인증서 및 키 정보를 확인합니다.

keytool -list -v -keystore mykeystore.jks


6. 변환 작업
KeyStore 포맷 간 변환(PKCS12와 JKS)도 가능합니다.

keytool -importkeystore -srckeystore mykeystore.jks -destkeystore mykeystore.p12 -deststoretype PKCS12


 [ 사용 사례 ]

  • 웹 서버 SSL 설정
    Tomcat, WebLogic 같은 Java 기반 서버에서 HTTPS를 설정할 때 KeyStore를 사용합니다.
  • 클라이언트-서버 인증
    클라이언트 인증서와 서버 인증서를 설정하여 안전한 통신을 구현할 때 활용됩니다.
  • 암호화 및 서명 테스트
    자체 인증서나 임시 키 쌍을 생성하여 애플리케이션의 암호화 기능을 테스트할 수 있습니다.

 

 

반응형

'Dev_Tip > Java_Tip' 카테고리의 다른 글

[Java] 특정 문자열 검색하기  (0) 2021.03.10