Android, EAP-TLS, Zertifikate importieren

Android erwartet für die Nutzung von WLAN-Netzwerken welche mit EAP-TLS gesichert sind Zertifikate im PKCS12 Format. Liegen die Zertifikate und Keys nur im PEM Format vor, können diese mit dem folgenden Befehl konvertiert werden.

openssl pkcs12 -export -in cert.pem -certfile cacert.pem -inkey key.pem -out cert.p12

Die entstandene .p12 Datei kopiert man nun auf seinen Androiden und installiert sie mit dem Zertifikatsmanager.
Bei mir schlug der Import jedoch immer wieder fehl, eine Fehlermeldung gab es nicht. Nur im Log tauchte “Import key command failed resp->status = -17” auf, so wirklich weiter half dies aber auch nicht. Erst ein Eintrag im Android-Bugtracker gab mir den entscheidenden Hinweis: Android kam mit der verwendeten Schlüssellänge des Keys nicht klar. Scheinbar liegt das Maximum bei 2048 Bit, mein Key war aber 4096 Bit lang. Erst als ich einen neuen, kürzeren Schlüssel generiert habe, wurde der Key anstandslos akzeptiert. Ich hoffe doch sehr, dass Google hier bald nachbessert, so selten sind Schlüssel mit Längen > 2048 Bit nämlich nicht.

Update: Android 4.4 scheint 4069 Bit Schlüssel zu akzeptieren.