Невозможно расшифровать с помощью google kms typcript / node, получая результаты emtpy - PullRequest
0 голосов
/ 15 февраля 2019

Любая помощь в этом была бы признательна :).Я пытаюсь создать функцию Firebase для расшифровки данных с помощью Google KMS.По какой-то причине я не могу успешно расшифровать данные, я просто получаю пустой буфер в качестве ответа.Вот мой код

app.post('/', (req, res) => {
    var testToken =   Buffer.from("test-token").toString('base64')
    console.log("access token:" + testToken )
    client.encrypt({name, testToken })
        .then(responses => {
            const response = responses[0];
            //TRIED THIS
            //const  ciphertext = response.ciphertext
            //AND THIS
            const  ciphertext = response.ciphertext.toString('base64')
            console.log(ciphertext)
            client.decrypt({name, ciphertext})
                .then(responses2 => {
                    console.log(responses2);
                    console.log(Buffer.from(responses2[0].plaintext, 'base64').toString("utf8"))
                    return res.status(200).send({"status": "succes"})
                })
                .catch(err => {
                    console.log(err);
                    return res.status(400).send({"status": "error"})
                });
        })
        .catch(err => {
            console.log(err);
            return res.status(400).send({"status": "error"})
        });

});

Вот журналы, которые я печатаю

info: access token:dGVzdC10b2tlbg==
info: CiQAoYg0TZ0KIurHuDKRxNt5tBm+bWv94gjCRqJbzi/d8ZGk7k8SIQBZ//kUwUOpsnFquNYyxrd5w6YmUMlGupghjUsjf94G9g==
info: [ { plaintext: <Buffer > }, undefined, undefined ]

Я хотел бы сделать эту работу без необходимости каких-либо временных файлов.Заранее спасибо!

1 Ответ

0 голосов
/ 19 февраля 2019

Я обнаружил проблему .. В случае, если кто-то еще столкнется с этим, проблема со вторым аргументом метода шифрования, он должен иметь имя с открытым текстом, как это

client.encrypt({name, plaintext})

Так что это выглядит как кмшифровал пустое значение, потому что не было открытого текста, поэтому в момент расшифровки он также возвращал пустое значение.

Думаю, было бы полезно добавить какое-то предупреждение или исключение на уровне API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...