APNS용 .pem 파일을 생성하시겠습니까?
APN 페이로드 데이터를 위해 호스팅 서버에 저장할 .pem 파일을 만들려면 어떻게 해야 합니까?
여기 제가 한 일이 있습니다. From: blog.boxedice.com 과 Joe Pzzillo의 "iPhone Advanced Projects" 10장입니다.
키 체인에 aps_developer_identity.cer가 있는 경우:
- 로컬 Mac에서 키체인 액세스를 시작하고 로그인 키체인에서 인증서 범주로 필터링합니다."Apple Development Push Services"라는 확장 가능한 옵션이 표시됩니다.
- "Apple Development Push Services" > "Apple Development Push Services ID123" 내보우클다릭음장저로으내기▁as▁this▁"저장으로 저장
apns-dev-cert.p12
액세스할 수 있는 파일입니다.암호를 입력할 필요가 없습니다. 다음 명령은 Mac의 PEM용 터미널 형식(Privacy Enhanced Mail Security Certificate)에서 인증서를 생성합니다.
openssl pkcs12 -in apns-dev-cert.p12 -out apns-dev-cert.pem -nodes -clcerts
서버에서 chmod 400을 사용하여 이 암호화되지 않은 키의 파일 권한을 설정합니다.
개발 단계:
1단계: Certificate.p12에서 Certificate.pem 생성
openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
2단계: Key.p12에서 Key.pem 생성
openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
3단계(선택 사항):두 번째 단계에서 요청한 암호 구문을 제거하려는 경우
openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem
4단계: 이제 앱의 개발 단계에서 Push Notifications에 필요한 Development.pem을 얻으려면 Key.pem과 Certificate.pem을 병합해야 합니다.
세 번째 단계를 수행한 경우 다음을 실행합니다.
cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem
세 번째 단계가 수행되지 않은 경우 다음을 실행합니다.
cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem
5단계: 인증서 유효성 및 APNS 연결 확인
세 번째 단계를 수행한 경우 다음을 실행합니다.
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key-noenc.pem
세 번째 단계가 수행되지 않은 경우 다음을 실행합니다.
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key.pem
생산 단계:
1단계: Certificate.p12에서 Certificate.pem 생성
openssl pkcs12 -clcerts -nokeys -out apns-pro-cert.pem -in apns-pro-cert.p12
2단계: Key.p12에서 Key.pem 생성
openssl pkcs12 -nocerts -out apns-pro-key.pem -in apns-pro-key.p12
3단계(선택 사항):두 번째 단계에서 요청한 암호 구문을 제거하려는 경우
openssl rsa -in apns-pro-key.pem -out apns-pro-key-noenc.pem
4단계: 이제 앱의 운영 단계에서 Push Notifications에 필요한 Production.pem을 얻으려면 Key.pem과 Certificate.pem을 병합해야 합니다.
세 번째 단계를 수행한 경우 다음을 실행합니다.
cat apns-pro-cert.pem apns-pro-key-noenc.pem > apns-pro.pem
세 번째 단계가 수행되지 않은 경우 다음을 실행합니다.
cat apns-pro-cert.pem apns-pro-key.pem > apns-pro.pem
5단계: 인증서 유효성 및 APNS에 대한 연결을 확인합니다.
세 번째 단계를 수행한 경우 다음을 실행합니다.
openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key-noenc.pem
세 번째 단계가 수행되지 않은 경우 다음을 실행합니다.
openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key.pem
단계:
- 키 체인 액세스를 사용하여 CSR 생성
- 개인 키를 사용하여 키 체인 액세스를 사용하여 P12 만들기
- APNS 앱 ID 및 인증서
이렇게 하면 세 개의 파일이 제공됩니다.
- CSR
- 키(p12 파서개키인의로일키()
PushChatKey.p12
) - SSL 증서,
aps_development.cer
파일을 다운로드한 폴더로 이동합니다(내 경우 바탕 화면:
$ cd ~/Desktop/
.cer 파일을 .pem 파일로 변환합니다.
$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem
개인 키의 .p12 파일을 .pem 파일로 변환합니다.
$ openssl pkcs12 -nocerts -out PushChatKey.pem -in PushChatKey.p12
가져오기 암호 입력:
MAC verified OK Enter PEM pass phrase: Verifying - Enter PEM pass phrase:
openssl이 .p12 파일을 읽을 수 있도록 먼저 .p12 파일의 암호를 입력해야 합니다.그런 다음 PEM 파일을 암호화하는 데 사용할 새 암호 구문을 입력해야 합니다.이 튜토리얼에서 저는 PEM 암호문구로 "pushchat"을 사용했습니다.당신은 좀 더 안전한 것을 선택해야 합니다.참고: PEM 암호를 입력하지 않으면 openssl은 오류 메시지를 표시하지 않지만 생성된 .pem 파일에는 개인 키가 없습니다.
마지막으로 인증서와 키를 하나의 .pem 파일로 결합합니다.
$ cat PushChatCert.pem PushChatKey.pem > ck.pem
터미널 응용 프로그램을 시작하고 프롬프트 뒤에 다음 명령을 입력합니다.
openssl pkcs12 -in CertificateName.p12 -out CertificateName.pem -nodes
->> 애플 자체 튜토리얼 <<->는 제가 접한 유일한 작동 지침 세트입니다.이것은 간단하며 리눅스 php 서버와 윈도우 php 서버 모두에서 훌륭하게 작동한다는 것을 확인할 수 있습니다.
그들의 5단계 펨 생성 과정은 페이지 바로 아래에 있습니다.
참고: 이러한 작업을 수행하려면 App Store Connect에서 팀 에이전트 또는 관리자 역할이 있어야 합니다.App Store Connect의 팀에 속해 있지 않은 경우에는 영향을 받지 않을 수 있습니다.
iOS 응용 프로그램으로 푸시 알림을 보내려면 암호화 키를 만들어야 합니다.과거에는 SSL 키와 인증서를 사용하는 번거로운 프로세스였습니다.각 SSL 인증서는 단일 iOS 응용 프로그램에 고유했습니다.2016년에 Apple은 보다 안정적이고 사용하기 쉬운 새로운 인증 키 메커니즘을 도입했습니다.새로운 인증 키는 iOS 앱보다 더 유연하고, 유지보수 및 적용이 간편합니다.
인증키가 도입된 지 수년이 지났지만 모든 서비스가 인증키를 지원하는 것은 아닙니다.FireBase 및 Amazon Pinpoint는 인증 키를 지원합니다.아마존 SNS, 어반 에어십, 트윌리오, 린 플럼은 그렇지 않습니다.많은 오픈 소스 소프트웨어 패키지는 아직 인증 키를 지원하지 않습니다.
필요한 SSL 인증서를 만들고 공용 및 개인 키가 포함된 PEM 파일로 내보내려면 다음과 같이 하십시오.
- 인증서, 식별자 및 프로필로 이동
- 앱 ID를 만들거나 편집합니다.
- 앱 ID에 푸시 알림 사용
- 애플리케이션 ID에 SSL 인증서 추가
- 인증서를 PEM 형식으로 변환
Apple Developer Center 웹 사이트에서 앱에 대한 SSL 인증서를 이미 설정한 경우 인증서를 PEM 형식으로 변환으로 건너뛰면 됩니다.Apple에 업로드된 서명 요청을 생성한 Mac에서 생성된 개인 키도 없으면 문제가 발생합니다.
계속해서 해당 개인 키의 추적을 방지하는 방법을 알아보십시오.
인증서, 식별자 및 프로필로 이동
Xcode는 푸시 알림을 위한 인증서나 키를 제어하지 않습니다.키를 만들고 앱에 대한 푸시 알림을 활성화하려면 Apple Developer Center 웹 사이트로 이동해야 합니다.계정의 인증서, 식별자 및 프로필 섹션은 앱 ID 및 인증서를 제어합니다.
인증서 및 프로필에 액세스하려면 유료 Apple Developer Program 회원 자격이 있거나 회원 자격이 있는 팀에 속해 있어야 합니다.
- Apple Developer 웹 사이트에 로그인합니다.
- 계정으로 이동한 다음 인증서, 식별자 및 프로필
앱 ID 만들기
푸시 알림을 사용하는 앱은 와일드카드 앱 ID 또는 프로비저닝 프로필을 사용할 수 없습니다.각 앱은 Apple Developer Center 포털에서 앱 ID 레코드를 설정하여 푸시 알림을 활성화해야 합니다.
- 식별자 아래의 앱 ID로 이동
- 번들 식별자를 사용하여 앱을 검색합니다.이미 존재할 수 있습니다.
- 앱에 대한 기존 앱 ID가 없으면 (+) 버튼을 클릭하여 앱을 만듭니다.
- 앱 ID 접미사 섹션에서 명시적 앱 ID를 선택합니다.
- 앱의 번들 식별자를 입력합니다.
- 맨 아래로 스크롤하여 푸시 알림을 활성화합니다.
- 계속을 클릭합니다.
- 다음 화면에서 등록을 클릭하여 앱 ID 생성을 완료합니다.
앱 ID에 푸시 알림 사용
- 식별자 아래의 앱 ID로 이동
- App ID를 클릭하여 세부 정보를 확인하고 하단으로 스크롤합니다.
- 편집 클릭
- 앱 ID 설정 화면에서 알림 밀어넣기로 스크롤합니다.
- 확인란을 선택하여 푸시 알림을 활성화합니다.
밀어넣기 알림을 위한 SSL 인증서를 만드는 작업은 여러 작업의 프로세스입니다.각 작업에는 여러 단계가 있습니다.키를 P12 또는 PEM 형식으로 내보내려면 이 모든 것이 필요합니다.계속하기 전에 단계를 검토합니다.
애플리케이션 ID에 SSL 인증서 추가
- 개발 SSL 인증서에서 인증서 만들기를 클릭합니다.생산을 위해서도 나중에 이 작업을 수행해야 합니다.
- Apple에서 인증서 서명 요청을 생성하도록 요청합니다.
인증서를 만들려면 Mac에서 CSR(인증서 서명 요청)을 만들어 Apple에 업로드해야 합니다.
나중에 이 인증서를 pkcs12(kap12) 파일로 내보내려면 동일한 Mac에서 키 체인을 사용해야 합니다.서명 요청이 생성되면 Keychain Access는 기본 키 체인에 키 집합을 생성합니다.이러한 키는 Apple이 서명 요청에서 생성할 인증서로 작업하는 데 필요합니다.
개발에 사용되는 자격 증명을 위해 별도의 키 체인을 두는 것이 좋습니다.이렇게 하면 인증서 길잡이를 사용하기 전에 이 키체인이 기본값으로 설정되어 있는지 확인합니다.
개발 자격 증명을 위한 키 체인 생성
- Mac에서 키 체인 액세스 열기
- 파일 메뉴에서 새 키체인...을 선택합니다.
- 키 체인에 "공유 개발" 또는 응용 프로그램 이름과 같은 설명적인 이름을 지정합니다.
CSR(인증서 서명 요청) 생성
인증서 서명 요청을 만들 때 인증서 길잡이는 기본 키 체인에 두 개의 암호화 키를 생성합니다.키가 올바른 키 체인에 있도록 개발 키 체인을 기본값으로 설정하는 것이 중요합니다.
- Mac에서 키 체인 액세스를 엽니다.
- 키 체인 목록에서 개발 키 체인 제어 클릭
- 키 체인 "공유 개발" 기본값으로 만들기를 선택합니다.
- Keychain Access 메뉴에서 Certificate Assistant를 선택한 다음 Certificate Authority에서 인증서 요청...하위 메뉴에서 선택합니다.
- 인증서 길잡이가 나타나면 디스크에 저장됨을 선택합니다.
- 사용자 전자 메일 주소 필드에 Apple Developer Program 구성원 자격과 관련된 전자 메일 주소를 입력합니다.
- 공통 이름 필드에 키 이름을 입력합니다.앱의 번들 ID를 공용 이름의 일부로 사용하는 것이 좋습니다.이렇게 하면 어떤 인증서와 키가 어떤 앱에 속하는지 쉽게 알 수 있습니다.
- 계속을 클릭합니다.인증서 길잡이가 서명 요청을 파일에 저장할지 묻는 메시지를 표시합니다.
- 키체인 액세스에서 "로그인" 키체인을 다시 기본값으로 설정합니다.
서명 요청을 만드는 동안 키 쌍이 생성되었습니다.서명 요청을 업로드하기 전에 개발 키 체인에 키가 있는지 확인합니다.이름은 서명 요청에 사용된 공용 이름과 동일합니다.
CSR(인증서 서명 요청) 업로드
인증서 서명 요청이 생성되면 이를 Apple Developer Center에 업로드합니다.Apple은 서명 요청에서 푸시 알림 인증서를 만듭니다.
- 인증서 서명 요청 업로드
- 인증서 서명 요청에서 Apple이 만든 인증서 다운로드
- 키 체인 액세스의 키 체인 목록에서 개발 키 체인을 선택합니다.
- 파일 메뉴에서 항목 가져오기...를 선택합니다.
- Apple에서 다운로드한 인증서 파일 가져오기
이제 개발 키체인이 키체인 액세스의 내 인증서 아래에 개인 키와 함께 푸시 인증서를 표시해야 합니다.
이 시점에서 개발 키 체인을 백업해야 합니다.많은 팀이 보안 USB 드라이브에 푸시 인증서를 보관하거나, 내부 버전 제어에 전념하거나, Time Machine과 같은 백업 솔루션을 사용합니다.개발 키체인은 개인 코드 서명 자격 증명을 포함하지 않으므로 다른 팀 구성원 간에 공유할 수 있습니다.
키 체인 파일은 다음 위치에 있습니다.
~/Library/Keychains
.
일부 타사 푸시 서비스에는 PEM(Privacy Enhanced Mail) 형식의 인증서가 필요한 반면, 다른 서비스에는 PKCS12(Public-Key Cryptography Standards #12)가 필요합니다.Apple에서 다운로드한 인증서는 개인 키를 보관한 경우에만 이러한 형식으로 인증서를 내보내는 데 사용할 수 있습니다.
인증서를 PEM 형식으로 변환
- 키체인 액세스에서 이전에 만든 개발 키체인을 선택합니다.
- 내 인증서에서 밀어넣기 인증서를 선택합니다.와 함께 개인 키가 있어야 합니다.
- 파일 메뉴에서 항목 내보내기...를 선택합니다.
- 파일 형식으로 열리는 저장 패널에서 개인 정보 향상 메일(.pem)을 선택합니다.
- 파일 저장
여기 보시면 됩니다.인증서 생성부터 애플리케이션 키, 프로비저닝 프로필, 최종적으로 pem에 이르기까지 이미지로 설명된 세부 프로세스를 가지고 있습니다.http://docs.moengage.com/docs/apns-certificate-pem-file
이것이 OpenSSL을 설치한 후 Windows 7에서 수행한 방법입니다(링크는 Win32 설치 관리자로 이동하고 라이트 버전이 아닌 최신 버전을 선택하십시오).
이 방법을 사용할 경우 필요한 것은 다음과 같습니다..cer
Apple에서 다운로드한 파일입니다.
c:\OpenSSL-Win32\bin\openssl.exe x509 -in aps_development.cer -inform DER -out developer_identity.pem -outform PEM
그러면 개인 키를 추가해야 하는 파일이 만들어집니다.
MIIeuIBM etcADANBgkhkhk... 등
MIIeuIBM etcADANBgkhkhk... 등
MIIeuIBM etcADANBgkhkhk... 등
MIIeuIBM etcADANBgkhkhk... 등
KEY--------------------------------------------------------------------
등AWIBAgwIB아다위바다...등등
등AWIBAgwIB아다위바다...등등
등AWIBAgwIB아다위바다...등등
바로 그겁니다.
저는 훨씬 더 간단한 해결책을 제안하고 싶습니다.인증 정보를 사용하십시오.
Certifire는 몇 초 안에 한 번의 클릭만으로 Apple Push Notification Certificates를 생성하는 MacOS 응용 프로그램입니다.
다음은 단계입니다.
앱을 다운로드합니다.
Apple Developer Account 자격 증명을 사용하여 로그인합니다.
앱-ID 하기 »
" "생성"을합니다.
끝났습니다!
APN 인증서는 .p12 형식뿐만 아니라 .pem 형식으로도 얻을 수 있습니다.또한 .pem과 .p12도 함께 사용할 수 있습니다!
뿐만 아니라 이 모든 인증서의 암호가 없는 버전도 얻을 수 있습니다!
가장 쉽게 만들 수 있는 방법이 있습니다.키 체인 액세스에 이미 apns p12 파일이 있는 경우 펨 파일.
터미널을 열고 다음 명령을 입력합니다.
개발의 경우 openssl pkcs12 - in apns-div-cert.p12 -out apns-div-cert.pem -nodes -clcerts
프로덕션의 경우 openssl pkcs12 - in apns-dist-cert.p12 -out apns-dist-cert.pem -nodes -clcerts
P12 파일 이름을 apns-div-cert.p12로 변경합니다. 그렇지 않으면 파일 이름을 입력해야 합니다.감사합니다!!
나는 결코 기억하지 못합니다.openssl
을 하는 데 .pem
프로세스를 단순화하기 위해 다음 bash 스크립트를 만들었습니다.
#!/bin/bash
if [ $# -eq 2 ]
then
echo "Signing $1..."
if ! openssl pkcs12 -in $1 -out $2 -nodes -clcerts; then
echo "Error signing certificate."
else
echo "Certificate created successfully: $2"
fi
else
if [ $# -gt 2 ]
then
echo "Too many arguments"
echo "Syntax: $0 <input.p12> <output.pem>"
else
echo "Missing arguments"
echo "Syntax: $0 <input.p12> <output.pem>"
fi
fi
예를 들어, 이름을 대보세요.signpem.sh
합니다./Users/<username>
후 ?)를 합니다. 파일을 만든 후 다음을 수행합니다.chmod +x signpem.sh
실행 파일로 만들고 실행할 수 있습니다.
~/signpem myCertificate.p12 myCertificate.pem
그리고.myCertificate.pem
생성됩니다.
언급URL : https://stackoverflow.com/questions/1762555/creating-pem-file-for-apns
'programing' 카테고리의 다른 글
SQL 쿼리 동등성 입증 (0) | 2023.07.12 |
---|---|
Enter() 경로 가드 앞에서 사용할 때 필요한 소품이 누락됨 (0) | 2023.07.12 |
최종 결과뿐만 아니라 주피터에서 전체 출력을 표시하는 방법은 무엇입니까? (0) | 2023.07.07 |
C에서 선언문 안에 있는 콜론은 무엇을 의미합니까? (0) | 2023.07.07 |
mongodb 셸 쿼리에서 GUID를 사용하는 방법 (0) | 2023.07.07 |