실제 파일과 합성 예제 구분
앱 번들에서 embedded.mobileprovision을 꺼내 비교하세요. 예제는 서명자가 없는 합성 CMS로, 보기 기능을 시험하기 위한 데이터입니다. Apple이 발급한 설치 가능한 프로파일이 아닙니다.
iOS / Android Dev Tools
로컬 파일을 선택하거나 합성 예제를 불러오세요. 분석한 뒤 요약, 권한, 필드 트리와 XML을 확인할 수 있습니다.
.mobileprovision 또는 .provisionprofile 파일 하나를 놓으세요. 최대 5 MiB입니다.
선택한 파일 없음
현재 탭에서만 읽습니다. 도구는 파일을 업로드하거나 저장하지 않습니다.
알려진 기기 문자열을 치환하고 바이너리 데이터를 비웁니다. 팀과 앱 등 메타데이터는 남습니다. 변경 후 다시 분석하세요.
파일을 선택한 뒤 분석하세요.
분석은 서명, 인증서, 폐기 여부나 설치 가능 여부를 검증하지 않습니다.
내보내기는 서명 없는 XML 사본이며 설치 가능한 프로파일이 아닙니다.
프로비저닝 프로파일 확인 도구는 테스트 기기에 설치가 안 되거나 같은 이름의 파일들이 서로 다른 팀과 날짜를 가리킬 때 유용합니다. 다운로드한 최신 파일만 보지 말고 실제 앱에 포함된 파일을 먼저 꺼내 비교해 보세요.
CMS 구조를 따라 내장 XML을 읽으므로 임의의 파일에 섞인 XML 조각을 결과로 채택하지 않습니다. 최신 시스템은 DER-Encoded-Profile을 기준으로 삼을 수 있습니다. 이 페이지는 외부의 읽기 쉬운 정보를 살펴보는 진단용 보기입니다.
프로비저닝 프로파일 확인 화면은 팀, 앱 식별자와 만료 날짜를 모아 보여 주고 원래 키의 경로도 남깁니다. Entitlements를 별도로 읽으면 배열과 불리언을 단순한 문자열로 오해하지 않고 프로파일 내용을 확인할 수 있습니다.
기기 UDID는 기본으로 가려지고 다른 문자열에 반복된 값도 바뀝니다. 바이너리에 식별자 사본이 들어 있을 수 있어 data 내용도 비웁니다. 팀과 앱 메타데이터는 남으므로 익명화된 파일이라고 볼 수는 없습니다.
앱 번들에서 embedded.mobileprovision을 꺼내 비교하세요. 예제는 서명자가 없는 합성 CMS로, 보기 기능을 시험하기 위한 데이터입니다. Apple이 발급한 설치 가능한 프로파일이 아닙니다.
마스킹 옵션을 바꾸면 이전 결과를 지우고 내보내기를 비활성화합니다. 분석 버튼이나 Ctrl/Cmd + Enter로 다시 실행하세요. 요약과 트리 탭을 바꾸는 동작은 분석 내용을 바꾸지 않습니다.
딕셔너리나 배열 경로를 누르면 하위 항목을 접을 수 있습니다. 트리는 한 번에 50행을 추가하지만 저장은 현재 XML 전체를 포함합니다. 지우기와 파일 교체는 미리 본 뒤 적용하며 한 번 되돌릴 수 있습니다.
Name, UUID, TeamName과 TeamIdentifier를 함께 표시합니다. Bundle ID는 application-identifier의 첫 접두사 부분을 제거해 도출하며 macOS의 대체 키도 읽습니다. 와일드카드는 보존하고 누락된 값은 임의로 채우지 않습니다.
Entitlements 딕셔너리에 전용 보기가 있습니다. 배열, 딕셔너리, 불리언, 정수, 날짜와 data를 구분합니다. 이는 프로파일이 허용한 범위이며 앱의 실제 코드 서명에 들어 있는 권한과 같다는 뜻은 아닙니다. 두 목록의 일치도 검증하지 않습니다.
CreationDate와 ExpirationDate는 UTC 값으로 표시하며 분석 시 브라우저 시계와 비교합니다. 만료됨, 아직 만료되지 않음, 알 수 없음을 구분합니다. 컴퓨터 시간이 틀리면 비교도 달라질 수 있고 미래 날짜는 서명 유효성의 증거가 아닙니다.
SignedData 구조에서 plist를 꺼내 키 순서와 값의 타입을 유지해 저장합니다. 기본 마스킹은 식별자 문자열을 바꾸고 모든 data 요소를 비웁니다. 원본 값 전체가 필요하면 옵션을 끄고 파일을 다시 분석하세요.
파일을 선택하고 분석을 누르세요. CMS 구조를 확인한 뒤 내부 XML plist를 읽습니다. 텍스트 편집기에서 일부 문장이 보여도 그 파일 전체가 지원하는 CMS 구조라는 뜻은 아닙니다.
전체 필드 트리에서 ProvisionedDevices를 펼치세요. 기본값은 기기 수만 유지하고 식별자는 가립니다. 실제 값을 확인하려면 마스킹을 끄고 다시 분석하세요. 목록이 없다고 모든 기기에서 설치할 수 있다고 판단하지 않습니다.
요약의 ExpirationDate와 비교 시각을 확인하면 기록된 기한이 지났는지 알 수 있습니다. 인증서와 서명을 Apple이 현재 수용하는지는 별개의 문제입니다. 신뢰 여부는 플랫폼의 서명 도구로 검증해야 합니다.
개발용 또는 Ad Hoc IPA를 직접 압축 해제한 뒤 Payload 안의 앱에서 embedded.mobileprovision을 찾으세요. 이 페이지는 IPA 압축을 풀지 않습니다. App Store에서 배포한 앱에는 해당 파일이 없을 수 있습니다.
내보낸 XML의 날짜를 바꿔도 Apple이 서명한 파일의 기한이 늘어나지 않습니다. 이 사본에는 CMS 서명이 없습니다. 개발자 계정이나 Xcode에서 필요한 프로파일을 새로 생성하고 새 파일을 사용해 앱을 빌드하세요.
파일 읽기에 빠진 설명이 있나요?