Java

Oracle 사이트에서 Java SE 를 Download 함.
Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 도 Download 함.

  • jdk-8u191-linux-x64.tar.gz
  • jce_policy-8.zip

다음 명령어로 java를 설치했음.

jinia@jin:~$ tar xvzf ~/Downloads/jdk-8u191-linux-x64.tar.gz -C ~/Desktop

Java Path를 잡지 않았으므로 다음과 같이 버전 확인 가능함.

jinia@jin:~$ ~/Desktop/jdk1.8.0_191/bin/java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
jinia@jin:~$

Java Path 수정하기

/etc/bash.bashrc 파일 맨 밑에 JAVA_HOME과 PATH가 있음을 확인하고 변경한다.
재부팅 후, java 버전 확인하면 됨.

jinia@jin:~$ cat /etc/bash.bashrc         # cat으로 확인함.
# System-wide .bashrc file for interactive bash(1) shells.

## /etc/bash.bashrc 내용 중략

export JAVA_HOME=/home/jinia/Desktop/jdk1.8.0_181
export PATH=$PATH:${JAVA_HOME}/bin
jinia@jin:~$
jinia@jin:~$
jinia@jin:~$ sudo nano /etc/bash.bashrc   # vi로 수정안됨. nano로 수정해야함.

인증서 추가하기

jinia@jin:~$ ls /usr/share/ca-certificates/extra/                             # 인증서 확인
POSCOICT_CA_256.crt
jinia@jin:~$ ls ~/Desktop/jdk1.8.0_191/jre/lib/security/                      # 설치위치 확인
blacklist  blacklisted.certs  cacerts  java.policy  java.security  javaws.policy  policy  trusted.libraries
jinia@jin:~$ cp /usr/share/ca-certificates/extra/POSCOICT_CA_256.crt ~/Desktop/jdk1.8.0_191/jre/lib/security/  # 복사
jinia@jin:~$ cd ~/Desktop/jdk1.8.0_191/jre/lib/security/                      # cd
jinia@jin:~/Desktop/jdk1.8.0_191/jre/lib/security$ keytool -import -keystore cacerts -storepass changeit -file POSCOICT_CA_256.crt -alias poscoict  # keytool 실행
Owner: EMAILADDRESS=admin@poscoict.co.kr, CN=POSCOICT_CA_256, OU=secuirty, O=POSCOICT_CA_256, L=SEOUL, ST=CA, C=KR
Issuer: EMAILADDRESS=admin@poscoict.co.kr, CN=POSCOICT_CA_256, OU=secuirty, O=POSCOICT_CA_256, L=SEOUL, ST=CA, C=KR

## 중략

Trust this certificate? [no]:  yes     # yes 라고 입력
Certificate was added to keystore
jinia@jin:~/Desktop/jdk1.8.0_191/jre/lib/security$

JCE

https://www.oracle.com/technetwork/java/javase/downloads/index.html

jinia@jin:~$ unzip ~/Downloads/jce_policy-8.zip -d ~/Downloads/jce         # unzip 으로 압축 풀기
Archive:  /home/jinia/Downloads/jce_policy-8.zip
   creating: /home/jinia/Downloads/jce/UnlimitedJCEPolicyJDK8/
  inflating: /home/jinia/Downloads/jce/UnlimitedJCEPolicyJDK8/local_policy.jar  
  inflating: /home/jinia/Downloads/jce/UnlimitedJCEPolicyJDK8/README.txt  
  inflating: /home/jinia/Downloads/jce/UnlimitedJCEPolicyJDK8/US_export_policy.jar
jinia@jin:~$ ls ~/Downloads/jce/UnlimitedJCEPolicyJDK8/                    # ls로 파일 확인하기.
local_policy.jar  README.txt  US_export_policy.jar
jinia@jin:~$ ls ~/Desktop/jdk1.8.0_191/jre/lib/security/                   # ls로 파일 확인하기.
blacklist  blacklisted.certs  cacerts  java.policy  java.security  javaws.policy  policy  POSCOICT_CA_256.crt  trusted.libraries
jinia@jin:~$ cp ~/Downloads/jce/UnlimitedJCEPolicyJDK8/*.jar ~/Desktop/jdk1.8.0_191/jre/lib/security/ # cp로 jar 파일 2개 복사하기
jinia@jin:~$ rm -rf ~/Downloads/jce                                        # rm으로 지우기
jinia@jin:~$

Test용 keystore 생성.

jinia@jin:~$ # keytool 실행
jinia@jin:~$ keytool -genkeypair -keyalg RSA -keypass changeit -dname "CN=Config Server,OU=security,O=POSCOICT,L=SEOUL,S=CA,C=KR" -keystore server.jks -storepass changeit -alias poscoict

Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore server.jks -destkeystore server.jks -deststoretype pkcs12".
jinia@jin:~$ # keytool 실행 ( Warning 메시지 참고 )
jinia@jin:~$ keytool -importkeystore -srckeystore server.jks -destkeystore server.jks -deststoretype pkcs12
Enter source keystore password:  # changeit 입력
Entry for alias poscoict successfully imported.
Import command completed:  1 entries successfully imported, 0 entries failed or cancelled

Warning:
Migrated "server.jks" to Non JKS/JCEKS. The JKS keystore is backed up as "server.jks.old".
jinia@jin:~$ rm server.jks.old  # backup 파일 삭제