Как зашифровать / расшифровать файлы, присутствующие в HDFS с шифрованием GPG - PullRequest
0 голосов
/ 06 октября 2018

Я хочу написать задание (либо в Spark / JAVA), которое должно выполнять шифрование и дешифрование файлов, присутствующих в HDFS, само по себе, без копирования обратно на локальный компьютер с помощью GPG.

У меня есть открытый ключ Othersчтобы зашифровать файл и мой личный ключ, чтобы расшифровать файлы от других. Пока входной файл шифрования имеет формат .gpg, а выходной файл расшифровки должен быть .gpg

Любые предложения и код полезны

1 Ответ

0 голосов
/ 06 октября 2018

На самом деле у нас есть производственные процессы, которые выполняют шифрование записи с помощью PGP.Вы можете сделать это, установив кодек шифрования.К сожалению, AFAIK, нет готового к использованию кодека для PGP / GPG.Вы можете использовать это: https://github.com/spotify/hadoop-openpgp-codec,, но имейте в виду, что в нем говорится, что оно неполное и его не следует использовать для производства.Мы фактически использовали его в качестве отправной точки и написали свое собственное все в Scala для искры.К сожалению, это было сделано для работы, и я не могу поделиться этим.Вы также должны добавить логику для управления ключами.Мы используем его только для шифрования, поэтому мы просто связываем открытые ключи, но для того, чтобы расшифровать, вам нужно будет управлять безопасностью вашего закрытого ключа.Искра работы, вы можете иметь искры автоматически шифровать и дешифровать что-то вроде:

    context.hadoopConfiguration.set("mapreduce.output.fileoutputformat.compress", "true")
    context.hadoopConfiguration.set("mapreduce.output.fileoutputformat.compress.codec", "com.spotify.hadoop.openpgp.OpenPgpCodec")
...