我尝试将我的Pem密钥导入Google KMS(支持hsm)。我有Google指南如何使用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
请注意,按照RFC 5649规范的要求,使用-iv A65959A6会将A65959A6设置为备用初始值。
我有wrap_pub_key.pub和my_key.pem,其中wrap_pub_key.pub:
-----BEGIN PUBLIC KEY-----
...........key...........
-----END PUBLIC KEY-----
如何使用cryto lib(不带openssl)在nodeJs中编程此步骤?
答案 0 :(得分:1)
我认为您正在关注guide,但我对NodeJ并不熟悉,但是我发现下一个文档可能会有所帮助,
我发现Cloud Platform服务/ API支持的每种语言的github repo list!
我认为您可以从可用的examples
开始如果您需要更多详细信息,可以使用以下参考:
最后,我了解到,导入此类密钥时,您需要选择一个key wrapping algorithms
希望此信息对您有帮助