ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Apple Certification, .p8 .p12 .pem
    iOS 2019. 11. 20. 17:28

    많고 복잡한 Apple의 인증서들, "이 작업을 하려면 이게 필요하고 이게 필요하다더라.." 라는 식으로 해왔지만 도대체 .p8은 무엇이고 .p12는 무엇인가??! 한번 정리해보고자 합니다. 오류나 잘못된 사항이 있다면 댓글로 알려주시면 감사하겠습니다.

    Apple에서 발급한 서명 인증서로, 애플 관련 서비스를 개발, 배포하려면 필수적으로 가지고 있어야 한다. 하지만 APNs(Apple Push Notification Service), Wallet, MDM 등 확장된 서비스를 사용해야 하는 프로그램이라면 Developer 계정을 이용해 따로 인증서를 발급 받아야 한다.

    특히 앱에서 많이 사용되는 Push 같은 기능을 위해서는 인증서를 통한 key가 필요하다. 애플 개발 및 서비스에 익숙하지 않은 사용자는 무슨 인증서며 키가 여러가지이기 때문에 몹시 헷갈리기 쉽상이다.

    인증서든 키든 결국은 파일들인데, .p8, .p12 등 포멧 방식에 따라 차이가 있다. 이들이 어떠한 차이가 있는지 살펴보고자 한다.

    .p8 (public key)

    여러 앱은 이 p8포멧의 public key를 가지고 있다.

    Server side token을 만들기 위해서 Apple Push Notification Authentication Key (P8 format)가 주로 사용된다.

    공급자는 필수 'authorization' 헤더를 사용해 여러 앱들과 동일하게 연결해 대화할 수 있다. 모든 요청은 이 헤더를 사용하는 APNs 클라우드에 의해서 검증된다.

    (ssl 에서 클라이언트가 CA를 통해 검증하는 것으로 생각하면 될듯하다.)

    .p12 (private key)

    P12 format은 가지고 있는 인증서 통해 얻는 private key다.

    각각의 앱은 이 키를 가지고 있어야 한다.

    .pem

    인증서와 키 들을 서버에 보내야 하는데 서버가 읽을 수 있도록 pem 포멧으로 변환해야 한다.

    참고

    How to create a PEM file for iOS push notifications - Tutorials - SimiCart

    APNS Certificate/ PEM file

    'iOS' 카테고리의 다른 글

    NotificationCenter  (0) 2019.11.27
    CGPoint, CGSize, CGRect  (0) 2019.11.26
    나만의 String 만들기, NSMutableAttributedString  (0) 2019.10.14
    UIToolbar Align items Programmatically  (0) 2019.10.09
    [RealmSwift Error] Error Domain=io.realm Code=10  (0) 2019.09.23

    댓글

Designed by Tistory.