Podpisywanie kodu i notaryzacja
Poznaj znaczenie podpisywania kodu w systemie Windows i notaryzacji w systemie macOS dla budowania zaufania użytkowników i zapewnienia zgodności z wymogami bezpieczeństwa.
Podpisywanie kodu i notaryzacja to bezpłatna lekcja Electron Desktop App Development na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Electron Desktop App Development, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Electron Desktop App Development zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Building Trust with Code Signing
When you distribute your Electron app, users need to trust it. Operating systems like Windows and macOS have built-in security features to protect users from malicious software.
Code signing and notarization are essential steps to prove your app's authenticity and integrity, ensuring users feel safe installing it.
What is Code Signing?
Code signing is like attaching a digital signature to your application. It uses a cryptographic certificate issued by a trusted Certificate Authority (CA).
- Authenticity: Verifies the app comes from you, the publisher.
- Integrity: Confirms the app hasn't been tampered with since you signed it.
If the signature is invalid or altered, the OS will warn the user.
Trust on Windows
On Windows, unsigned applications often trigger security warnings like "Windows protected your PC" (SmartScreen filter).
A valid code signature helps your app pass these checks, giving users confidence and reducing installation friction. It also allows your app to be installed without extra administrator prompts for some operations.
Signing Windows Executables
To sign your Windows Electron app, you'll need a Code Signing Certificate. This is typically a PFX file containing your private key and certificate chain.
Tools like electron-builder simplify this process by letting you specify your certificate details in the configuration.
{
"build": {
"win": {
"target": "nsis",
"signingHashAlgorithms": ["sha256"],
"signAndEditExecutable": true
},
"cscKeyPassword": "your-cert-password",
"cscInstallerPassword": "your-cert-password",
"cscLink": "path/to/your/certificate.pfx"
}
}Time-Stamping Your Signature
When code signing, it's crucial to also time-stamp your signature. This ensures that even if your signing certificate expires, the signature remains valid because it was signed when the certificate was active.
Most signing tools, including electron-builder, can automatically add a time-stamp server URL to your signing process.
macOS Notarization Explained
For macOS, Apple introduced Notarization as an additional security check. It's an automated service that scans your app for malicious content and code signature issues.
Think of it as Apple giving your app a "seal of approval" before it can run smoothly on macOS Catalina and later.
Meeting Apple's Gatekeeper
macOS's security feature, Gatekeeper, blocks unsigned or unnotarized apps from running by default. Users will see a warning that the app "cannot be opened because the developer cannot be verified."
Notarization allows your app to pass Gatekeeper checks without annoying users or requiring them to bypass security settings manually.
Getting Ready for Notarization
To notarize your Electron app, you need:
- An Apple Developer ID.
- An app-specific password for your Apple ID.
- Your app must be signed with a Developer ID Application certificate.
- Hardened Runtime enabled (a security feature).
electron-builder handles most of these configurations for you.
Notarizing with electron-builder
electron-builder simplifies the notarization process. You configure your Apple ID credentials and it handles uploading your app to Apple's notarization service.
It waits for the notarization to complete and then "staples" the notarization ticket to your app bundle.
{
"build": {
"mac": {
"hardenedRuntime": true,
"gatekeeperAssess": false,
"entitlementsInherit": "build/entitlements.mac.plist",
"entitlements": "build/entitlements.mac.plist"
},
"afterSign": "electron-builder-notarize"
}
}Secure & Automated Signing
Always keep your signing certificates and private keys secure. Treat them like sensitive passwords.
Integrate code signing and notarization into your Continuous Integration/Continuous Deployment (CI/CD) pipeline to automate the process and ensure every build is properly signed and notarized.
Check Your Knowledge
Which statements accurately describe the purpose or requirements of code signing and macOS notarization?
Recap: Trust & Security
In this lesson, we learned about the critical role of code signing for Windows and notarization for macOS in distributing your Electron applications.
These processes build user trust, ensure app integrity, and help your app run smoothly on target operating systems by satisfying their built-in security requirements.
Ucz się JavaScript dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 12
- Lekcje
- 47
Często zadawane pytania
Czy lekcja „Podpisywanie kodu i notaryzacja” jest bezpłatna?
Tak — pełny tekst „Podpisywanie kodu i notaryzacja” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Electron Desktop App Development, przejdź na CoddyKit PRO. Kurs Electron Desktop App Development zawiera 4 lekcji w sumie.
Co nauczysz się w „Podpisywanie kodu i notaryzacja”?
Poznaj znaczenie podpisywania kodu w systemie Windows i notaryzacji w systemie macOS dla budowania zaufania użytkowników i zapewnienia zgodności z wymogami bezpieczeństwa. Ćwiczysz Electron Desktop App Development z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Electron Desktop App Development?
Nie wymagamy żadnego doświadczenia. Electron Desktop App Development w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Podpisywanie kodu i notaryzacja”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Electron Desktop App Development?
Tak. Każda lekcja Electron Desktop App Development zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Pakowanie wieloplatformowe
- Podpisywanie kodu i notaryzacja
- Dystrybucja za pośrednictwem sklepów z aplikacjami
- Automatyzacja wydań za pomocą CI/CD