JAVA(2)
-
[ JAVA 8 ] Java AES: No installed provider supports this key: javax.crypto.spec.SecretKeySpec
이번 이슈는 PG사 결제모듈 연동을 하던 중에 생긴 이슈이다. 정확히는 AES256 암호화 및 base64 인코딩 진행중 발생함. 코드는 다음과 같다. ( IV와 key값은 노출시키지 않았다 ) String AESMode = "AES/CBC/PKCS5Padding"; IvParameterSpec ivspec = new IvParameterSpec(IV); SecretKey keySpec = new SecretKeySpec(CRYPTOKEY,"AES"); try { Cipher cipher = Cipher.getInstance(AESMode); cipher.init(Cipher.ENCRYPT_MODE, keySpec, ivspec); byte[] encrypted = cipher.doFinal(origin..
2022.03.30 -
[ Java 8 ] AES256 및 Base64관련 활성화 방법 / 1.8.0 151 이후는 library 설치 필요 없음
Java에 경우 AES256을 사용하기 위해 오라클에서 JCE를 받아 압축 풀고 JAVA_HOME/lib/security에 복사해야 했다. 그런데, Java 8 151 이후부터는 폴더 구조가 변경되어 설치할 필요가 없어졌다. ㅎ.. Java 8 151 이후에서 활성화 방법은 다음과 같다. JAVA_HOME /lib/security/java.security 파일 -> crypto.policy=unlimited 주석 해제 Java 9부터는 기본적으로 활성화 되어있다고 함. JCE (Java Cyptography Extension) 링크 http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html 또한 Base64 를 사용..
2022.03.30