Шифрование Google Cloud KMS получило очень разные результаты между командной строкой и кодом Java - PullRequest
0 голосов
/ 14 мая 2018

Я новичок в облаке Google.У меня есть код Java, который использует KMS для шифрования некоторых учетных данных.Наконец, он возвращает зашифрованный текст (объект String), который мне нужен.Это дает мне что-то вроде этого:

CiQAUxKMC06hZ7cuhlqdQQPGdNJqotwoKlSzjKmr+kwR3iMLg04SZABqmWMTCukKk0EVIDa1PpqqSIszczXGvt+nQN/jpV3DLEjXH3xkzdL0an9kiRIfLHryhcFwaYt/DczI4sy4VdZSoyKcszzZyGdVjISsyIbMnYINuqme1sa7GqLM98cXfnYzHjE=

EncryptResponse response = kms.projects().locations().keyRings().cryptoKeys()
            .encrypt(resourceName, request)
            .execute();
return response.getCiphertext();

Теперь я также хочу скрипт начальной загрузки, который мог бы сделать подобное.Тем не менее, когда я использую командную строку следующим образом.Содержимое в файле encryption.txt выглядит не просто как строка, но содержит некоторые символы Юникода.Есть ли способ, которым я мог бы получить вышеупомянутую красивую строку шифрования с помощью командной строки gcloud kms?

export ENCRYPTION=$(gcloud kms encrypt --location=global --keyring=$KEYRING --key=$KEY --plaintext-file=text.txt --ciphertext-file=encryption.txt)

1 Ответ

0 голосов
/ 28 июня 2018

Google Cloud KMS использует шифрование AES-256 в кодировке Base64 ключи . Вы должны иметь возможность декодировать шифротекст с помощью библиотеки base64.

...