통합검색

ETC

[MacOS, Firebase] iOS Firebase 앱푸시를 위한 APN 인증서 생성 방법

  • 2024.11.07 11:53:05


Firebase 를 통해 iOS 앱푸시를 이용 중인데, 24년도 이전에 제작한 iOS앱의 경우 Firebase에 p12 방식의 인증서가 등록되어 있다.
p12 인증서의 경우 만료일이 1년으로 설정되어 있기 때문에 애플 개발자센터에서 발급 받은 APN 인증서를 Firebase 에 재등록해야 한다.
또한, APN발급을 위해서는 자체서명인증서(csr) 이 사전에 준비되어 있어야 하는데, 자체서명 인증서는 MacOS 또는 리눅스에서 가능하다.
(openssl 사용을 위해)


[!]자체서명 인증서 생성(csr) - Mac or Linux에서 가능[/!]
 
MacOS 또는 리눅스 운영체계에서 '터미널'을 연다음 아래와 같이 자체서명 인증서를 생성한다.

2048비트 RSA 개인 키 생성
 
openssl genrsa -out mykey.key 2048

CSR 생성
 
openssl req -new -key mykey.key -out mycsr.csr

주의할 점은, 아래와 같이 정보를 정확하게 입력해야 인증서 유효성 검증에 성공한다.
- Country Name : KR
- State or Province Name : Seoul
- Locality Name : Seoul
- Organization Name : 조직명
- Organizational Unit Name : 조직명
- Common Name : 앱 Bundle ID (ex: AAAAAABBBBB.com.CCCC.App)


[!]APNs(cer) 발급 (애플 개발자센터)[/!]
 
애플 개발자센터로 이동하여 아래와 같이 자체서명인증서 첨부 및 APN 인증서를 발급받아 다운로드 받는다.

1. 로그인 -> Account -> 인증서, 식별자 및 프로파일
상단 Certificatese 우측 [+] 버튼 클릭하여 인증서 생성 화면으로 이동

2. Apple Push Notification service SSL (Sandbox & Production)
선택 후 Continue 클릭하여 다음 화면으로 이동

3. 인증서 발급 하려는 App ID 선택후 Continue 클릭
4. Choose File 선택하여 위에서 생성한 mycert.csr 파일 첨부
5. Download 버튼 클릭하여 aps.cer 다운로드


[!]p12인증서로 변환[/!]
 
애플에서 다운받은 aps.cer 파일을 pem 파일로 변환 
 
openssl x509 -in aps.cer -inform DER -out aps.pem -outform PEM

개인 키(key, pem) 과 함께 .p12 파일을 생성
 
openssl pkcs12 -export -inkey mykey.key -in aps.pem -out aps.p12
- Enter Export Password : 패스워드 설정후 기억할 것!


[!]Firebase 인증서 추가[/!]
 
위에서 생성한 aps.cer 또는 p12 인증서를  
Firebase -> setting -> 프로젝트설정 -> 클라우드메시징 으로 이동하여 업로드 및 위에서 p12 생성시 설정한 패스워드를 입력하여 등록 완료.