https://docs.oracle.com/cd/E19159-01/820-4605/ablqx/index.html
인증서 파일 정보
Application Server를 설치하면 내부 검사에 적합한 JSSE(Java Secure Socket Extension) 또는 NSS(Network Security Services) 형식으로 디지털 인증서가 생성됩니다. 기본적으로 Application Server는 domain-dir/config 디렉토리의 인증서 데이터베이스에 인증서 정보를 저장합니다.
• Keystore 파일, key3.db에는 개인 키를 비롯하여 Application Server의 인증서가 포함되어 있습니다. Keystore 파일은 비밀번호로 보호됩니다. 비밀번호는 asadmin change-master-password 명령을 사용하여 변경합니다. certutil에 대한 자세한 내용은 certutil 유틸리티 사용을 참조하십시오.
모든 keystore 항목에는 고유한 별칭이 있습니다. 설치 후 Application Server keystore는 별칭이 s1as인 단일 항목을 가집니다.
• Truststore 파일, cert8.db에는 다른 엔티티에 대한 공개 키를 비롯하여 Application Server의 신뢰할 수 있는 인증서가 포함되어 있습니다. 신뢰할 수 있는 인증서의 경우 서버에서 인증서의 공개 키가 인증서 소유자에게 속하는지를 확인합니다. 일반적으로 신뢰할 수 있는 인증서에는 인증 기관의 인증서(CA)가 포함됩니다.
개발자 프로필의 경우 Application Server는 서버측에서 keytool을 사용하여 인증서와 keystore를 관리하는 JSSE 형식을 사용합니다. 클러스터 및 엔터프라이즈 프로필의 경우 Application Server는 서버측에서 certutil을 사용하여 개인 키와 인증서를 저장하는 NSS 데이터베이스를 관리하는 NSS를 사용합니다. 두 경우 모두 클라이언트측(응용 프로그램 클라이언트 또는 독립 실행형)에서는 JSSE 형식을 사용합니다.
기본적으로 Application Server에는 예 응용 프로그램과 함께 작동하고 개발 용도로 사용되는 keystore 및 truststore가 구성되어 있습니다. 작업을 위해 인증서 별칭을 변경하거나 다른 인증서를 truststore에 추가하거나 keystore 및 truststore 파일의 이름 및/또는 위치를 변경할 수 있습니다.
인증서 파일 위치 변경
개발용으로 제공된 keystore 및 truststore 파일은 domain-dir/config 디렉토리에 저장됩니다.
관리 콘솔을 사용하여 인증서 파일의 새 위치에 대한 값 필드를 추가하거나 수정합니다.
-Dcom.sun.appserv.nss.db=${com.sun.aas.instanceRoot}/NSS-database-directory
여기서 NSS-database-directory는 NSS 데이터베이스의 위치입니다.
===================================================
keytool 유틸리티 사용
다음 예는 JSSE 도구를 사용한 인증서 처리와 관련된 사용법을 보여줍니다.
•자체 서명된 인증서를 RSA 키 알고리즘을 사용하여 JKS 유형의 keystore로 만듭니다. RSA는 RSA Data Security, Inc.에서 개발한 공개 키 암호화 기술입니다. RSA는 기술 발명자인 Rivest, Shamir, Adelman의 약자입니다.
keytool -genkey -noprompt -trustcacerts -keyalg RSA -alias ${cert.alias}
-dname ${dn.name} -keypass ${key.pass} -keystore ${keystore.file}
-storepass ${keystore.pass}
인증서를 만드는 다른 예는 keytool 유틸리티를 사용하여 인증서 생성에 있습니다.
•자체 서명된 인증서를 기본 키 알고리즘을 사용하여 JKS 유형의 keystore로 만듭니다.
keytool -genkey -noprompt -trustcacerts -alias ${cert.alias} -dname
${dn.name} -keypass ${key.pass} -keystore ${keystore.file} -storepass
${keystore.pass}
인증서에 서명하는 예는 keytool 유틸리티를 사용하여 디지털 인증서 서명에 있습니다.
•JKS 유형의 keystore에서 사용할 수 있는 인증서를 표시합니다.
keytool -list -v -keystore ${keystore.file} -storepass ${keystore.pass}
•JKS 유형의 keystore에서 인증서 정보를 표시합니다.
keytool -list -v -alias ${cert.alias} -keystore ${keystore.file}
-storepass ${keystore.pass}
•RFC/텍스트 형식 인증서를 JKS 저장소로 가져옵니다. 인증서는 대체로 바이너리 인코딩 대신 인터넷 RFC(Request for Comments) 1421 표준으로 정의한 인쇄 가능한 인코딩 형식으로 저장됩니다. Base 64 인코딩이라고도 하는 이 인증서 형식은 인증서를 다른 응용 프로그램으로 전자 메일이나 몇 가지 다른 메커니즘을 통해 간편하게 내보낼 수 있게 해줍니다.
keytool -import -noprompt -trustcacerts -alias ${cert.alias} -file
${cert.file} -keystore ${keystore.file} -storepass ${keystore.pass}
•JKS 유형의 keystore에서 PKCS7 형식으로 인증서를 내보냅니다. Public Key Cryptography Standards(공개 키 암호화 표준) #7과 Cryptographic Message Syntax Standard(암호화 메시지 구문 표준)로 정의한 응답 형식에는 발행된 인증서 외에 지원 인증서 체인이 포함됩니다.
keytool -export -noprompt -alias ${cert.alias} -file ${cert.file}
-keystore ${keystore.file} -storepass ${keystore.pass}
•JKS 유형의 keystore에서 PKCS7 형식으로 인증서를 내보냅니다.
keytool -export -noprompt -rfc -alias ${cert.alias} -file
${cert.file} -keystore ${keystore.file} -storepass ${keystore.pass}
•JKS 유형의 keystore에서 인증서를 삭제합니다.
keytool -delete -noprompt -alias ${cert.alias} -keystore ${keystore.file}
-storepass ${keystore.pass}
keystore에서 인증서를 삭제하는 다른 예는 keytool 유틸리티를 사용하여 인증서를 삭제하는 방법에 있습니다.
================================================================
Next: keytool 유틸리티를 사용하여 디지털 인증서 서명
keytool 유틸리티를 사용하여 인증서 생성
keytool을 사용하여 인증서를 생성하고 가져오며 내보냅니다. 기본적으로 keytool은 실행될 디렉토리에 keystore 파일을 만듭니다.
1.인증서가 실행될 디렉토리로 변경합니다.
인증서는 반드시 keystore와 truststore 파일이 있는 디렉토리(기본은 domain-dir/config)에 생성하십시오. 이 파일의 위치를 변경하는 방법에 대한 자세한 내용은 인증서 파일 위치 변경을 참조하십시오.
2.다음의 keytool 명령을 입력하여 keystore 파일 keystore.jks에 인증서를 생성합니다.
keytool -genkey -alias keyAlias-keyalg RSA
-keypass changeit
-storepass changeit
-keystore keystore.jks
keyAlias와 같이 고유한 이름을 사용합니다. keystore 또는 개인 키 비밀번호의 기본값을 변경한 경우 위 명령의 changeit을 새 비밀번호로 대체합니다. 기본 키 비밀번호 별칭은 “s1as"입니다.
이름, 조직 및 keytool이 인증서를 생성하는 데 사용할 기타 정보를 묻는 메시지가 표시됩니다.
3.다음의 keytool 명령을 입력하여 생성된 인증서를 server.cer(아니면 client.cer) 파일로 내보냅니다.
keytool -export -alias keyAlias-storepass changeit
-file server.cer
-keystore keystore.jks
4.인증 기관에서 서명한 인증서가 필요한 경우에는 keytool 유틸리티를 사용하여 디지털 인증서 서명을 참조하십시오.
5. cacerts.jks truststore 파일을 만들고 인증서를 truststore에 추가하려면 다음의 keytool 명령을 입력합니다.
keytool -import -v -trustcacerts
-alias keyAlias
-file server.cer
-keystore cacerts.jks
-keypass changeit
6.keystore 또는 개인 키 비밀번호의 기본값을 변경한 경우 위 명령의 changeit을 새 비밀번호로 대체합니다.
도구는 인증서에 대한 정보를 표시하고 해당 인증서에 대한 신뢰 여부를 묻습니다.
7. yes를 입력하고 Enter 키를 누릅니다.
그러면 keytool은 다음과 같은 메시지를 표시합니다.
Certificate was added to keystore
[Saving cacerts.jks]
8.Application Server를 다시 시작합니다.
================================================================
2020.12.28 ssh lib (0) | 2020.12.28 |
---|---|
2020.12.24 STS SunCertPathBuilderException shooting (0) | 2020.12.24 |
2020.12.24 keytool 유틸리티를 사용하여 인증서 생성 (0) | 2020.12.24 |
java 1.8 open jdk and spring sts tools (0) | 2020.12.23 |
2020.12.22 Spring boot in java jdk (connect java jdk) (0) | 2020.12.22 |
댓글 영역