programing

Apple Push Notification 설정에 사용되는 .pem 파일 생성

fastcode 2023. 4. 20. 22:59
반응형

Apple Push Notification 설정에 사용되는 .pem 파일 생성

클라이언트 계정에서 증명서를 생성하고 단말기를 사용하여 .pem 파일을 생성할 때마다 .pem 파일을 생성하려고 시도했지만 소용이 없었습니다.누가 단계별 절차를 알려줄 수 있나요?

iOS 앱에서 Push Notification을 활성화하려면 Apple Push Notification Certificate(.pem 파일)를 만들어 업로드해야 합니다. 그러면 Apple Push Server에 대신 연결할 수 있습니다.

(스크린샷업데이트한 업데이트 버전 이쪽)

순서 1: iOS Provisioning Portal에 로그인하여 좌측 네비게이션 바의 [Certificates](증명서)를 클릭합니다.그런 다음 "+" 버튼을 클릭합니다.

여기에 이미지 설명 입력

2단계: 배포 섹션에서 Apple Push Notification 서비스 SSL(Production) 옵션을 선택하고 "계속" 버튼을 클릭합니다.

여기에 이미지 설명 입력

3단계: BYO 앱에 사용할 앱 ID(앱 ID 생성 방법)를 선택하고 "계속"을 클릭하여 다음 단계로 진행합니다.

여기에 이미지 설명 입력

순서 4: 「증명서 서명 요구(CSR)의 작성에 대하여」의 순서에 따라서, 증명서 서명 요구를 작성합니다.

여기에 이미지 설명 입력

Apple이 제공하는 지침을 보완합니다.다음은 필요한 단계를 완료하는 데 도움이 되는 몇 가지 추가 스크린샷입니다.

스텝 4 보충 스크린샷1: Mac에서 Certificate Assistant of Keychain Access로 이동합니다.

여기에 이미지 설명 입력

스텝 4 보충 스크린샷2: 증명서 정보를 입력합니다.[ Continue ]을 클릭합니다.

여기에 이미지 설명 입력

5단계: 4단계에서 생성된 ".certSigningRequest" 파일을 업로드하고 "Generate" 버튼을 클릭합니다.

여기에 이미지 설명 입력

순서 6: 「완료」를 클릭해 등록을 완료합니다.iOS Provisioning Portal 페이지가 갱신되어 다음의 화면이 표시됩니다.

여기에 이미지 설명 입력

그런 다음 "다운로드" 버튼을 클릭하여 방금 만든 인증서(.cer 파일)를 다운로드합니다. - 다운로드한 파일을 두 번 클릭하여 Mac의 키 체인 액세스에 인증서를 설치합니다.

7단계: Mac에서 "Keychain"으로 이동하여 방금 설치한 인증서를 찾습니다.어떤 인증서가 올바른 인증서인지 모를 경우 "Apple Production IOS Push Services:"로 시작하고 그 다음에 앱의 번들 ID를 입력해야 합니다.

여기에 이미지 설명 입력

순서 8: 증명서를 전개하면, 개인 키와 자신의 이름 또는 회사명이 표시됩니다.키보드의 [Select](선택) 키를 사용하여 두 항목을 모두 선택하고 오른쪽 클릭(또는 단일 버튼 마우스를 사용하는 경우 cmd-클릭)한 후 다음과 같이 [Export 2 items](항목 내보내기)를 선택합니다.

여기에 이미지 설명 입력

그런 다음 "pushcert.p12"라는 이름의 p12 파일을 바탕화면에 저장합니다.이 파일을 보호하기 위한 비밀번호를 입력하라는 메시지가 나타납니다.Enter를 클릭하여 비밀번호를 건너뛰거나 원하는 비밀번호를 입력할 수 있습니다.

9단계: 가장 어려운 부분 - Mac에서 "터미널"을 열고 다음 명령을 실행합니다.

cd
cd Desktop
openssl pkcs12 -in pushcert.p12 -out pushcert.pem -nodes -clcerts

순서 10: 데스크탑에서 pushcert.p12를 삭제하여 Build Your Own 영역에 잘못 업로드하지 않도록 합니다.Mac에서 "터미널"을 열고 다음 명령을 실행합니다.

cd
cd Desktop
rm pushcert.p12

11 - UPDATE : new 11 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★pushcert.p12 AWS하세요.pushcert.pem그린에 하이라이트 되어 있는 것만 내보냅니다.

여기에 이미지 설명 입력크레딧 : AWS 신규 갱신

이것으로 Apple Push Notification Certificate(.p12 파일)를 만들었습니다.나중에 이 파일을 자체 구축 영역에 업로드해야 합니다. : )

오늘날에는 훨씬 더 심플한 솔루션이 있습니다. .이 도구를 사용하면 생활이 훨씬 쉬워집니다.

예를 들어 푸시 알림 인증서를 생성하거나 갱신하려면 다음과 같이 입력합니다.

fastlane pem 

1분 안에 끝나요샌드박스 증명서가 필요한 경우 다음과 같이 입력합니다.

fastlane pem --development

그리고 그게 다에요.

$ cd Desktop
$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem

위의 답변들 모두 감사합니다..p12 파일이 있으면 좋겠는데이제 terminal write following 명령을 엽니다.terminal을 .12 파일을 격납한 패스로 설정합니다.

