У меня есть SFTP, который я установил с файлами * .PGP на этом сервере. Пакет, который я использую для подключения к SFTP из python, - это Paramiko, как показано ниже.
import paramiko
transport = paramiko.Transport(json_data["host"], 22)
transport.connect(username=json_data["username"], password=json_data["password"])
sftp = paramiko.SFTPClient.from_transport(transport)
Кроме того, я использую pgpy для дешифрования сообщения. В основном ключ поступает из ведра облачного хранилища Google и загружает его в цепочку для ключей и расшифровывает файл
Я уже настроил эту расшифровку для локального файла, но не могу понять, как расшифровать сообщение на сервере.
Я не могу использовать функцию get, потому что я буду запускать этот код в облачных функциях Google, поэтому не смогу получить доступ к локальному каталогу.
Is в любом случае я могу загрузить файл в Python, расшифровать файл, а затем загрузить его в Pandas. Конечный файл - это файл .CSV.
Фактический код, используемый для дешифрования локальных файлов.
import pgpy
key = pgpy.PGPKey().from_file("path/to/file/keyfile.asc")
with key[0].unlock("password") as ukey:
message = pgpy.PGPMessage().from_file("path/to/file/file.pgp")
f = ukey.decrypt(message).message
print(f)
Это позволит расшифровать сообщение локально.