So these are the engineering challenges that need to be considered. Signing, distribution, and automation. Now, what is scaling? What does it really mean? There's a place for trust, there's a place for automation, and there's also a place for security. If your application lacks the trust that it needs, your users won't install the application. And if some processes are not automated, there will be friction between your teams, and your time to market will be affected. Also, security is synonymous to trust. Just like the trust reduces app installation count, security also ensures that your app loses its credibility in the market. Which means you also have to build a strong trust, ensure that automation is consistent, and your security is up to the very standard. So that's why I define scaling as trust multiplied by automation multiplied by security. So this gives you a scaled application that can serve multiple users, or thousands of users, whereby your trust is protected, your security is also protected, and your automation is well inclined.
Now, code signing. I've been mentioning code signing since the beginning of this talk. What is code signing, and why do we need it? So, code signing verifies who built the app, and that it wasn't tampered with. Look for an example, we purchased a brand new phone, and when you are about to open this phone, you notice that the seal has been tampered with. So that is what signing ensures with your application. Either for Apple devices or for Windows devices, it will allow you to install an application that has been signed. So by default, if an application is unsigned, the app shows the users a dialogue that says that the developer of the application is not trusted. So, signing is not decoration. It is the passport that your app needs to access multiple operating systems.
Now, let's take Apple before we go to Windows. So, for the Apple chain of trust, you need developer ID, you need developer ID installer. So, these are the certificates you need to download from your developer account on Apple. So, the first thing you need to do is register yourself as an Apple developer, then sign in to your account, then under your settings, you will be able to download the developer ID application certification. So, this allows you to be able to distribute a .dmg, that is the Apple executable file, so it allows you to distribute the .dmg file. Then the second certificate is developer ID installer, both are there. So, you download the certificate, and then on your local machine, you can install it. And if you are using CI, you ensure that the certificate is uploaded on your CI pipeline. Then, app authorization is essential because when you are trying to bond your app into an executable app, the Apple OS scans and validates your build. So, in this way, authorization turns your on-site application into a trusted application of Mac operating system. So, for Apple, you need developer ID application certificates, you need developer ID installer certificates, and so you need the app authorization.
Comments