일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- VirtualBox
- BindableObject
- SwiftUI
- MAC
- EnvironmentObject
- IOS
- apple intelligence
- pipelines
- Data Flow Through SwiftUI
- error outputting keys and certificates
- Security as a Service
- apache
- HTTP
- Homomorphic Encryption
- URLSession
- 앱 인텐트
- app intents
- 동형 암호
- colorLiteral
- #colorLiteral
- provisioning file path
- php
- ObservableObject
- ObObjective c
- URLSessionConfiguration
- 애플인텔리전스
- 정보관리기술사
- swift
- AI
- Xcode
- Today
- Total
Project Jo
MDM Push 인증서 만들기 본문
iOS 에서 MDM (Mobile Device Managerment) 을 구현하기 위해서는 Apple 의 APNS 시스템을 이용해야 한다.
또한, 프로파일 인증 등을 위해서는 SCEP(Simple Certificate Enrollment Protocol) 가 구현된 서버가 필요로 한다.
각설하고, 일단 1번째 관문인 iOS MDM Push 등록을 진행 해 보자.
먼저 MDM 인증서를 발급 받아야 하는데, 받기 위해서는 Apple Enterprise 로 계정이 등록 되어 있어야 한다.
Enterprise 계정 이라면 아래와 같이 인증서 발급이 가능하도록 추가가 되어 있다.
이 화면에서 발급은 우리는 익숙하지 않은가? 평소와 같이 쭈욱 발급을 진행 한다.
여기서 주의할 부분이 있는데, 인증을 위해 Apple 서버에 업로드한 파일을 잘 가지고 있어야 한다는 점이다.
발급에 문제 없이 진행 했다면, 더블클릭 해서 키체인에 넣어 둔다.
이제 푸시 인증서를 만들기 위한 준비물을 모아 보자.
제일 먼저 위에 설명한 MDM CSR 이 있던 화면에서 제일 아래로 스크롤 해 보면 아래와 같은 링크가 하나 있다.
Worldwide Developer Relations Certificate Authority 를 다운 받아 준다.
다음은 애플이 인증서 모아놓은 곳으로 이동 한다.
URL : http://www.apple.com/certificateauthority/
저 화면에서 Apple Inc. Root Certificate 를 클릭해 다운로드 받는다.
다음은 키체인을 열어서 아까 넣어둔 MDM 인증서의 개인키를 뽑아 온다.
아래의 화면처럼 인증서를 열어서 키만 뽑아 와야 한다.
중요한점은 해당 p12 파일에 비밀번호를 꼭 기억해야 된다는 것이다.
마지막으로 MDM 인증서를 발급 받을때 Apple 서버에 올린 certSigningRequest 파일을 customer.cer 로 이름을 변경 한다.
다 준비하면 아래와 같은 파일들이 보여야 한다.
터미널 창을 열어서 해당 경로로 이동하고 아래의 명령어를 한줄씩 쓴다.
openssl x509 -inform der -in mdm.cer -out mdm.pem
openssl x509 -inform der -in AppleIncRootCertificate.cer -out root.pem
openssl x509 -inform der -in AppleWWDRCA.cer -out intermediate.pem
openssl req -inform pem -outform der -in customer.cer -out customer.der
나온 결과물과 vendor.p12 파일까지 총 5개의 파일이 아래와 같이 준비가 완료 되었는지 확인 한다.
이제 이 5개의 파일을 하나로 묶어야 한다.
하나로 묶기 위해 다음 링크로 가서 JAVA 프로젝트를 다운받는다.
URL : http://www.softhinker.com/in-the-news/iosmdmvendorcsrsigning/
저기 빨간색 부분을 눌러서 다운로드 받으면 된다.
그냥 소스파일만 있어서 이클립스에서 바로 가지고 오지를 못한다.
이런저런 설정을 좀 해줘야 하지만... 귀찮은 작업이고 여기에 설정된 파일을 올린다.
파일을 다운 받고, 'Import' -> 'General' -> 'Existing Projects into Workspace' -> '압축 푼 폴더 경로 설정' -> 'finish' 한다.
빌드를 하면 bin 폴더가 생기는데 여기 안쪽에 'Test.class' 가 있는 폴더에 준비한 5개의 인증서 파일을 넣는다.
프로젝트에서 'Test.java' 안의 내용에 vendor.p12 파일의 키 이름과 비밀번호를 넣어준다.
그리고 실행을 하면, 아래와 같은 파일이 생성된다.
참고 : 이클립스 실행하고 매번 진행하는것도 불편하여 런타임 실행 파일을 만들어 두었다.
해당 파일을 압축 해지 하고 실행방법을 참고하여 실행하면 쉽게 plist_encoded 파일을 얻을 수 있다.
plist_encoded 파일의 이름을 plist_encoded.plist 로 변경한다.
이후 Enterprise 계정으로 로그인한 후 아래의 URL 에 접근해서, plist_encoded.plist 파일을 업로드 한다.
(만료전 or 만료된 인증서를 갱신해야 하는경우 새로 만들지 말고 Renew 를 눌러 갱신 시키면 기존 서비스에 문제 없이 만료일을 연장 시킬수 있다.)
URL : https://identity.apple.com/pushcert/
그러면 인증서가 나오는데 이 인증서가 MDM Push 인증서 이다.
이제 저 인증서로 푸시를 날리면 MDM 이 가능하게 된다.
고생 많으셨습니다. ^^
'Developer > iOS' 카테고리의 다른 글
iOS MVVM 적용해 보기 (0) | 2022.01.06 |
---|---|
UIAlertController 를 여러번 띄우기 (0) | 2020.08.20 |
pem 만들기 커멘드 (0) | 2015.09.04 |
WebView 를 이용해서 HTML 긁어 오는 방법 (0) | 2015.04.14 |
XCode 에서 Release, Debug 변경 방법 (0) | 2015.02.27 |