Documentation
¶
Overview ¶
Package ios provides iOS-specific IPA inspection logic. It locates and parses Info.plist and embedded entitlements from the Payload/<AppName>.app bundle inside the ZIP archive and normalizes the extracted data into the mobilepkg report model.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrInfoPlistNotFound indicates that Info.plist is missing from the IPA. ErrInfoPlistNotFound = errors.New("ios: Info.plist not found in IPA archive") // ErrInfoPlistParseFailed indicates that Info.plist could not be parsed. ErrInfoPlistParseFailed = errors.New("ios: failed to parse Info.plist") )
Sentinel errors for iOS inspection failures.
Functions ¶
Types ¶
type CertResult ¶
type CertResult struct {
Subject string
Issuer string
NotBefore string // RFC 3339
NotAfter string // RFC 3339
SHA256Fingerprint string // hex
SerialNumber string
SignatureAlgorithm string
PublicKeyAlgorithm string
KeySize int
SelfSigned bool
}
CertResult holds a parsed X.509 certificate summary.
type Diagnostic ¶
Diagnostic is a non-fatal issue found during iOS inspection.
type PermissionEntry ¶
PermissionEntry represents a single iOS permission or entitlement.
type ProvisionInfo ¶
type ProvisionInfo struct {
TeamID string
TeamName string
CreatedAt string // RFC 3339
ExpiresAt string // RFC 3339
Certs []CertResult
AppIDName string
ProfileName string
}
ProvisionInfo holds signing information from an iOS provisioning profile.
func ExtractProvisioningInfo ¶
func ExtractProvisioningInfo(data []byte) (*ProvisionInfo, error)
ExtractProvisioningInfo parses an embedded.mobileprovision file and extracts signing/certificate information.
type Result ¶
type Result struct {
BundleID string
DisplayName string
ShortVersion string
BundleVersion string
Executable string
MinimumOSVersion string
Signing *ProvisionInfo
Permissions []PermissionEntry
IconPath string
IconBytes []byte
IconWidth int
IconHeight int
IconFormat string
InfoPlist map[string]any
Entitlements map[string]any
}
Result holds the extracted data from an iOS IPA.