NodeJs Создание крипто-ключа (импорт ключа Google KMS) NodeJs - PullRequest
0 голосов
/ 15 января 2020

я пытаюсь импортировать мой ключ pem в Google KMS (с поддержкой hsm). У меня есть руководство Google, как его создать с openssl:


Обернуть ключ Создать временный случайный ключ AES длиной 32 байта.

openssl rand -out temp_aes_key.bin 32

Обернуть временный ключ AES с помощью Завершение публикации ключа c с использованием CKM_RSA_PKCS_OAEP.

openssl rsautl -encrypt
-pubin -inkey wrap_pub_key.pub
-in temp_aes_key.bin
-out temp_aes_key_wrapped.bin
-oaep

Обертывание ключа назначения временным ключом AES с использованием CKM_AES_KEY_WRAP_PAD.

openssl enc -id-aes256-wrap-pad  -K $( hexdump -v -e '/1
"%02x"' < "temp_aes_key.bin" )  -iv A65959A6  -in my_key.pem
-out target_key_wrapped.bin

Обратите внимание на использование -iv A65959A6 устанавливает A65959A как A65959 Альтернативное начальное значение в соответствии с требованиями спецификации RF C 5649.

У меня есть wrap_pub_key.pub и my_key.pem, где wrap_pub_key.pub:

-----BEGIN PUBLIC KEY-----
...........key...........
-----END PUBLIC KEY-----

Как запрограммировать эти шаги в nodeJs с помощью cryto lib (без openssl)?

1 Ответ

1 голос
/ 15 января 2020

Я думаю, что вы следуете этому руководству Я не знаком с NodeJs, однако я нашел следующую документацию, которая может быть полезна,

Я нашел Список репозиториев github каждого языка, поддерживаемого для сервисов / API Cloud Platform!

Я думаю, что вы можете начать с этих доступных примеров

Если вам нужно больше Подробности вы можете использовать эти ссылки:

Наконец, я понимаю, что когда вы импортируете ключ такого типа, вам нужно выбрать алгоритмы преобразования ключей

Надеюсь, вы найдете эту информацию полезной

...