비트워든앱이 인증(certificates) 문제로 접속 불가 현상

비트워든(Bitwarden) 앱 접속 불가 현상

잘 쓰고 있던 bitwardenrs 도커 이미지를 최신 프로젝트명인 vaultwarden으로 업데이트했다. 서버는 잘 돌아가는데, 뜬금없이 안드로이드 스마트폰 앱에서 접속이 안 된다.

에러 메시지는 다음과 같다. “오류가 발생했습니다. Exception message: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found”

image-3

대충 인증서 신뢰 경로를 못 찾겠다는 소리다. Vaultwarden 깃헙 이슈를 뒤져보니, 안드로이드 구버전이나 특정 환경에서 최신 Let’s Encrypt 인증서 체인을 제대로 인식 못 하는 문제인 듯하다. 수동으로 인증서를 폰에 설치해 줘야 한다고 한다.

1. 인증서 다운로드 (Root & Intermediate)

시놀로지 NAS에서 Let’s Encrypt 인증서를 사용 중이므로, 해당 기관의 루트(Root)와 중개(Intermediate) 인증서를 받아야 한다. PC에서 받아서 폰으로 옮기든, 폰에서 바로 받든 상관없다.

다운로드 사이트: https://letsencrypt.org/certificates/

1) Root 인증서 다운로드

  • Root Certificates 항목으로 이동

  • Active > ISRG Root X1 > Self-signed > pem 클릭하여 다운로드

Root Certificates 인증서 부분 스크린샷

2) Intermediate 인증서 다운로드

  • Intermediate Certificates 항목으로 이동

  • Active > Let’s Encrypt R3 > Signed by ISRG Root X1 > pem 클릭

  • Active > Let’s Encrypt R3 > Cross-signed by IdenTrust > pem 클릭

Intermediate Certificates 부분 스크린샷 / 첫번째 pem과 두번째 pem 을 다운로드

총 3개의 pem 파일을 스마트폰에 저장해 둔다.

2. 안드로이드 폰에 인증서 설치

다운로드한 인증서를 시스템에 등록해야 한다. (갤럭시 등 안드로이드 기준)

  1. 설정 > 검색창에 “certificate” (또는 ‘인증서’) 검색

  2. 결과 중 “CA 인증서” 메뉴 선택

안드로이드 CA 인증서 메뉴

  1. 경고창이 뜨면 “무시하고 설치” 선택

  2. 다운로드 폴더에서 아까 받은 파일들을 하나씩 선택해서 설치한다.

    • isrgrootx1-1.pem

    • lets-encrypt-r3.pem

    • lets-encrypt-r3-cross-signed.pem

3개 파일 모두 반복해서 설치해 준다.

3. 해결 확인

인증서 설치를 마치고 비트워든 앱을 다시 켜서 로그인을 시도했다. 거짓말처럼 인증서 에러 없이 로그인이 잘 된다.

도커 이미지 이름만 바꿨을 뿐인데 인증서까지 수동으로 잡아줘야 하다니… 귀찮긴 했지만 해결돼서 다행이다.