2017-03-08 3 views
0

Ich habeListener fo KeyChain Android

verwendet
KeyChain.choosePrivateKeyAlias 

Ich habe erfolgreich den privaten Schlüssel sowie den öffentlichen Schlüssel extrahiert.

Ich möchte den Click Listener von KeyChain behandeln, ob der Benutzer die Installation von Zertifikaten erlaubt oder verweigert hat.

Ich konnte nichts in der Entwicklerdokumentation finden.

Danke

Antwort

0

auf Android ICS Telefon ich die PKCS#12 Datei mit privatem Schlüssel und Zertifikat importiert haben. Dann führe ich

aus

In der Zertifikatauswahldialog wähle ich das gerade installierte.

in der Callback ‚alias‘ i wie folgt vor:

public void alias(final String alias) { 
    ... 
    protected Boolean[] doInBackground(Void... arg0) { 
     ... 
     PrivateKey pk = KeyChain.getPrivateKey(ctx, alias); 
     Log.d(TAG, "EncodedPrivateKey: " + pk.toString()); 

Und es gibt mir den vollständigen Inhalt des privaten Schlüssels.

Bedeutet dies, dass jede Anwendung, sobald sie vom Benutzer erlaubt ist (im Auswahldialog für Zertifikate), jeden privaten Schlüssel lesen kann, der aus der .pfx-Datei installiert wurde?

Ist das folgende Szenario von Standard Android möglich bedeutet - "Administrator" Installation von .pfx-Datei mit dem Zertifikat. + Privaten Schlüssel und die Berechtigungen, um es zu lesen sind auf die eine bestimmte App beschränkt?

+0

Nein @ user7677685 Die Zertifikate und KEYS sind nicht auf eine einzelne App beschränkt. Sobald das Zertifikat entweder manuell oder von der Anwendung selbst installiert wurde, wird das Zertifikat auf dem Android-Gerät und nicht auf/für die Anwendung installiert. Es kann leicht von einer anderen Anwendung zugegriffen werden. –