728x90
  • 시스템 셋팅

AWS CLI 설치 : https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/install-macos.html

AWS 인증용 profile 셋팅 : profile 명 exkr-kms

$ aws configure --profile exkr-kms
AWS Access Key ID [None]: AKIAJHQMLLDJRWODVZBQ
AWS Secret Access Key [None]: 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
Default region name [None]: ap-northeast-2
  • KMSManager 사용법

aws/KMSManagerExample.java

  1. KMSManager 초기화
KMSManager kmsManager = KMSManager.getInstance(); 
kmsManager.init((String) System.getProperties().get("exkr.kms.alias"));

2. 사용자별(uid) cipher 생성

String cipher = kmsManager.createCipherWithUID(uid);

3. uid와 cipher로 암호화

String encrypted = kmsManager.encryptWithUID(uid, plain, cipher);

4. uid와 cipher로 복호화

String decrypted = kmsManager.decryptWithUID(uid, encrypted, cipher);

서비스 프로퍼티 암호화 : 실행 옵션 exkr.kms.cipher 사용하여 암/복호화

예제 소스들 ~~~~

예제 프로젝트

1. resources/META-INF/spring.factories  추가 
org.springframework.context.ApplicationContextInitializer=com.example.springapiexample.init.DecryptPropertiesContextInitializer

2. resources/application.properties 에 예제 프로퍼티 추가
exkr.test={cipher}743QDr/oHPyshILBgJURgXfqyUe4ZHgpKDx2qRwVR1k=

3. curl -si localhost:8080/greeting  호출시 exkr.test 복화화되어 출력 '안녕하세요!'포함한 문자열 
{"id":1,"content":"Hello, 안녕하세요?! with World pwd"}
~~~


내저장소 바로가기 luxury515

'Back-end > 기타' 카테고리의 다른 글

필터(Filter) vs 인터셉터(Intercepter)  (0) 2023.04.17
on duplicate key update  (0) 2023.04.16
DI(Depandency Injection) 에 관하여  (0) 2023.04.14
plantUml preview 갑자기 작동안될때.  (0) 2023.04.14
gradle bootrun 작동 에러  (0) 2023.04.14
728x90

현재 Spring에서 아래와 같이 3가지 DI 방식을 사용하고 있다.

  • 가장 흔한 필드 주입방식: Field Injection 방식 (비 권장)
    @Controller
    public class BoardController {
    	@Autowired 
      private IBoardItemService boardItemService;
    }
  • 수정자 주입: Setter Injection
    private IBoardItemService boardItemService;
      @Autowired // 4.3 부터 생략 가능
      public void SetIBoardItemService (MessageSource messageSource){
        this.messageSource = messageSource;
      }
  • 생성자 주입: 가장 선호하는 방식 ( Class 상단에 @RequiredArgsConstructor 추가 , @AllArgsConstructor 는 지운다!)
    @RequiredArgsConstructor
    public class BoardController {
    	private final IBoardItemService boardItemService;
    }

    Lombok 없이 사용시:

    
    public class BoardController {
    	private final IBoardItemService boardItemService; // Immutability 이슈까지 해결하고 싶다면 private final 접근자 붙여주기
        
    		@Autowired
    		public BoardController(IBoardItemService boardItemService) {
        	this.boardItemService = boardItemService;
        }
    } 

내저장소 바로가기 luxury515

'Back-end > 기타' 카테고리의 다른 글

on duplicate key update  (0) 2023.04.16
AWS KMS 관련 세팅  (0) 2023.04.14
plantUml preview 갑자기 작동안될때.  (0) 2023.04.14
gradle bootrun 작동 에러  (0) 2023.04.14
radius(레이디스)서버  (0) 2023.04.14
728x90

uninstall 이후 기존 플러그인 폴더에 가서 쓰레기 파일들을 지워야 하고 재 설치해야 된다.

https://github.com/qjebbs/vscode-plantuml/issues/290

uninstall plantuml in vscode

clean files rm -rf ~/.vscode/extensions/jebbs.plantuml-2.13.12

reinstall pluanuml ext in vscode


내저장소 바로가기 luxury515

'Back-end > 기타' 카테고리의 다른 글

AWS KMS 관련 세팅  (0) 2023.04.14
DI(Depandency Injection) 에 관하여  (0) 2023.04.14
gradle bootrun 작동 에러  (0) 2023.04.14
radius(레이디스)서버  (0) 2023.04.14
Optional 클래스(1) : 일반예시  (0) 2023.04.14
728x90
Task :npmNodeModuleSetup FAILED dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.68.dylib Referenced from: /usr/local/bin/node Reason: image not found

FAILURE: Build failed with an exception.

node_modules 삭제 후 npm 실행


내저장소 바로가기 luxury515

'Back-end > 기타' 카테고리의 다른 글

DI(Depandency Injection) 에 관하여  (0) 2023.04.14
plantUml preview 갑자기 작동안될때.  (0) 2023.04.14
radius(레이디스)서버  (0) 2023.04.14
Optional 클래스(1) : 일반예시  (0) 2023.04.14
tomcat m1 설정  (0) 2023.04.13

+ Recent posts