Tcl pki :: pkcs :: parse_key错误使用谷歌身份验证服务帐户密钥

Tcl pki :: pkcs :: parse_key错误使用谷歌身份验证服务帐户密钥

问题描述:

我想创建一个小脚本,我可以使用谷歌的“服务器到服务器应用程序的OAuth 2.0”与Tcl。在设置我的服务帐户并以JSON格式创建私钥之后,我复制并粘贴了该JSON文件中的私钥。 (即screen shot of a part of the private key)Tcl pki :: pkcs :: parse_key错误使用谷歌身份验证服务帐户密钥

然后,我把我的Tcl脚本中,看起来像这样的私有密钥:

set keydata "PRIVATEKEY" 
set key [::pki::pkcs::parse_key $keydata] 

这样做后,我得到以下错误:

Expected Integer (0x02), but got 30 
    while executing 
"::asn::asnGetBigInteger key ret(n)" 
    (procedure "::pki::pkcs::parse_key" line 8) 
    invoked from within 
"::pki::pkcs::parse_key $keydata" 
    ("uplevel" body line 45) 
    invoked from within 

我相信我我无法弄清楚我做错了什么

我发现问题是Google给我的关键是PEM格式而不是“:: pki :: pkcs :: parse_key”需要的RSA格式。因此,我只是运行以下内容将我的PEM密钥转换为RSA格式,然后运行上面显示的代码,一切正常。

openssl rsa -in domain.key -out domain-rsa.key