Frage

Wenn Sie eine signierte Android-Anwendung mit Eclipse exportieren, ist es ein Zweck mehrere Aliase zu verwenden?

Nach dem offiziellen Guide über die Anmeldung , ist es, dass Sie empfohlen schreiben alle Anwendungen mit demselben Zertifikat Ihren Anwendungen zum Austausch von Daten, Code zu ermöglichen, und in modularer Weise aktualisiert werden.

Unter der Annahme, dass „Alias“, „Schlüssel“ und „Zertifikat“ in diesem Zusammenhang im Wesentlichen austauschbar ist, gibt es einen Grund, warum jemand würde will verschiedene Aliasnamen zu verwenden, für alle ihre Anwendungen? Der einzige Grund, warum ich denken kann, ist, dass es mehr Sicherheit für Ihre Anwendungen im Sinne fügt hinzu, dass ein kompromittierter Schlüssel / Passwort nicht Kompromiss alles. Gibt es andere Gründe?

Auch ist der Schlüssel abhängig von dem Namen der Alias ??erzeugt? Mit anderen Worten, wenn Sie den Namen des Alias ??ändern, aber nicht das Passwort, würde das generierte Zertifikat anders sein?

War es hilfreich?

Lösung

Korrigieren Sie mich, wenn ich falsch liege, aber wenn Sie sehen, diese Antwort auf eine ähnliche Frage sehen Sie, dass das Zertifikat in der Tat hängen von dem jeweiligen „alias“ (innerhalb Keystore-), dass Sie wählen, um mit zu unterzeichnen.

Lesen Sie die Antwort sorgfältig und Sie sehen, dass die „Schlüsselspeicher“ enthalten „alias“ s (die eigentlich private und öffentliche Schlüssel-Paare). Wenn Sie Ihr apk schreiben ist der „Public-Key“, das das eigentliche Zertifikat eingebettet ist.

Deshalb, wenn Sie Ihre App aktualisieren Sie immer den gleichen „alias“ verwenden sollten, nicht nur den gleichen „Schlüsselspeicher“. Was, warum Devs mehrere „alias“ haben würde s in ihrem Schlüsselspeicher, ich bin unsicher von Nutzen andere als das, was Sie und andere gesagt haben.

Und der einzige Weg, mit einem anderen Aliasschreiben würde die vorherige zu klonen, wie die Antwort schlägt auch vor.

Ich habe auch bestätigt, dass es mit verschiedenen Alias ??des ein APK Unterzeichnung (aus dem gleichen Schlüsselspeicher) verschiedene APK generiert Unterzeichnung Signaturen die den Nachweis, dass anders sein sollte‚alias‘s = anderes Zertifikat. Wie Ihre Signatur sig bekommen (<- Anmerkung: I weiß nicht, was die Trace.i Methode sie sich beziehen ist, benutzte ich Log.i statt)

Andere Tipps

Do bewusst sein, dass durch die Apps mit verschiedenen Schlüsseln Unterzeichnung Sie „signaturbasierte Berechtigungen“ Interoperabilität zwischen Anwendungen opfern.

Auszug aus Android - Signieren von Anwendungen - Signing Strategien

  

Das Android-System bietet signaturbasierte Berechtigungen Durchsetzung,   so dass eine Anwendung Funktionalität in einer anderen Anwendung aussetzen   Das ist mit einem spezifizierten Zertifikat signiert. Durch die Unterzeichnung mehrerer   Anwendungen mit demselben Zertifikat und die Verwendung signaturbasierte   Berechtigungsprüfungen Ihre Anwendungen können Code und Daten in einem gemeinsam nutzen   sichere Art und Weise.

ich tat einige Tests, und obwohl es scheint, welche Taste Sie in den Schlüsselspeicher verwenden, um Materie, auf die Taste, um den Alias ??zu ändern und den Namen der Schlüsselspeicherdatei scheint nicht wirklich auf das Mobilteil auf die Materie. Wenn Sie neugierig, änderte ich den Alias ??mit keytool-iui, dass ich von hier bekam: http: //code.google.com/p/keytool-iui/

, um die OP zu beantworten, würde ich sagen, dass es nützlich ist, wenn Sie in einem großen Unternehmen arbeiten mit mehreren Abteilungen ihre eigenen Anwendungen zu schreiben. So Wilsons Widgets einen Schlüsselspeicher von wilsonwidgets.keystore haben könnte, und es könnte eine interne Abteilung mit einer „widgetmakers“ -Taste und eine Abteilung mit einer „widgetdelivery“ Taste und einem andere Abteilung mit einem „hrdepartment“ Schlüssel sein. Jede Abteilung könnte die andere Abteilung von der Aktualisierung ihrer App verhindern, aber das Unternehmen selbst hat alle in einem Schlüsselspeicher gespeicherten Schlüssel, die an einen Ort gesichert werden können.

persönlich unterschreiben, ich jede App mit einem anderen Schlüssel speichert sie alle in dem gleichen Schlüsselspeicher. Ich mache das so, wenn Google eines meiner Apps kaufen von mir entscheidet kann ich, dass ein Schlüssel abbrechen und geben es ihnen, ohne sie die ganze Menge oder Regenerat Schlüssel für die anderen Anwendungen verkaufen zu müssen. Realistisch gesehen ... Ich bin nur verschwenden Sie Zeit und Mühe ... seufzen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top