[백업][가리사니] [키스토어/인증서](서버/클라이언트) / 통합 트러스트스토어 생성 배치
certificate, java

이 문서는 가리사니 개발자 포럼에 올렸던 글의 백업 파일입니다. 오래된 문서가 많아 현재 상황과 맞지 않을 수 있습니다.

이하 5개의 파일을 생성하는 배치입니다. server.key / client.key : KeyStore server.crt / client.crt trust.key : TrustStore

윈도우 기준으로 작성되었으며 .bat 파일로 만들어서 사용하시면 됩니다.

@echo off
cls

:: =======================================
:: 사용전 세팅
:: =======================================
:: # keytool의 위치
:: =======================================
:: 사용전 keytool의 위치를 설정해주세요.
set keytool="C:\Program Files\Java\jdk1.8.0_74\bin\keytool.exe"
:: =======================================
:: # 시작위치 [예제는 E드라이브를 사용하기 때문에 드라이브 변경을위해 E: 넣었음]
:: %~dp0  현재경로
E:
cd /d %~dp0
:: =======================================


echo ----------------------------------------------------
echo 인증서 / 키스토어 / 트러스트 생성
echo 2016-02-15 전명 박용서 작성
:: [참고] [/2016/02/15/%EB%B0%B1%EC%97%85-%EA%B0%80%EB%A6%AC%EC%82%AC%EB%8B%88-%ED%82%A4%EC%8A%A4%ED%86%A0%EC%96%B4-%EC%9D%B8%EC%A6%9D%EC%84%9C-(%EC%84%9C%EB%B2%84-%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8)-%ED%86%B5%ED%95%A9-%ED%8A%B8%EB%9F%AC%EC%8A%A4%ED%8A%B8%EC%8A%A4%ED%86%A0%EC%96%B4-%EC%83%9D%EC%84%B1-%EB%B0%B0%EC%B9%98.html](/2016/02/15/%EB%B0%B1%EC%97%85-%EA%B0%80%EB%A6%AC%EC%82%AC%EB%8B%88-%ED%82%A4%EC%8A%A4%ED%86%A0%EC%96%B4-%EC%9D%B8%EC%A6%9D%EC%84%9C-(%EC%84%9C%EB%B2%84-%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8)-%ED%86%B5%ED%95%A9-%ED%8A%B8%EB%9F%AC%EC%8A%A4%ED%8A%B8%EC%8A%A4%ED%86%A0%EC%96%B4-%EC%83%9D%EC%84%B1-%EB%B0%B0%EC%B9%98.html) [아래 ^&  이스케이프처리]
echo [참고] [/2016/02/15/%EB%B0%B1%EC%97%85-%EA%B0%80%EB%A6%AC%EC%82%AC%EB%8B%88-%ED%82%A4%EC%8A%A4%ED%86%A0%EC%96%B4-%EC%9D%B8%EC%A6%9D%EC%84%9C-(%EC%84%9C%EB%B2%84-%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8)-%ED%86%B5%ED%95%A9-%ED%8A%B8%EB%9F%AC%EC%8A%A4%ED%8A%B8%EC%8A%A4%ED%86%A0%EC%96%B4-%EC%83%9D%EC%84%B1-%EB%B0%B0%EC%B9%98.html](/2016/02/15/%EB%B0%B1%EC%97%85-%EA%B0%80%EB%A6%AC%EC%82%AC%EB%8B%88-%ED%82%A4%EC%8A%A4%ED%86%A0%EC%96%B4-%EC%9D%B8%EC%A6%9D%EC%84%9C-(%EC%84%9C%EB%B2%84-%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8)-%ED%86%B5%ED%95%A9-%ED%8A%B8%EB%9F%AC%EC%8A%A4%ED%8A%B8%EC%8A%A4%ED%86%A0%EC%96%B4-%EC%83%9D%EC%84%B1-%EB%B0%B0%EC%B9%98.html)
echo ----------------------------------------------------
echo 완료된  .crt  모두 지우셔도 무방합니다.
echo 클라이언트와 서버 트러스트를 별도로 만드셔도됩니다.
echo 클라이언트에선 서버를 / 서버에선 클라이언트 트러스트(신뢰) 해야하기 때문에
echo keytool -import -alias 클라이언트별칭 -file 클라이언트.crt -keystore 서버트러스트.key
echo keytool -import -alias 서버별칭 -file 서버.crt -keystore 클라이언트트러스트.key
echo 위와같이 만드셔야합니다.
echo ----------------------------------------------------
echo 주의 사용전  배치를 열어 keytool/시작위치 설정해주시기 바랍니다.
echo ----------------------------------------------------
echo.
echo.
echo -------------------------------------------------------
echo 서버 키스토어 / 인증서 생성
echo -------------------------------------------------------
echo 서버 별칭을 입력해주세요 (예:gs.saro.me) :
set /p sname=

:: 키스토어
%keytool% -genkey -alias %sname% -keystore %sname%.key

:: 인증서
%keytool% -export -alias %sname% -keystore %sname%.key -rfc -file %sname%.crt

:: 트러스트
%keytool% -import -alias %sname% -file %sname%.crt -keystore trust.key

echo -------------------------------------------------------
echo 클라이언트 키스토어 / 인증서 생성
echo -------------------------------------------------------
echo 클라이언트 별칭을 입력해주세요 (서버와 달라야함) :
set /p cname=

:: 키스토어
%keytool% -genkey -alias %cname% -keystore %cname%.key

:: 인증서
%keytool% -export -alias %cname% -keystore %cname%.key -rfc -file %cname%.crt

:: 트러스트
%keytool% -import -alias %cname% -file %cname%.crt -keystore trust.key

echo 모든작업이 완료되었습니다.
pause