Beiträge von heyen

    Hallo jogimuc,


    Zertifikate werden nicht zentral vergeben. Es gibt verschiedene Zertifikatsaussteller (CA), bei denen man sich Zertifikate ausstellen lassen kann. Webbrowser etc. enthalten Listen, welchen Zertifikatsausstellern sie vertrauen. Diese Listen werden angepasst, wenn es neue vertrauenswürdige Aussteller gibt oder bislang vertrauenswürdige Aussteller gehackt werden, so das Ihnen nicht mehr vertraut werden kann.


    Die Zertifikatsaussteller verwenden ROOT CA Zertifikate um Zertifikate auszustellen. Teilweise haben sie auch mehrere davon. Genau genommen wird die ROOT CA Zertifikaten in den Webbrowsern vertraut. Um das Vertrauen von Zertifikate von ROOT CA Zertifikaten auf damit erstellte Zertifikate abzuleiten, werden Zertifikatsketten (certificate chains) verwendet, die auch mehr als zwei Zertifikate in der Kette enthalten können.


    Google wird nun wahrscheinlich im Chrome Browser dem ROOT CA Zertifikat von Symantec das Vertrauen entziehen, und somit allen Zertifikaten, die direkt oder indirekt durch die Zertifikatskette damit signiert wurden.


    Meine Beschreibung ist grob und möglicherweise in Details nicht ganz korrekt, aber das Prinzip sollte klar werden.


    Das Problem im aktuellen Fall ist, dass die Zertifikate nicht ablaufen, sondern ihnen das Vertrauen entzogen wird. Das bedeutet, dass man sich vorzeitig, vor dem eigentlichen Ablaufdatum neue Zertifikate ausstellen lassen muss, was mit Kosten verbunden ist, wenn man SSL-Zertifkate für Webserver etc. verwendet.
    Ich bin aus den Artikeln, die ich gelesen habe, nicht ganz schlau geworden, ob Symantec den betroffenen Kunden möglicherweise die Zertifikate kostenlos ersetzt. Soweit ich gelesen habe, werden die Zertifikate dann mittlerweile durch DigiCert ausgestellt, die völlig unabhängig von Symantec und somit vertrauenswürdig sind. Wir haben deswegen beim Aussteller unserer Zertifikate nachgefragt, aber ich weiß noch von keiner Rückmeldung.

    Hallo,


    Google hat bekannt gegeben, dass der Chrome Browser in zwei Schritten SSL-Zertifikaten, die von Symantec ausgestellt wurden, das Misstrauen entziehen:
    - https://blog.qualys.com/ssllabs/2017/09/26/google-and-mozilla-deprecating-existing-symantec-certificates
    - https://www.heise.de/security/meldung/Chrome-entzieht-in-Zukunft-10-Prozent-der-wichtigsten-SSL-Seiten-das-Vertrauen-3962976.html


    Durch die Zertifikatskette hat das auch Auswirkungen auf Zertifikate von GeoTrust, RapidSSL, Thawte und andere.


    Wir verwenden Zertifikate, denen von Google Chrome im September 2018 das Vertrauen entzogen werden soll. Unsere Android Apps kommunizieren über HTTPS mit denen Servern und verwenden dazu Standardmechanismen von Android.


    Weiß jemand, ob Android diesen Zertifikaten in der gleichen Weise das Vertrauten entziehen wird, wie Google Chrome?


    Gruß
    Christoph


    Du siehst direkt nach dem Hochladen des APK, welche Geräte unterstützt werden und welche nicht.
    Es gibt da so ein schickes Feld mit einer Anzahl von unterstützten Geräten. Einmal auf 'Liste ansehen' klicken und Du bekommst genauere Informationen.
    (Über die Geräte, nicht über die Ursache des Ausschlusses – leider.)

    Danke. Das ist ein guter Tipp. Ich habe diese App selber noch nicht in den PlayStore eingestellt und sonst auch nur einmal überhaupt eine Android App in den Store gestellt.
    Ich werde dann wohl Kontakt mit demjenigen aufnehmen, der die App einstellt. Somit können wir sicher gehen, ob meine derzeitigen Änderungen etwas bewirkt haben, ohne die App tatsächlich bereit zu stellen. Außerdem erhalte ich dann wohl eine definitive Liste von nicht unterstützten Geräten, anstatt hier und da mal was zu testen.

    Nur so am Rande: Du nutzt keine Funktionen des NDK?
    Falls doch: schau mal, welche Prozessoren Du da unterstützt.

    Nein. NDK wird nicht verwendet.


    Es geht um die Photo App Android 4 von ALDI (https://play.google.com/store/…d=com.medion.aldiphotonew). Die App verwendet einige Bibliotheken, die selbst als Android Lib Projekte in Eclipse eingebunden sind. Die haben zwar Manifest-Dateien, die aber praktisch leer sind.
    Jeder Hinweis auf Geräte, auf denen die App nicht angezeigt oder unterstützt wird ist hilfreich, um das Problem einzugrenzen. Bisher weiß ich von 3 Nexus 7 (2012) und einem HTC One M7, auf denen es nicht läuft. Auf Nexus Galaxy, Samsung S2/S3, Sony Xperia Neo kann ich die App im Store sehen.

    Hast du einen Playstore Link, mit dem das beobachtete Verhalten reproduziert werden kann?
    Vielleicht liegt es am verwendeten Testgerät (Custom ROM, CID aus Timbuktu o.ä.), während andere M7 nicht betroffen sind?

    Ich weiß nicht, ob ich den Link hier posten kann, weil die App für einen Kunden im Playstore ist. Da muss ich erst nachfragen.
    Zu dem HTC One M7 wurde mir gesagt, dass es Android 4.4.2 hat. Ich würde davon ausgehen, dass es ein normales Android vom Hersteller ist. Bekommen kann ich dazu leider keine genaueren Informationen.
    Auf meinem alten Nexus 7 wird die App ebenfalls nicht angezeigt und darauf ist das Original-ROM in Version 4.4.4.

    Hallo,


    <supports-screens /> sollte kein Problem sein. Ich habe in der Doku zu Google Play Filtern gelesen, dass alle Screens unterstützt werden, wenn <supports-screens /> fehlt und min-sdk oder target-sdk mindestens 4 ist.


    Nach Lesen der Dokumentation zu uses-permission und uses-feature habe ich herausgefunden, dass einige bei einige Permissions uses-feature Einträge impliziert sind. Das trifft z.B. auf die Kamera zu. Wenn ich also einen uses-permission-Eintrag für die Kamera habe bedeutet das automatisch, dass Geräte eine Kamera haben müssen. Das trifft nicht auf alle Persmissions zu. Ein Liste ist in der Doku zu uses-feature.
    Ich werde also für die Kamera zwei notwendige uses-feature-Einträge mit android:required="false", weil dafür der Default true ist. So sollte die Kamera nicht mehr zwingend notwendig sein, um die App zu benutzen.


    Aus

    Code
    <uses-permission android:name="android.permission.CAMERA" />



    wird

    Code
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" android:required="false"/>
    <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>



    Ich denke aber, dass das nicht das Problem mit dem HTC One M7 lösen wird, da es eine Backcamera hat. Auch beim Nexus 7 sollte das Problem bisher nicht auftreten, weil es eine Frontcamera hat, die für die Bedingung oben bereits hätte reichen müssen.


    Wenn also jemand weitere Ideen hat, wäre ich dankbar.

    Hallo,


    wir haben eine App im Playstore, die nur auf Android 4-Geräten läuft. Wir haben nun das Problem, dass die App auf einigen Geräten nicht angezeigt wird. Wir blockieren keine Geräte mit Absicht. Da wir davon ausgehen, dass wir im Playstore selbst beim Einstellen keine Beschränkungen aktiviert haben, vermuten wir nun, dass es an der Manifest-Datei liegt.
    Im Manifest werden einige Rechte erbeten. Dort wurde auch ein uses-feature für die Kamera definiert. Das wird wohl dazu führen, dass die App nicht für das erste Nexus 7 angezeigt wird, das nur eine kleine Frontcamera mit 0,3 MP hat. Die App wird aber ebenso für Smartphones mit richtiger Backcamera (HTC One M7) nicht angezeigt. Ich möchte nicht einfach ausprobieren, ob die App nun für alle Geräte angezeigt wird, weil die App für einen Kunden im Playstore ist.
    Die App kann als Paket aus unbekannter Herkunft problemlos auf dem alten Nexus 7 installiert und benutzt werden.
    Ich muss nun herausfinden, was zu tun ist, damit die App für alle Geräte mit Android 4 im Playstore angezeigt wird. Kann mir da jemand helfen? Ich hänge eine etwas bereinigte Android-Manifest.xml an.


    Ich bin für jeden Hinweis dankbar.


    Gruß
    Christoph