$ openssl pkcs12 -in yourCertifcate.p12 -out pemAPNSCert.pem -nodes
Enter Import Password: <Just enter your certificate password>
MAC verified OK

이것으로 .pem 파일이 생성됩니다.

.pem 파일을 확인합니다.먼저 텍스트에디터에서 .pem을 열어 내용을 표시합니다.증명서의 내용은 다음과 같은 형식이어야 합니다.pem 파일에 증명서 내용(BEGIN CERTIFICATE에서 END CERTIFICATE로)과 증명서 개인 키(BEGIN PRIVATE KEY에서 END PRIVATE로)가 모두 포함되어 있는지 확인합니다.

> Bag Attributes
>     friendlyName: Apple Push Services:<Bundle ID>
>     localKeyID: <> subject=<>
> -----BEGIN CERTIFICATE-----
> 
> <Certificate Content>
> 
> -----END CERTIFICATE----- Bag Attributes
>     friendlyName: <>
>     localKeyID: <> Key Attributes: <No Attributes>
> -----BEGIN PRIVATE KEY-----
> 
> <Certificate Private Key>
> 
> -----END PRIVATE KEY-----

또한 [SSLShopper Certificate Decoder]에 접속하여 증명서의 유효성을 체크하고 증명서 내용([BEGIN CERTIFICATE]에서 [END CERTIFICATE]로)을 붙여 다음과 같이 증명서에 관한 모든 정보를 가져옵니다.

여기에 이미지 설명 입력

Apple은 발급된 인증서의 이름을 변경했습니다.이제 개발 및 프로덕션 모두에 동일한 인증서를 사용할 수 있습니다.개발 전용 인증서를 요청할 수 있지만 더 이상 프로덕션 전용 인증서를 요청할 수 없습니다.

아래 스크렌샷을 참조해 주세요.

Cert.p12 및 key.p12를 내보낸 후 매우 간단합니다.다음 명령어를 사용하여 'apns' .pem 파일을 생성하십시오.

https://www.sslshopper.com/ssl-converter.html

command to create apns-dev.pem from Cert.pem and Key.pem

    

openssl rsa -in Key.pem -out apns-dev-key-noenc.pem

    

cat Cert.pem apns-dev-key-noenc.pem > apns-dev.pem

위 명령은 샌드박스 및 프로덕션 모두에 유용합니다.

증명서 푸시 문제의 트러블 슈팅에 따라

Apple Developer Program 계정에서 사용할 수 있는 SSL 인증서에 공용 키가 포함되어 있지만 개인 키는 포함되어 있지 않습니다.개인 키는 Apple에 업로드된 Certificate Signing Request를 작성한 Mac에만 존재합니다.Privacy Enhanced Mail(PEM) 파일을 내보내려면 공용 키와 개인 키가 모두 필요합니다.

클라이언트에 의해 제공된 증명서에서 동작 중인 PEM을 내보낼 수 없는 이유는 개인 키가 없기 때문일 수 있습니다.증명서에는 공개 키가 포함되어 있지만 개인 키는 원래 CSR을 작성한 Mac에만 존재할 수 있습니다.

다음 중 하나를 수행할 수 있습니다.

  1. CSR 를 최초로 작성한 Mac 에서 개인 키를 취득해 보겠습니다.PEM 내보내기는 해당 Mac에서 수행하거나 개인 키를 다른 Mac에 복사할 수 있습니다.

또는

  1. 새로운 CSR, 새로운 SSL 증명서를 작성하고 이번에는 개인 키를 백업합니다.

2023

푸시 알림용 증명서를 작성 및 다운로드하여 다음 주소로 내보내는 최신 방법.p12그리고..pem:

컴퓨터에 인증서 다운로드 중

  1. Apple Developer 포털에서 계정에 로그인하여 "인증서"를 선택합니다.
  2. [+]를 클릭하여 [Apple Push Notification service SSL (Sandbox & Production)]를 선택하고 [Continue]를 선택합니다.
  3. 앱을 선택하고 "계속"을 선택합니다.
  4. 인증서 서명 요청(.csr)을 업로드하고 "계속"을 선택한 후 "다운로드"를 선택합니다.

키체인에 저장

  1. 새로 다운로드 받은 .cer 파일을 더블 클릭하면 키체인에 자동으로 저장됩니다.그러면 키체인이 열리고 증명서 목록이 표시됩니다.

.p12 파일 가져오기

  1. 증명서를 찾아 우클릭한 후 [내보내기...]를 선택하여 바탕화면에 저장합니다.암호를 입력하라는 메시지가 표시되며, 암호는 옵션이며 실제로 필요하지 않습니다.

.를 ..p12로 변환

  1. 터미널을 열고 .p12 수신처로 이동합니다.
  2. 다음 명령을 사용하여 "certificateName"을 인증서 이름으로 변경하고 Enter 키를 누릅니다.
  3. 6단계에서 입력한 암호를 입력하고 Enter 키를 누릅니다.6단계에서 비밀번호를 입력하지 않은 경우 Enter 키를 누르면 .p12를 저장한 위치에 .pem 파일이 저장됩니다.

openssl pkcs12 -in certificateName.p12 -out certificateName.pem -nodes -clcerts

언급URL : https://stackoverflow.com/questions/21250510/generate-pem-file-used-to-set-up-apple-push-notifications

반응형