투케이2K

445. (android/java) [android 12 / target 31] [유틸 파일] rawCrtReadString : raw 폴더에 저장된 CRT 인증서 문자열로 읽기 본문

Android

445. (android/java) [android 12 / target 31] [유틸 파일] rawCrtReadString : raw 폴더에 저장된 CRT 인증서 문자열로 읽기

투케이2K 2023. 1. 6. 18:24

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[소스 코드]

 

    // TODO [SEARCH FAST] : [RETURN] rawCrtReadString : raw 폴더에 저장된 CRT 인증서 파일 string 문자열로 읽기
    public static String rawCrtReadString(Activity activity, String fileName) {

        /**
         * // -----------------------------------------
         * [rawCrtReadString 메소드 설명]
         * // -----------------------------------------
         * 1. raw 폴더에 저장된 CRT 인증서 파일 string 문자열로 읽기
         * // -----------------------------------------
         * 2. 호출 방식 :
         *
         *   C_App.rawCrtReadString(A_Main.this, "certificate_pem");
         *
         * // -----------------------------------------
         * 3. 리턴 데이터 :
         *
         * -----BEGIN CERTIFICATE-----
         * MIIDWjCCAkKgAwIBAgIVAOcEFO2l
         * ...............
         * -----END CERTIFICATE-----
         *
         * // -----------------------------------------
         * 4. 추가 설명 :
         *
         * - 인풋 값에는 [확장자 명을 포함하지 않은] 순수한 [파일 명칭]을 넣습니다
         * - raw 폴더에 저장된 [certificate_pem.crt] 파일을 읽습니다
         * // -----------------------------------------
         * */


        // [리턴 값 선언]
        String returnData = "";


        // [로직 처리 실시]
        try {

            if (C_Util.stringNotNull(fileName) == true){

                // [리소스 아이디 확인]
                Resources resources = activity.getResources();
                int id = resources.getIdentifier(String.valueOf(fileName), "raw", activity.getPackageName());

                // [스트림으로 리소스 읽음]
                InputStream txtResource = activity.getResources().openRawResource(id);
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

                int len = 0;
                len = txtResource.read();

                // 반복문을 수행하면서 파일 내용을 읽음
                while (len != -1) {
                    byteArrayOutputStream.write(len);
                    len = txtResource.read();
                }

                // [저장된 값을 변수에 저장 실시]
                returnData = new String(byteArrayOutputStream.toByteArray(), "UTF-8");

                // [스트림 닫기]
                byteArrayOutputStream.close();
                txtResource.close();
            }

        } catch (Exception e) {
            e.printStackTrace();
        }


        // [로그 출력 실시]
        ///*
        Log.i("---","---");
        Log.d("//===========//","================================================");
        Log.i("","\n"+"[C_App >> rawCrtReadString() :: raw 폴더에 저장된 CRT 인증서 파일 string 문자열로 읽기]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[INPUT :: "+String.valueOf(fileName)+"]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[RETURN :: "+String.valueOf(returnData)+"]");
        Log.d("//===========//","================================================");
        Log.i("---","---");
        // */


        // [리턴 반환 실시]
        return returnData;
    }

 

반응형
Comments