javascript - NodeJs 加密 key 创建(google kms key 导入) NodeJs

标签 javascript node.js cryptography cryptojs google-cloud-kms

我尝试将我的 pem key 导入 Google KMS(支持 hsm)。我有谷歌指南如何使用 openssl 创建:

<小时/>

包裹 key 生成一个 32 字节长的临时随机 AES key 。

openssl rand -out temp_aes_key.bin 32

使用 CKM_RSA_PKCS_OAEP 将临时 AES key 与包装公钥包装在一起。

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 key 包装目标 key 。

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中编写此步骤?

最佳答案

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

我找到了github repo list云平台服务/API 支持的每种语言!

我认为你可以从这个可用的 examples 开始

如果您需要更多详细信息,可以使用这些引用资料:

最后我明白了,当你导入这种 key 时,你需要选择key wrapping algorithms

我希望您发现这些信息有帮助

关于javascript - NodeJs 加密 key 创建(google kms key 导入) NodeJs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59741766/

相关文章:

javascript - 使用 addEventListener 附加时不调用事件

javascript - IE8 问题 - 对象不支持属性或方法错误

javascript - 在 JavaScript 中使用 split 只获取没有查询字符串的 URL

node.js - 使用 Stripe API 出现不安全网站错误

node.js - 为什么 requestjs 拒绝适用于 Firefox 的自签名 SSL 证书?

javascript - jsSHA、CryptoJS 和 OpenSSL 库给出不同的结果

javascript:如何逐行解析 FileReader 对象

encryption - HashiCorp Vault项目-编写其他键/值对而不覆盖现有键/值对

c - 使用 EC_KEY 时 EVP_PKEY_verify 不起作用

node.js - 如何从 ApiGateway 缓存资源获取内容编码