Installera mobilt BankID utan Google Play

Från FriBID
Hoppa till navigeringHoppa till sök

BankID finns bara tillgängligt att ladda ner via Google Play, men om man som användare av någon anledning inte vill använda Google Play så beskrivs det på denna sida hur man kan gå tillväga för att installera BankID utan att använda Google Play. En anledning kan vara att man inte vill knyta sin mobil till ett Google-konto, och därmed lämna ut personlig information till Google. Man måste dock ändå ha Google Play-tjänster (Google Play Services) installerat. Om "Google Play-tjänster" och "Ramverk för tjänster från Google" är förinstallerade, så går det däremot bra att inaktivera dem (man får då ett varningsmeddelande när man startar BankID, men appen fungerar utan problem ändå). Sett till vad som skrivits på nätet verkar inte BankID 7.7.0 fungera med microG, däremot har äldre versioner fungerat.

Stegen nedan är anpassade för att utföras på en dator med GNU/Linux men fungerar troligen oavsett operativsystem.

Förberedelser[redigera]

Installera OpenJDK. På Debian och Ubuntu kan man köra följande kommando:

$ sudo apt install openjdk-9-jdk

Installera BankID-appen[redigera]

Ladda ner BankID-appen[redigera]

Det enklaste sättet är att söka på "apk downloader" för att hitta en sida för att ladda ner APK-filer direkt utan Google Play. Därifrån kan man sedan söka på "com.bankid.bus", vilket är BankID-appens paketnamn. Spara filen med filnamnet "com.bankid.bus.apk", annars kan installationen misslyckas.

Det finns alltid en risk att filer från APK-nerladdningstjänster är infekterade med skadlig programvara. Därför bör du verifiera APK-signaturen (se nästa steg).

Verifiera APK-signatur[redigera]

Detta kan t.ex. göras med jarsigner eller med apksigner. Instruktionerna nedan visar hur det görs med jarsigner.

Verifiera att filerna inne i APK-filen är korrekt signerade med detta kommando. Kommandot ska ge utmatningen "jar verified.". Det är normalt att kommandot ger ifrån sig ett par varningar om självsignerat cert, avsaknad av tidsstämpel m.m. Vi kommer verifiera certifikatet i nästa steg.

$ jarsigner -verify com.bankid.bus.apk

Vill man vara på den säkra sidan kan man även kontrollera filerna var för sig. Samtliga filer ska ha statusen "sm" (s=korrekt signatur, m=finns med i manifest-filen), förutom de i META-INF som kan ha statusen "s" eller tomt.

$ jarsigner -verify -certs -verbose com.bankid.bus.apk | grep -E '^[a-z0-9 ]{10,10}[0-9]'

Verifiera att certifikatet i APK-filen verkligen är BankIDs certifikat och inte någon annans:

$ unzip com.bankid.bus.apk META-INF/BID_ANDR.RSA
$ openssl pkcs7 -in META-INF/BID_ANDR.RSA -inform der -print_certs > com.bankid.bus.pem
$ openssl x509 -in com.bankid.bus.pem -outform der | sha256sum

Resultatet ska vara

ada2624b35fca3cc340e11899454e550fba982b44d82b97efd16aa3a7a467c16  -

Här finns det ett skript som gör det ovanstående automatiskt:

https://github.com/samuellb/scripts/blob/master/apk_verify.sh

För över BankID-appen till mobilen och installera[redigera]

APK-filen behöver föras över till mobilen. T.ex. med en USB-kabel, eller genom att installera en FTP-server-app på mobilen och sedan kopiera över filerna dit. Lägg filen i Downloads-mappen, så den enkelt kan installeras.

Installera APK-filen. Du behöver antagligen slå på "Okända källor" / "Unknown sources" i inställningarna.

Prova nu att starta BankID. Om det fungerar, så grattis! Glöm inte att återställa inställningen för "Okända källor" / "Unknown sources" i inställningarna om du ändrade den.

Om du däremot får ett felmeddelande om att Google Play-tjänster behöver uppgraderas, så fortsätt med de följande stegen.

Uppgradera Google Play-tjänster[redigera]

Med dagens versioner av BankID (testat med version 7.22) så verkar inte Google Play-tjänster krävas längre. Det går att installera utan "Google Play-tjänster" och "Ramverk för tjänster från Google" finns på telefonen eller är aktiva.

Det mesta verkar fungera som det ska, men de här effekterna har rapporterats:

  • När man starta startar BankID-appen får man en varning.
  • "Min historik" kan inte visas.
  • Ett meddelande om förlorad anslutning visas ibland.

Kontrollera version av Google Play-tjänster[redigera]

Börja med att kontrollera vilken version av Google Play-tjänster (Google Play Services) du har installerat:

  • Gå till Inställningar --> Appar. Välj "Visa system" i menyn.
  • Rulla ner till "Google Play-tjänster" ("Google Play Services" med engelsk språkinställning).
  • Version 9 är för gammal för att fungera med BankID. I skrivande stund är senaste versionen 11.9.76, vilken fungerar.
  • Det finns olika versioner avsedda för olika pixeltäthet på skärmen (DPI). Detta anges med en tresiffrig kod efter versionsnumret, t.ex. 032 i 11.9.75 (032-182402865). Det ska vara samma kod på den versionen du uppgraderar till.

microG kan vara ett alternativ till dig som inte vill/kan installera Google Play-tjänster. Det verkar dock som det inte fungerar i nuläget, se denna tråd t.ex: [1]

Ladda ner Google Play-tjänster[redigera]

Ladda ner appen "com.google.android.gms" på samma sätt som för BankID-appen.

Verifiera APK-signatur[redigera]

$ jarsigner -verify com.google.android.gms.apk

Vill man vara på den säkra sidan kan man även kontrollera filerna var för sig. Samtliga filer ska ha statusen "sm" (s=korrekt signatur, m=finns med i manifest-filen), förutom de i META-INF som kan ha statusen "s" eller tomt.

$ jarsigner -verify -certs -verbose com.google.android.gms.apk | grep -E '^[a-z0-9 ]{10,10}[0-9]'

Verifiera att certifikatet i APK-filen verkligen är Googles certifikat och inte någon annans:

$ unzip com.google.android.gms.apk META-INF/CERT.RSA
$ openssl pkcs7 -in META-INF/CERT.RSA -inform der -print_certs > com.google.android.gms.pem
$ openssl x509 -in com.google.android.gms.pem | sha256sum

Denna gång ska resultatet vara:

51f96b0206b26ff9925afa3faea4488ac0043cab83a04894bc34fc4fafdf9769  -

För över com.google.android.gms.apk till mobilen och installera[redigera]

Se motsvarande steg för BankID-appen.

Klart[redigera]

Förhoppningsvis ska du nu kunna köra BankID-appen. Glöm inte att återställa inställningen för "Okända källor" / "Unknown sources" i inställningarna om du ändrade den.