
Signeringsprocessen for app-kode i macOS
Alle apps fra App Store er signeret af Apple. Signeringen har til formål at sikre, at de ikke er blevet manipuleret eller ændret. Apple signerer alle apps, som følger med Apple-enheder.
I macOS 10.15 skal alle apps, som distribueres uden for App Store, være signeret af udvikleren med et udviklercertifikat udstedt af Apple (sammen med en privat nøgle) og bekræftet notarielt for at kunne afvikles under standardindstillinger i Gatekeeper. Apps, der er udviklet internt, bør også signeres med et udviklercertifikat udstedt af Apple, så deres integritet kan kontrolleres.
I macOS fungerer kodesignering og notariel bekræftelse uafhængigt af hinanden – og kan udføres af forskellige aktører – til forskellige formål. Kodesignering foretages af udvikleren med udviklerens certifikat (udstedt af Apple). Bekræftelse af denne signatur beviser over for brugeren, at der ikke er manipuleret med udviklerens software, eftersom den er udviklet og signeret af udvikleren. Notariel bekræftelse kan udføres af enhver, der er involveret i distributionen af softwaren, og beviser, at Apple har modtaget en kopi af koden med henblik på at undersøge, om den indeholder malware, og at der ikke blev fundet kendt malware. Resultatet af den notarielle bekræftelse er en billet, der opbevares på Apple-servere og eventuelt kan hæftes sammen med appen uden at gøre udviklerens signatur ugyldig.
Obligatorisk adgangskontrol (MAC) kræver kodesignering for at aktivere rettigheder, som er beskyttet af systemet. Som eksempel skal apps, der kræver adgang via firewall, kodesigneres med den relevante MAC-rettighed.