엔터프라이즈 배포 인증서 만료를 관리하는 방법은 무엇입니까?
고객이 방금 iOS 개발자 엔터프라이즈 프로그램에 가입했습니다. 그들은 엔터프라이즈 배포로 앱 (우리가 개발 한)에 서명하고 MDM을 통해 일부 장치에 성공적으로 설치했습니다.
기업용이 아닌 배포 인증서가 언제 만료되는지 아는 한이를 갱신해야합니다. 이 만료는 장치가 Apple의 OCSP 서버에 대한 인증서의 유효성을 확인하는 즉시 만료 된 인증서로 서명 된 모든 앱을 비활성화합니다.
또는 만료일 전에 비 기업 배포를 취소하고 Apple에 새 배포를 요청할 수 있습니다. 해지 된 인증서로 서명 된 애플리케이션 (예 : Ad Hoc 베타 앱)은 동일한 메커니즘에 따라 비활성화됩니다.
따라서 내 개발자 프로그램에서는 두 개의 유효한 배포 인증서를 동시에 가질 수 없습니다. 좋아, 개발자로서 우리는 그것과 함께 살 수 있습니다.
고객이 iOS 개발자 엔터프라이즈 프로그램과 동시에 두 개의 유효한 엔터프라이즈 배포 인증서를 가질 수 있습니까?
Apple에 따르면 :
인증서 검증
기기에서 애플리케이션을 처음 열면 Apple의 OCSP 서버에 연결하여 배포 인증서의 유효성을 검사합니다. 인증서가 해지되지 않는 한 앱 실행이 허용됩니다. OCSP 서버에 접속하거나 응답을받을 수없는 것은 해지로 해석되지 않습니다. 상태를 확인하려면 장치가 ocsp.apple.com에 접속할 수 있어야합니다. "네트워크 구성 요구 사항"(9 페이지)을 참조하십시오.
OCSP 응답은 OCSP 서버에서 지정한 기간 (현재 3 ~ 7 일) 동안 장치에 캐시됩니다. 인증서의 유효성은 장치가 다시 시작되고 캐시 된 응답이 만료 될 때까지 다시 확인되지 않습니다. 이때 해지가 수신되면 앱이 실행되지 않습니다. 배포 인증서를 취소하면 배포 한 모든 응용 프로그램이 무효화됩니다.
배포 인증서가 만료되면 앱이 실행되지 않습니다. 현재 배포 인증서는 1 년 동안 유효합니다. 인증서가 만료되기 몇 주 전에 iOS DevCenter에서 새 배포 인증서를 요청하고이를 사용하여 새 배포 프로비저닝 프로필을 만든 다음 업데이트 된 앱을 다시 컴파일하여 사용자에게 배포합니다. "업데이트 된 앱 제공"(10 페이지) 참조
내가 뭔가를 놓치고 있거나, 잠재적으로 수백 대의 iOS 기기에 여러 In House 앱이있는 직원이 퇴사 한 앱을 기다리는 동안 애플리케이션을 열 수 없을 가능성이 있습니까?
이것은 우리가 지난 2 년 동안 다루어 온 문제입니다. 사내 애플리케이션은 1 년 후에 작동이 중지됩니다. 우리와 같은 조직에서 매년 수백 개의 앱을 다시 빌드하고 수천 개의 장치에 다시 배포하는 것은 엄청난 작업입니다.
우리에게는 모든 앱을 다시 빌드하고 모든 사용자에게 배포 채널을 통해 새로운 앱을 받도록 알리는 한 달 간의 연습입니다. 여전히 매년 일부 사용자에게는 작동하지 않는 앱이 남아 있습니다.
이에 대해 Apple ( Bug ID # 9848075 )에 개선 요청을 제출했으며 아직 답변을 기다리고 있습니다.
편집 : 위에서 언급 한 버그가 이제 닫힙니다. 공식적인 답변은 다음과 같습니다.
기업용 배포 인증서는 현재 3 년입니다.
"누락 된"링크는 이제 http://help.apple.com/iosdeployment-apps/?lang=en#app43ad74a3입니다.
인증서가 만료되기 몇 주 전에 iOS Dev Center에서 새 배포 인증서를 요청하고이를 사용하여 새 배포 프로비저닝 프로필을 만든 다음 업데이트 된 앱을 다시 컴파일하여 사용자에게 배포합니다.
이 문서는 앱 업데이트 방법도 설명합니다. 앱에 쉽게 업데이트 메커니즘을 포함하는 프레임 워크가 있습니다. 예 : "Hockey", https://github.com/therealkerni/HockeyKit
전체 기사 인용 :
인증서 확인
사용자가 처음으로 앱을 열면 Apple의 OCSP 서버에 연결하여 배포 인증서의 유효성을 검사합니다. 인증서가 해지되지 않는 한 앱 실행이 허용됩니다. OCSP 서버에 접속하거나 응답을받을 수없는 것은 해지로 해석되지 않습니다. 상태를 확인하려면 장치가 ocsp.apple.com에 접속할 수 있어야합니다. 네트워크 구성 요구 사항을 참조하십시오.
OCSP 응답은 OCSP 서버에서 지정한 기간 (현재 3 ~ 7 일) 동안 장치에 캐시됩니다. 인증서의 유효성은 장치가 다시 시작되고 캐시 된 응답이 만료 될 때까지 다시 확인되지 않습니다. 이때 해지가 수신되면 앱이 실행되지 않습니다. 배포 인증서를 취소하면 배포 한 모든 앱이 무효화됩니다.
배포 인증서가 만료되면 앱이 실행되지 않습니다. 현재 배포 인증서는 1 년 동안 유효합니다. 인증서가 만료되기 몇 주 전에 iOS Dev Center에서 새 배포 인증서를 요청하고이를 사용하여 새 배포 프로비저닝 프로필을 만든 다음 업데이트 된 앱을 다시 컴파일하여 사용자에게 배포합니다. 업데이트 된 앱 제공을 참조하십시오.
Apple이 문서를 수정했습니다 ...
배포 인증서가 만료 된 경우 앱이 실행되지 않습니다. 현재 배포 인증서는 1 년 동안 유효하며 동시에 두 개의 인증서를 활성화 할 수 있습니다. 두 번째 인증서는 첫 번째 인증서가 만료되기 전에 앱을 업데이트 할 수있는 중복 기간을 제공하기위한 것입니다.
예를 들어 배포 인증서가 만료되기 6 개월 전에 새 인증서를 만들고이를 사용하여 내년에 앱을 업데이트합니다. 이를 위해 iOS Dev Center에서 새 배포 인증서를 요청하고 (첫 번째 인증서를 취소하지 않음)이를 사용하여 각 앱에 대한 새 배포 프로비저닝 프로파일을 만든 다음 업데이트 된 앱을 다시 컴파일하여 사용자에게 배포합니다. . 업데이트 된 앱 제공을 참조하십시오.
참고 : 아래의 계층 적 텍스트는 솔루션을 설명하는 정보의 경로를 나타냅니다. 솔루션을 보려면 사이드 바의 항목으로 이동 (옆에있는 화살표 확장)해야합니다 (Mani,이 정보를 삭제하지 마십시오. 뷰어를 솔루션으로 안내하기위한 것입니다.)
Apple의 최신 문서 :
Distributing Enterprise Apps for iOS Devices
In-house apps
Certificate validation
Providing updated apps
업데이트 된 앱 제공에서 :
동시에 두 개의 배포 인증서를 활성화 할 수 있습니다. 각각은 서로 독립적입니다. 두 번째 인증서는 첫 번째 인증서가 만료되기 전에 앱을 업데이트 할 수있는 중복 기간을 제공하기위한 것입니다. iOS 개발자 센터에서 두 번째 배포 인증서를 요청할 때 첫 번째 인증서를 취소하지 마십시오.
모든 내부 고객이이를 볼 필요가 없도록이 작업을 원활하게 수행 할 수있는 방법이 없다는 것은 기능의 끔찍한 부족입니다.
약간의 후속 조치입니다.
실물:
"As far as I know when my non-enterprise distribution certificate expires I have to renew it. This expiration disables all apps signed with the expired certificate as soon as the devices checks the certificate's validity against Apple’s OCSP server."
This is not quite true, if I understand it correct. This info from Apple and as explained here says the opposite.
What happens if my certificate expires or has been revoked?
...
iOS Distribution Certificate (App Store)
- If your iOS Developer Program membership is valid, your existing apps on the App Store will not be affected. However, you will no longer be able to submit new apps or updates to the App Store.
'Nice programing' 카테고리의 다른 글
PHP를 통해 SSH 명령을 실행하는 방법 (0) | 2020.12.04 |
---|---|
문법이 LL (1), LR (0) 또는 SLR (1)인지 식별하는 방법은 무엇입니까? (0) | 2020.12.04 |
마스크 / 자르기없이 SVG를 컨테이너로 확장 (0) | 2020.12.04 |
모든 벡터 요소의 조합으로 두 벡터 붙여 넣기 (0) | 2020.12.04 |
폴터 가이스트 / PhantomJS와 카피 바라 웹킷은 어떻게 다릅니 까? (0) | 2020.12.04 |