iOS 개발 및 배포를 할 때 꼭 알아야 하는 것들이 있습니다!
먼먼 옛날.. iOS 개발을 맛보기마냥 했을 때도 잘 이해를 못했고 지금도 잘 이해를 못하겠는..^^ 애들인데 정리를 한 번 해보려고 하거든요...
1. CSR (Certificate Signing Request)
2. 프로비저닝 프로파일 (Provisioning Profile)
3. 인증키 (p8, p12)
인데, 이 외에도 App ID, plist 등등.. 개발환경 셋팅할 때 필요한 애들을 정리해볼게요!!!!!!!!
나는 앱 ID가 한 번 등록되면 삭제를 못하는건줄은 또 몰랐지.. 참나.. 그거가지고 혼날줄도 또 몰랐지.. 참나..
아무튼..! 일단 CSR에 대해서 정리를 해보겠습니다..
CSR은 한 마디로 인증서 발급을 위한 신청서입니다!
인증서 발급을 할 때
CSR 발급 신청 -> CSR 발급 -> CSR로 인증서 발급 신청 -> 인증서 발급
이런 과정을 거쳐야 되기 때문에 인증서 발급을 위해서 반드시 필요한 게 CSR 발급이랍니다~!
간단히 말하면, CSR은 "나는 누구인데(인증서에 적용된 도메인 정보, 인증서에 적용된 도메인), 이 키(공개키)가 포함된 인증서를 발급하고 싶다." 라는 내용의 신청서입니다!
CSR 파일을 생성하면, 키체인 접근 앱에 자동으로 개인키, 공개키가 생성됩니다.
그렇다면 애플은 왜 인증서를 꼭 만들어야할까요/1!?!?!
애플은 자신들의 기기에 어떤 프로그램이 동작하기 위해선 인증을 받아야 하도록 했기 때문에, 이런 인증을 받기 위해서는 인증서를 요청해야 하는 것 입니다! + 앱을 앱 스토어에 배포하거나, 인 앱 결제를 할 때에도 꼭 필요한 절차입니다!
즉, 애플은 애플만이 자신들의 기계에 소프트웨어(앱, 프로그램 등)이 동작하도록 허락하기 때문에 필요한 절차라고 생각하면 됩니다!
실제로 앱이 실행될 때마다 애플로부터 인증을 받았는지 확인합니다.
애플만이 앱을 실행할 수 있기 때문에 매번 애플에 요청하고 관리하기가 번거로워집니다!
이걸 대신해서 개발자가 iOS Developer Program의 개발자 센터에 인증서를 받으면 애플이 개발자를 신뢰해 애플 대신 앱을 실행할 수 있는 권한을 부여하기 때문에 인증서가 필요하다고 합니다!
끝!
애플은 확실히 보안이 철저한 것 같은가봉가 ,,
[참고]
코드사이닝, 인증서, 프로비저닝 프로파일이란?
애플 개발자라면 꼭 알아야할 코드사이닝, 인증서, 프로비저닝 프로파일의 개념 및 실행 과정에 대해 알아보도록 하겠습니다.
medium.com