GCP KMS 导入以太坊钱包私钥

GCP KMS Importing Ethereum Wallet private key

我有一个由 64 个字节组成的以太坊私钥。我需要使用此密钥使用 p256k1 椭圆曲线(以太坊上使用的签名算法)进行非对称加密。

在导入我的密钥的过程中,KMS 现在支持此功能,我在 GCP KMS 文档中看到了以下部分。

规定密钥必须是PKCS#8格式。我已经尝试了几个使用 openssl 的命令。像下面这样

openssl pkcs8 -topk8 -in ./private.pem -outform DER -out ./private.key

这是我的private.pem格式

-----BEGIN PRIVATE KEY-----
64_CHAR_PRIVATE_KEY_PASTED_HERE
-----END PRIVATE KEY-----

我知道这可能不是正确的转换方式,因为当我 运行 这个命令时会发生错误。

unable to load key
4456490668:error:0DFFF07B:asn1 encoding routines:CRYPTO_internal:header too long:/System/Volumes/Data/SWE/macOS/BuildRoots/b8ff8433dc/Library/Caches/com.apple.xbs/Sources/libressl/libressl-75/libressl-2.8/crypto/asn1/asn1_lib.c:152:
4456490668:error:0DFFF066:asn1 encoding routines:CRYPTO_internal:bad object header:/System/Volumes/Data/SWE/macOS/BuildRoots/b8ff8433dc/Library/Caches/com.apple.xbs/Sources/libressl/libressl-75/libressl-2.8/crypto/asn1/tasn_dec.c:1132:
4456490668:error:0DFFF03A:asn1 encoding routines:CRYPTO_internal:nested asn1 error:/System/Volumes/Data/SWE/macOS/BuildRoots/b8ff8433dc/Library/Caches/com.apple.xbs/Sources/libressl/libressl-75/libressl-2.8/crypto/asn1/tasn_dec.c:317:Type=PKCS8_PRIV_KEY_INFO
4456490668:error:09FFF00D:PEM routines:CRYPTO_internal:ASN1 lib:/System/Volumes/Data/SWE/macOS/BuildRoots/b8ff8433dc/Library/Caches/com.apple.xbs/Sources/libressl/libressl-75/libressl-2.8/crypto/pem/pem_pkey.c:143:

我的目标仍然是能够尽可能安全地将密钥导入 KMS。预先感谢您的回复:D

所以对于任何可能处理类似事情的人来说。 John Hanley pointed me to this 描述了将以太坊私钥基本转换为 EC PEM 或 DER 编码密钥文件的过程。

需要添加几个字符串(链接的答案很好地解释了它)。然后我能够将 EC PEM 转换为 PKCS#8 DER 格式,这是我将密钥导入 GCP KMS 所需要的格式。