Хобрук: Ваш путь к мастерству в программировании

Как загружать файлы с предоставленными заказчиком / управляемыми ключами шифрования с помощью Firebase Storage в Angular или Flutter?

Мое приложение хранит файлы в Firebase Storage. Я хочу удобно зашифровать эти файлы на сервере. Firebase Storage использует Google Cloud Storage. Для этого Google Cloud Storage предлагает два варианта: ключи шифрования, предоставленные клиентом, где приложение предоставляет ключ, и управляемое клиентом шифрование keys, где приложение предоставляет имя серверной «учетной записи службы шифрования» в облачном хранилище Google.

Я думаю, что моя серверная часть Java, которая создает мои файлы, будет в порядке: Firebase Admin SDK использует библиотеку Java Cloud Storage. И там Storage.BlobTargetOption имеет encryptionKey() метод для ключа шифрования, предоставляемого заказчиком, и метод kmsKeyName() для ключей шифрования, управляемого заказчиком.

Но я не понимаю, как я могу загружать файлы с ключами шифрования, предоставленными / управляемыми заказчиком, в Angular или Flutter. Во Flutter получение ссылки на файл позволяет мне указать только путь, а не ключ или имя ключа. И получение URL-адреса загрузки для этой ссылки не имеет параметров, так что здесь тоже нет ключа или имени ключа. То же самое и для Angular SDK: невозможно указать ключ или имя ключа при создании сегмента для доступа к файлу (извините, здесь нет ссылки) и при получении URL-адреса загрузки файла.

Итак: как мне загрузить файлы с предоставленными заказчиком / управляемыми ключами шифрования с помощью Firebase Storage в Angular или Flutter?


  • У вас все еще есть эта проблема? 15.03.2021
  • @rsalinas Да. См. Мой собственный ответ ниже. 22.03.2021

Ответы:


1

В настоящее время это невозможно ни в Angular, ни во Flutter. Как и было рекомендовано, я отправил два запроса на добавление функций. Но и то, и другое задерживается и может не быть реализовано какое-то время, если вообще когда-либо.

22.03.2021
Новые материалы

Учебные заметки JavaScript Object Oriented Labs
Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

Разбор строк запроса в vue.js
Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
«Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..

Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

Как настроить Selenium в проекте Angular
Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

Аргументы прогрессивного улучшения почти всегда упускают суть
В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

Введение в Джанго Фреймворк
Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..