2017-02-13 1 views
0

Es gibt keine Methode für die KMS-Verschlüsselung in Android AWS SDK. Auf der Serverseite verwenden wir KMSEncryptionMaterialsProvider, um AmazonS3EncryptionClient Objekt zu erstellen, aber diese Klasse ist nicht in Android SDK verfügbar. Ich habe versucht, das Java-SDK in meinem Android-Projekt verwenden, aber es hat eine AusnahmeKann ich die AWS KMS-Verschlüsselung für die clientseitige Verschlüsselung in Android verwenden?

Code:

KMSEncryptionMaterialsProvider materialProvider = new KMSEncryptionMaterialsProvider(kms_cmk_id); 
encryptionClient = new AmazonS3EncryptionClient(new ProfileCredentialsProvider(), materialProvider, 
       new CryptoConfiguration()) 
      .withRegion(Region.getRegion(Regions.US_WEST_2)); 

Exception

Verursacht durch: java.lang.ClassNotFoundException: Haben Sie nicht gefunden Klasse "javax.management.MBeanServerFactory" auf Pfad: DexPathList

+0

Android ist eine Teilmenge von Java. Java SDK funktioniert wahrscheinlich nicht – donkon

+0

Was ist Ihr Anwendungsfall? –

+0

@ketanvijayvargiya bitte sehen Sie die aktualisierte Frage –

Antwort

1

Ja, es ist möglich. Ich gebe Ihnen drei Möglichkeiten, aber alle von ihnen erfordern Ihre Hände ein wenig schmutziger.

Option 1: Sie können Ihre eigene Implementierung eines KMS-Verschlüsselungsmaterialanbieters ableiten. Obwohl diese bestimmte Klasse (und wahrscheinlich einige ihrer Abhängigkeiten) im AWS Android SDK nicht vorhanden sind, verfügen Sie über die Schnittstelle, die Sie für das SDK benötigen: EncryptionMaterialsProvider. Auf dieser Basis sollte es möglich sein, einen eigenen Anbieter zu implementieren.

Option 2: Verwenden Sie den im Android SDK bereitgestellten KMS-Client, um Ihre eigenen Verschlüsselungsmaterialien von KMS abzurufen und anschließend eine StaticEncryptionMaterialsProvider an den S3-Client zu übergeben.

Option 3: Gehen Sie mit der Verschlüsselung/Entschlüsselung selbst um. Es ist technisch möglich, dass Sie die Verschlüsselungsmaterialien mit dem KMS-Client abrufen und dann die KMS-Anleitung unter official documentation zum Verschlüsseln/Entschlüsseln Ihrer Daten befolgen. Bitte tun Sie das nur, wenn Sie sich mit Kryptographie auskennen.

Verwandte Themen