2024/11 3

[Spring] Jasypt를 이용하여 코드 암호화하기

배경회사에서 새로 진행되는 프로젝트에 인증서를 적용하기 위해 yml에 인증서 정보를 적어둬야한다.그런데, yml 파일에 인증서의 비밀번호를 그대로 노출시키기가 꺼려졌다.깃헙을 이용하는 것이 아니라 secret key도 사용할 수 없으니, 해당 비밀번호를 암호화해서 저장해야겠다고 생각했고, 찾아보던 중 Jasypt라는 라이브러리를 알게 되었다.   적용    1. build.gradle에 import하기implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.5'참고로 자바는 jdk 17을 사용 중이고, springboot는 3.2.11버전이다.    2. JasyptConfig.java 클래스 작성하기Jasypt를 사용하기 위해서는 ..

Spring 2024.11.20

The server selected protocol version TLS10 is not accepted by client preferences

회사에서 MsSQL을 TMS 전용 DB로 사용하고 있는데, 과거에는 자바 프로젝트를 사용하지 않고 Visual Basic으로 진행하여 큰 문제가 없었다.이번 기회에 vb로 작성된 코드들을 자바로 옮기기로 하였고, 그 과정에서 TMS에 데이터를 삽입하는 과정에서 아래의 오류가 터졌다.Caused by: javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12] at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131) at java.base/sun.security..

Error Record 2024.11.20

[Spring] AttributeConverter를 사용해 원하는 포맷으로 저장하기

DB에 LocalDate나 LocalTime 혹은 LocalDateTime을 원하는 형식으로 넣을 수는 없을까?LocalTime은 HH:mm:ss 형식으로 저장된다.하지만, 이를 ms 단위까지 저장하고 싶다면? 이를 위해 필요한 AttributeConverter를 소개한다.   AttributeConverterAttributeConverter는 DB에 저장될 때의 형식을 지정할 수 있게 해준다.해당 인터페이스는 2개의 메서드 구현을 요구한다. 1. convertToDatabaseColumn말그대로, DB에 저장할 때를 의미한다.우리가 LocalTime을 HH:mm:ss.SSS방식으로 저장하고자 한다면 아래와 같이 작성할 수 있다. private static final DateTimeFormatter..

Spring 2024.11.20