+)기록/과제

정리사항 43 - SSL인증서 공개키 추출, SSL인증서 개념

AppJinny 2023. 4. 7. 16:43

*SSL인증서 공개키 추출(적용)

-Base64: 안드로이드 유틸 사용...

String certData = result.getResultDetail().getCert();

//인증서로 변환
//base64문자열 byte변환
byte encodedCert[] = Base64.decode(certData, Base64.DEFAULT);

ByteArrayInputStream inputStream = new ByteArrayInputStream(encodedCert);

try {
    CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
    X509Certificate convertCertificate = (X509Certificate) certFactory.generateCertificate(inputStream);

    //암호화 사용하여 공개키 추출
    RSAPublicKey publicKey = (RSAPublicKey)convertCertificate.getPublicKey();
    String base64Publickey = Base64.encodeToString(publicKey.getEncoded(), Base64.DEFAULT);

    Log.e("E", "base64Publickey: " + base64Publickey);

} catch (CertificateException e) {
}

 

https://kkh0977.tistory.com/3816

 

469. (Android/Java) X.509 Certificate 인증서에서 공개키 (public key) 추출 실시

[개발 환경 설정] ​ 개발 툴 : AndroidStudio ​ [소스 코드] ​ // ------------------------------------- // [로직 처리 실시] // ------------------------------------- try { // [테스트 인증서 base64 문자열 선언] String certData

kkh0977.tistory.com

 

*참고

-SSL인증서 개념

https://nuritech.tistory.com/25

 

HTTPS 통신 원리 쉽게 이해하기 (Feat. SSL Handshake, SSL 인증서)

이 글을 쓰게 된 이유는,, 나의 평소 HTTPS 에 대한 지식은 HTTPS 가 암호화된 네트워크 통신 프로토콜이고 HTTPS 를 사용한 네트워크 통신에서는 주고받는 패킷을 까도 데이터가 암호화되어 있어 안

nuritech.tistory.com

 

https://12bme.tistory.com/80

 

[정보보안] SSL(Secure Socket Layer) 이란

현재 근무 중인 업체에서 SSL 인증서 적용 작업이 필요하다고 합니다. SSL 인증서관련 필요한 것이 무엇인지에 대한 요청이 있었습니다. 간단하게 SSL에 대해 정리해보겠습니다. 1. SSL 개념 잡기 SSL

12bme.tistory.com

 

-X.509 개념

X.509 인증서의 추상 클래스입니다. 이는 X.509 인증서의 모든 속성에 액세스하는 표준 방법을 제공합니다.

이러한 인증서는 인터넷 보안 시스템에서 인증 및 기타 기능을 지원하는 데 널리 사용됩니다. 일반적인 애플리케이션에는

PEM(Privacy Enhanced Mail), SSL(Transport Layer Security), 신뢰할 수 있는 소프트웨어 배포를 위한 코드 서명 및

SET(Secure Electronic Transactions)가 포함됩니다.

이러한 인증서는 인증 기관 (CA) 에서 관리하고 보증합니다 . CA는 데이터를 X.509 표준 형식으로 배치한 다음 해당 데이

터에 디지털 서명하여 인증서를 생성하는 서비스입니다. CA는 신뢰할 수 있는 제3자 역할을 하여 서로에 대해 직접적인 지

식이 없는 보안 주체를 소개합니다. CA 인증서는 자체 서명되거나 "루트" CA와 같은 다른 CA에 의해 서명됩니다.

https://developer.android.com/reference/java/security/cert/X509Certificate

 

X509Certificate  |  Android Developers

 

developer.android.com