투케이2K

961. (Android/Java) [간단 소스] AccessKey , SecretKey 사용해 Aws KMS 키 관리 서비스 AWSKMSClient 초기화 방법 본문

Android

961. (Android/Java) [간단 소스] AccessKey , SecretKey 사용해 Aws KMS 키 관리 서비스 AWSKMSClient 초기화 방법

투케이2K 2025. 3. 17. 19:24

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java / Kotlin

 

[소스 코드]

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Java / Kotlin

- 개발 툴 : AndroidStudio

- 기술 구분 : Aws / KMS / AWSKMSClient

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[사전) 필요 설정 정리] : build.gradle 의존성 부여
// --------------------------------------------------------------------------------------

// [AWS] : [target 31 이상 의존성]
implementation 'com.amazonaws:aws-android-sdk-kms:2.57.0'
implementation 'com.amazonaws:aws-android-sdk-s3:2.57.0'
implementation 'com.amazonaws:aws-android-sdk-iot:2.57.0'
implementation 'com.amazonaws:aws-android-sdk-mobile-client:2.57.0'


// [AWS] : [target 31 미만 의존성]
implementation 'com.amazonaws:aws-android-sdk-kms:2.16.13'
implementation 'com.amazonaws:aws-android-sdk-s3:2.16.13'
implementation 'com.amazonaws:aws-android-sdk-iot:2.16.13'
implementation 'com.amazonaws:aws-android-sdk-mobile-client:2.16.13'

// --------------------------------------------------------------------------------------





// --------------------------------------------------------------------------------------
[Java : 소스 코드]
// --------------------------------------------------------------------------------------

public boolean awsCredentialsInit(Context ctx, String accessKey, String secretKey, Region region) {
    S_Log._D_(ACTIVITY_NAME + " :: setContext :: AWSCredentials 초기화 수행", new String[]{"accessKey :: " + String.valueOf(accessKey), "secretKey :: " + String.valueOf(secretKey), "region :: " + String.valueOf(AWS_KMS_REGION)});

    boolean returnData = false;

    try {
        mMainCtx = ctx;

        if (C_Util.stringNotNull(accessKey) == true
                && C_Util.stringNotNull(secretKey) == true
                && region != null){ // [파라미터 null 체크 수행]

            // [AWSCredentials 정의]
            AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);

            // [AWSKMSClient 초기화]
            kmsClient = new AWSKMSClient(credentials);
            kmsClient.setRegion(region); // [kms 키가 있는 리젼 설정]

            returnData = true;
        }
        else {
            S_Log._E_(ACTIVITY_NAME + " :: setContext :: AWSCredentials 초기화 에러", new String[]{"Error :: Input Data Is Null"});
        }

    }
    catch (Exception e){
        S_Log._printStackTrace_(null, S_FinalData.LOG_BUG_STATE, null, e);
    }

    return returnData;
}

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[Aws KMS 키 관리 서비스 개념 및 설명 정리 - 데이터 암호화 키 생성 관리]

https://blog.naver.com/kkh0977/223793790135?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------
 
반응형
Comments