Notice
Recent Posts
Recent Comments
Link
투케이2K
209. (kotlin/코틀린) [유틸 파일] certificate_Base64_To_X509 : base64 문자열을 X509Certificate 인증서로 변경 실시 본문
Kotlin
209. (kotlin/코틀린) [유틸 파일] certificate_Base64_To_X509 : base64 문자열을 X509Certificate 인증서로 변경 실시
투케이2K 2023. 1. 29. 13:51[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// ----------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [RETURN] certificate_Base64_To_X509 : base64 문자열을 X509 인증서로 변경
// ----------------------------------------------------------------------------------
fun certificate_Base64_To_X509(data: String): X509Certificate? {
/**
* // -----------------------------------------
* [certificate_Base64_To_X509 메소드 설명]
* // -----------------------------------------
* 1. certificate_Base64_To_X509 : base64 문자열을 X509 인증서로 변경
* // -----------------------------------------
* 2. 호출 방식 :
*
* C_App.certificate_Base64_To_X509(base64 String)
*
* // -----------------------------------------
* 3. 리턴 데이터 : X509Certificate
* // -----------------------------------------
*/
// [리턴 값 선언]
var returnData: X509Certificate? = null
// [로직 처리 실시]
try {
if (C_Util.stringNotNull(data) === true && data.contains("BEGIN CERTIFICATE") == true && data.contains("END CERTIFICATE") == true) {
// [base64 데이터를 다시 인증서로 변경]
var certData = data
certData = certData.replace("-----BEGIN CERTIFICATE-----".toRegex(), "")
certData = certData.replace("-----END CERTIFICATE-----".toRegex(), "")
certData = certData.replace(" ".toRegex(), "")
val encodedCert = Base64.decode(certData, Base64.DEFAULT)
val inputStream = ByteArrayInputStream(encodedCert)
val certFactory = CertificateFactory.getInstance("X.509")
// [리턴 변수에 삽입]
returnData = certFactory.generateCertificate(inputStream) as X509Certificate
// [스트림 닫기]
inputStream.close()
}
} catch (e: Exception) {
e.printStackTrace()
}
// [로그 출력 실시]
///*
S_Log.ltd("================================================")
S_Log.cnt("[" + ACTIVITY_NAME + " >> " + C_Util.getNowMethod(1) + " :: base64 문자열을 X509 인증서로 변경]")
S_Log.cnt("-----------------------------------------")
S_Log.cnt("[INPUT :: $data]")
S_Log.cnt("-----------------------------------------")
S_Log.cnt("[RETURN :: " + returnData.toString() + "]")
S_Log.lbd("================================================")
// */
// [리턴 반환 실시]
return returnData
}
[결과 출력]
반응형
'Kotlin' 카테고리의 다른 글
Comments