Posts Tagged “server”

Achtung: Diese Anleitung ist inzwischen veraltet, da sowohl das Android-Standard-Mail-Programm, als auch K9 selbst signierte Zertifikate zulassen. Sollte es wider Erwarten nicht von Haus aus funktionieren, dann wird diese Anleitung wahrscheinlich Abhilfe schaffen.
 

Auf Android Handys ist der E-Mail nicht ganz so einfach, da selbstsignierte Server-Zertifikate nicht gestattet sind. Sowohl im hauseigenen Mail-Programm, als auch in K9-Mail erhält man eine Fehlermeldung, dass dem Zertifikat des Servers nicht vertraut wird und somit ist kein Empfang von E-Mails eines eigenen Mail-Servers möglich.

Die Fehlermeldung sollte so, oder so ähnlich aussehen:

E/CertificateChainValidator( 5284): java.security.cert.CertificateException:
java.security.cert.CertPathValidatorException: TrustAnchor for CertPath not found.

Abhilfe schafft ein Hinzufügen der Server-Zertifikate in die Liste der vertrauenswürdigen Zertifikate. Hierzu benötigt man allerdings ein gerootetes Android-Handy.

Im ersten Schritt lädt man die öffentliche Zertifikate des IMAP und SMTP-Servers auf den eigenen Rechner.

Des weiteren benötigt man das Android-SDK und die letzte Version des bcprov-jdk16-NNN.jar.

Das Android-SDK kann man einfach in ein beliebiges Verzeichnis entpacken und sofort nutzen. Die bcprov-jdk16-NNN.jar muss noch installiert werden. In meiner Ubuntu Linux Umgebung musste ich die Datei dazu in das Verzeichnis /usr/lib/jvm/java-6-openjdk/jre/lib/ext/ verschieben.

Dann kann man die beiden Zertifikate in die Liste der vertrauenswürdigen Zertifikate hinzufügen, indem man folgenden Befehl auf dem PC ausführt:

keytool -importcert -keystore cacerts.bks -storetype BKS -provider\
org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -trustcacerts\
-alias YOURSERVER_imap -file imap_certificate.pem

und danach dann selbiges noch einmal für das SMTP Zertifikat:

keytool -importcert -keystore cacerts.bks -storetype BKS -provider\
org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -trustcacerts\
-alias YOURSERVER_smtp -file smtp_certificate.pem

Somit erhält man eine Datei cacerts.bks, die man in das System des Handys einfügen muss.

Im tools Ordner des Android-SDK findet sich eine Datei adb. Diese muss man ausführbar machen und dann probieren, ob das Handy mittels ./adb devices aufgelistet wird. Sollte dies nicht der Fall sein, so ist das Handy entweder nicht gerootet oder das Betriebssystem kann das Handy nicht als USB-Gerät erkennen. In beiden Fällen sollte man sich im Internet belesen, wie man adb für sein Betriebssystem und Handy zum laufen bringt.

Sollte das Handy erkannt werden so kann man die Datei auf das Handy verschieben, nachdem man das Dateisystem schreibbar eingebunden hat. Dazu diesen Befehl verwenden:

./adb shell mount -o remount,rw /dev/block/mtdblock3 /system

, dann die Datei kopieren

./adb push cacerts.bks /system/etc/security/

und das Dateisystem wieder nur lesbar einhängen mit

./adb shell mount -o remount,ro /dev/block/mtdblock3 /system

.

Jetzt kann man das Handy vom PC trennen und die E-Mail-Prozesse töten oder, wenn man nicht weiß, wie man Prozesse beendet, das Handy neustarten. Im Anschluss kann man sowohl im Android-Mail-Programm, als auch in K9-Mail E-Mails von diesem Server empfangen und erhält keine Fehlermeldung mehr.

Zusammenfassung der Befehle

  1. Herunterladen von Android-SDK und der letzten Version des bcprov-jdk16-NNN.jar
  2. Entpacken des Android-SDK
  3. Installation der bcprov-jdk16-NNN.jar Datei mit:
    sudo mv bcprov-jdk16-145.jar /usr/lib/jvm/java-6-openjdk/jre/lib/ext/
  4. Herunterladen der öffentlichen Server-Zertifikate (in meinem Fall mit
    scp mailserver:/etc/ssl/certs/imap_certificate.pem .

    und

    scp mailserver:/etc/ssl/certs/smtp_certificate.pem .

    )

  5. keytool -importcert -keystore cacerts.bks -storetype BKS -provider\
    org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -trustcacerts\
    -alias YOURSERVER_imap -file imap_certificate.pem

    für das IMAP Zertifikat

  6. keytool -importcert -keystore cacerts.bks -storetype BKS -provider\
    org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -trustcacerts\
    -alias YOURSERVER_smtp -file smtp_certificate.pem

    für das SMTP Zertifikat

  7. ./adb shell mount -o remount,rw /dev/block/mtdblock3 /system
  8. ./adb push cacerts.bks /system/etc/security/
  9. ./adb shell mount -o remount,ro /dev/block/mtdblock3 /system
  10. Handy von PC trennen und E-Mail-Prozesse beenden oder Handy neu starten

Comments 3 Kommentare »

218152 Seiten angezeigt, 532 heute
91799 Besuche, 200 heute
FireStats icon Powered by FireStats