Utvikling av Electron-skrivebordsapper · leksjon

Kodesignering og notarization

Forstå betydningen av kodesignering for Windows og notarization for macOS for å sikre brukertillit og samsvar med sikkerhetskrav.

Leksjon 2 av 412 trinn

Kodesignering og notarization er en gratis leksjon i Utvikling av Electron-skrivebordsapper på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Utvikling av Electron-skrivebordsapper, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Utvikling av Electron-skrivebordsapper inneholder totalt 4 leksjoner.

Skap tillit med kodesignering

Når du distribuerer Electron-appen, må brukerne kunne stole på den. Operativsystemer som Windows og macOS har innebygde sikkerhetsfunksjoner som beskytter brukere mot skadelig programvare.

Kodesignering og notarization er viktige trinn for å dokumentere appens ekthet og integritet, slik at brukerne kan føle seg trygge når de installerer den.

Hva er kodesignering?

Kodesignering kan sammenlignes med å feste en digital signatur til applikasjonen. Den bruker et kryptografisk sertifikat som er utstedt av en betrodd sertifiseringsinstans (CA).

  • Ekthet: Bekrefter at appen kommer fra deg som utgiver.
  • Integritet: Bekrefter at appen ikke er blitt endret siden du signerte den.

Hvis signaturen er ugyldig eller endret, vil operativsystemet advare brukeren.

Tillit i Windows

I Windows utløser usignerte applikasjoner ofte sikkerhetsadvarsler som «Windows protected your PC» (SmartScreen-filteret).

En gyldig kodesignatur hjelper appen med å bestå disse kontrollene, gir brukerne større trygghet og reduserer hindringer ved installasjon. Den gjør også at appen kan installeres uten ekstra administratorforespørsler for enkelte operasjoner.

Signere kjørbare Windows-filer

For å signere Electron-appen for Windows trenger du et Code Signing Certificate. Dette er vanligvis en PFX-fil som inneholder den private nøkkelen din og sertifikatkjeden.

Verktøy som electron-builder forenkler prosessen ved at du kan angi sertifikatdetaljene i konfigurasjonen.

{
  "build": {
    "win": {
      "target": "nsis",
      "signingHashAlgorithms": ["sha256"],
      "signAndEditExecutable": true
    },
    "cscKeyPassword": "your-cert-password",
    "cscInstallerPassword": "your-cert-password",
    "cscLink": "path/to/your/certificate.pfx"
  }
}

Tidsstemple signaturen

Når du signerer kode, er det viktig at du også tidsstempler signaturen. Da forblir signaturen gyldig selv om sertifikatet utløper, fordi signeringen fant sted mens sertifikatet var aktivt.

De fleste signeringsverktøy, inkludert electron-builder, kan automatisk legge til en URL til en tidsstempelserver i signeringsprosessen.

Forklaring av notarization i macOS

For macOS introduserte Apple Notarization som en ekstra sikkerhetskontroll. Det er en automatisert tjeneste som skanner appen for skadelig innhold og problemer med kodesignaturen.

Tenk på det som at Apple gir appen et «godkjenningsstempel» før den kan kjøre problemfritt på macOS Catalina og nyere versjoner.

Oppfylle kravene til Apples Gatekeeper

Sikkerhetsfunksjonen Gatekeeper i macOS blokkerer som standard usignerte apper eller apper som ikke er notarized. Brukerne får se en advarsel om at appen «cannot be opened because the developer cannot be verified.»

Notarization gjør at appen kan bestå Gatekeeper-kontrollene uten å irritere brukerne eller kreve at de manuelt omgår sikkerhetsinnstillingene.

Gjøre seg klar for notarization

For å notarize Electron-appen trenger du:

  • En Apple Developer ID.
  • Et appspesifikt passord for Apple-ID-en din.
  • Appen må være signert med et Developer ID Application-sertifikat.
  • Hardened Runtime aktivert (en sikkerhetsfunksjon).

electron-builder håndterer de fleste av disse konfigurasjonene for deg.

Notarization med electron-builder

electron-builder forenkler notarization-prosessen. Du konfigurerer Apple-ID-legitimasjonen din, så håndterer verktøyet opplastingen av appen til Apples notarization-tjeneste.

Det venter til notarization er fullført og «stapler» deretter notarization-billetten til appbunten.

{
  "build": {
    "mac": {
      "hardenedRuntime": true,
      "gatekeeperAssess": false,
      "entitlementsInherit": "build/entitlements.mac.plist",
      "entitlements": "build/entitlements.mac.plist"
    },
    "afterSign": "electron-builder-notarize"
  }
}

Sikker og automatisert signering

Oppbevar alltid signeringssertifikater og private nøkler på en sikker måte. Behandle dem som sensitive passord.

Integrer kodesignering og notarization i CI/CD-pipelinen (Continuous Integration/Continuous Deployment) for å automatisere prosessen og sikre at hver build blir riktig signert og notarized.

Test kunnskapene dine

Hvilke utsagn beskriver riktig formålet med eller kravene til kodesignering og notarization i macOS?

Oppsummering: tillit og sikkerhet

I denne leksjonen lærte vi om den viktige rollen kodesignering spiller for Windows, og notarization for macOS, ved distribusjon av Electron-applikasjoner.

Disse prosessene skaper brukertillit, sikrer appens integritet og hjelper appen med å kjøre problemfritt på måloperativsystemene ved å oppfylle deres innebygde sikkerhetskrav.

Gratis å komme i gang

Lær deg JavaScript med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
47

Ofte stilte spørsmål

Er leksjonen «Kodesignering og notarization» gratis?

Ja – hele teksten i «Kodesignering og notarization» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Utvikling av Electron-skrivebordsapper-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Utvikling av Electron-skrivebordsapper inneholder totalt 4 leksjoner.

Hva lærer jeg i «Kodesignering og notarization»?

Forstå betydningen av kodesignering for Windows og notarization for macOS for å sikre brukertillit og samsvar med sikkerhetskrav. Du øver på Utvikling av Electron-skrivebordsapper med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Utvikling av Electron-skrivebordsapper?

Ingen tidligere erfaring er nødvendig. Utvikling av Electron-skrivebordsapper på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Kodesignering og notarization»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Utvikling av Electron-skrivebordsapper-leksjonen?

Ja. Alle Utvikling av Electron-skrivebordsapper-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Plattformuavhengig pakking
  2. Kodesignering og notarization
  3. Distribusjon via appbutikker
  4. Automatisere utgivelser med CI/CD
← Tilbake til Utvikling av Electron-skrivebordsapper