-
Certification, Provision Profile 개념카테고리 없음 2023. 5. 25. 22:37
Apple Certification (인증서)
제가 iOS 어플을 처음 만들었을 때 들은 생각은 Apple은 보안을 위해 개발자를 매우 귀찮게 한다는 것이었습니다.
"Apple은 기본적으로 자기들이 만든 하드웨어에 Apple의 승인을 받은 소프트웨어만 실행할 수 있게 합니다."
따라서 iOS 앱을 만들고 싶은 개발자는 Apple의 승인을 받기 위해 Apple Developer Program에 가입해야 합니다.
Apple Developer에 가입하고, 개발자 센터에서 인증서를 받아야 비로소 Apple의 신뢰를 얻은 개발자가 될 수 있습니다.
이 말은, Apple이 개발자를 신뢰하여 Apple 대신 개발자가 만든 소프트웨어를 Apple이 만든 기계에서 실행시킬 수 있게 되었다는 말입니다.
근데 여기서 또 신기한 인증을 해야합니다.
Apple이 만든 기계, 즉 테스트할 디바이스가 개발자를 신뢰해야지만 소프트웨어를 설치할 수 있습니다.
이 때 등장하는 개념이 Provisioning Profile 입니다.
Provisioning Profile (프로비저닝 프로파일)
"프로비저닝 프로파일은 iOS 디바이스를 Apple 인증서와 연결하는 역할을 담당합니다."
프로비저닝 파일의 구성은 위와 같습니다.
Apple의 인증을 받은 개발자들(Certificate)이 +
어떤 디바이스(Devices)에 +
어떤 앱(App ID)
을 등록할건지 모여있는 파일이라고 볼 수 있겠네요.
App ID는 앱의 Bundle ID,
Certificate는 위에서 만들었던 인증서들
Devices는 앱을 구동시키고 싶은 디바이스들의 UUID가 들어갑니다.
3. Code Signing (코드 사이닝)
그렇다면 코드 사이닝이란 무엇일까요?
코드사이닝이란 위에서 한 모든 과정을 통합해서 말하는 개념입니다.
코드사이닝의 원칙이 위에서 말한
"Apple은 기본적으로 자기들이 만든 하드웨어에 Apple의 승인을 받은 소프트웨어만 실행할 수 있게 합니다."
입니다.
결국 애플의 승인을 받은 개발자가 앱을 개발하여 앱스토어 등록을 위해 애플에 제출하고,
최종적으로 애플이 앱을 승인함으로써 코드사이닝 원칙이 지켜지게 되는 것 입니다.