NodeJs密钥创建(google kms密钥导入)NodeJ

问题描述 投票:0回答:1

我尝试将我的Pem密钥导入Google KMS(支持hsm)。我有谷歌指南它如何用openssl创建:


包装钥匙生成一个长度为32个字节的临时随机AES密钥。

openssl rand -out temp_aes_key.bin 32

使用CKM_RSA_PKCS_OAEP将临时AES密钥与换行公用密钥换行。

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

使用CKM_AES_KEY_WRAP_PAD用临时AES密钥包装目标密钥。

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会将A65959A6设置为RFC 5649规范要求的备用初始值。

我有wrap_pub_key.pub和my_key.pem,其中wrap_pub_key.pub:

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

如何使用cryto lib(不带openssl)在nodeJs中编程此步骤?

javascript node.js cryptography cryptojs google-cloud-kms
1个回答
0
投票

我认为您正在关注guide,我对NodeJ并不熟悉,但是我发现下一个文档可能会有所帮助,

我找到了Cloud Platform服务/ API支持的每种语言的github repo list

我认为您可以从此可用的examples开始

如果您需要更多详细信息,可以使用以下参考:

最后我了解,当您导入这种密钥时,您需要选择一个key wrapping algorithms

希望您发现此信息对您有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.