So if you ask around on the internet you see a lot of people frustrated with the whole signing and certificate jungle when trying to upload apps to the App Store. Of course on this channel for a lot people it's probably quite straightforward, but you guys are a super minority.

Wouldn't the essentials be fixed by having simple two step authorization?

i.e. to publish a new version I go to Itunesconnect, enter my credentials and confirm that I am in the possession of a physical device, like my phone, and then I can publish.

Why is two step authorization used by billions (relatively) safely for their banking business, but do we need the certificate jungle to release an app?

What essential problem is being solved that can't be solved by proving password plus being in possession of a physical device?

  • 2
    Could you elaborate on what you mean by the "signing and certificate jungle"? I myself am - and I'm sure a lot of users on this site are - not familiar with the process of publishing an app.
    – Tom K.
    Commented Mar 28, 2018 at 11:47

1 Answer 1


Signing apps has nothing to do with proving who you are at the time of uploading. As you point out, username/password and multi-factor authentication schemes do that.

Application signatures are checked when the apps are used on clients (eg: phones and computers). By verifying the signature, the client can confirm who wrote the app (technically who signed it, but it's a reasonable estimate of who wrote it) and that the app hasn't been modified since signed. That is, it provides authenticity and integrity, respectively, of the app.

Similar code-signing strategies are used for browser extensions (eg: Mozilla) and other apps (eg: Office macros). Microsoft has a good article that has a more in-depth description of code signing if you want to read more.

And, alas, code signing is always a hassle to the end-user, especially the less-technical end-user. I view code signing as an overly complex and only partially functional solution (everyone always clicks "OK" when they get those popups) to establishing trust in code. But, short of getting code physically from the author, code signing is the best that we have.

  • Thanks already for your great and extended answer. I'll read the article and I'll come back to you!
    – Dirk Boer
    Commented Mar 29, 2018 at 14:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .