Nun, von dem, was ich verstehe, möchten Sie den Inhalt zusätzliche Verschlüsselung hinzufügen, bevor Sie es in die Leitung übertragen.
Um dies zu erreichen, müssen Sie Ihre eigenen Wrapper rund um die Storage Service REST API erstellen und nicht die von Microsoft bereitgestellten Storage Client Library verwenden. Nur mit Ihren eigenen REST-Callern können Sie den Inhalt verschlüsseln/entschlüsseln, bevor Sie ihn als Request Body festlegen. Dann, wenn Sie die Blobs herunterladen, müssen Sie sie von der Response Body entschlüsseln. Auf diese Weise können Sie eine "transparente Verschlüsselung" erreichen. Bis zu einem gewissen Grad transparent, weil Sie aus Anwendungs- gründen einfach EncryptedBlobStorageClient.UploadBlob (Pfad_zu_local_Datei) aufrufen. Aber Dies ist nicht wirklich transparent, wie es in Ihrer Anwendung lebt, und Sie können die verschlüsselten Blobs nicht ohne Ihre Anwendung verwenden.
Wenn Sie jedoch möchten, dass diese Verschlüsselung/Entschlüsselung auf dem Blob Service-Endpunkt lebt, ist dies nicht möglich.
Verwenden Sie HTTPS anstelle von HTTP? –
@breischl Ich kenne dich! Wir sind beide Commiters bei [Azure Table Encryption] (http://azuretablencrypt.codeplex.com/) (ich bin da nicht). Ähnlich wie dieses Projekt das Azure Table SDK erweitert, möchte ich das Blob SDK auf ähnliche Weise erweitern. Transparente Verschlüsselung Entschlüsselung der Daten. – LamonteCristo
Das ist lustig! Es ist eine kleine Wolke. :) Ich habe etwas ähnliches wie diese Bibliothek für Block Blobs gemacht. Ich konnte keine Hooks wie den TableServiceContext finden, also ist es im selben Sinne nicht transparent. Ich habe nur Methoden geschrieben, die ich stattdessen lesen und schreiben lasse. Sie speichern die Crypto-Version in Blob-Metadaten und umschließen die Streams nach Bedarf in CryptoStream. Ich weiß nicht, ob das für Page Blobs funktioniert. –