Google API RS256密钥签名

时间:2016-08-28 14:50:31

标签: google-api erlang elixir public-key-encryption

我想在Erlang / Elixir中实现Google's OAuth 2.0 Sever to Server进程,但我有点困难。

首先,我似乎无法找到Google用来验证我的签名的公钥(至少这是我认为的问题所在。

我已经下载了google提供的JSON文件,其中包含“private_key”以及我可以找到“client_x509_certs”的网址。当我转到该链接时,我甚至看到一个x509证书,其标识符与我的私钥对应。那我怎么不能验证我的签名?

我的意思是首先,为了让erlang高兴我必须使用这个命令将私钥转换为RSA格式:

openssl rsa -in key.pem -out rsa.key

然后我可以使用Erlang的public_key.sign签名。

{ :ok, key } = File.read("./private_key")
[ key | _ ] = :public_key.pem_decode(key)
key = :public_key.pem_entry_decode(key)
sig = :public_key.sign("halloween", :sha256, key)

但是,从UR中提供的x509证书中提取RSA公钥后;我无法验证我的任何签名。

:public_key.verify("halloween", :sha256, sig, public_key)

我没有从正确的地方获取公钥吗?

0 个答案:

没有答案
相关问题