【发布时间】:2012-02-18 11:21:01
【问题描述】:
我想使用RSA-Sign JavaScript Library 生成 RSA-SHA1 签名。具体来说,我想用它来签署 OAuth 请求。
但是,JavaScript 库生成的签名看起来与我可以生成的签名不同,例如与
$ echo -n "x" | openssl dgst -sha1 -sign priv.key -binary | openssl base64 | xargs echo -n
eV0ZrD7ZrTsuzHHYSwLfUJhXuM96D6ZyIzD5FFphzHbKRaO4TMeTR7bJjkuPib+l
EccM7t6YNDvRgOHyXJDVZZQTg5G4D4jnGVmOgeuti1etCCpLsb1Rl3sfJF/rIlgA
AmejvBbrEG+n8L+GeD6Vd3cneW7k2Rksnh+/BWnnR3c=
相比之下:这是库生成的(base64 编码):
Nzk1ZDE5YWMzZWQ5YWQzYjJlY2M3MWQ4NGIwMmRmNTA5ODU3YjhjZjdhMGZhNjcy
MjMzMGY5MTQ1YTYxY2M3Ng0KY2E0NWEzYjg0Y2M3OTM0N2I2Yzk4ZTRiOGY4OWJm
YTUxMWM3MGNlZWRlOTgzNDNiZDE4MGUxZjI1YzkwZDU2NQ0KOTQxMzgzOTFiODBm
ODhlNzE5NTk4ZTgxZWJhZDhiNTdhZDA4MmE0YmIxYmQ1MTk3N2IxZjI0NWZlYjIy
NTgwMA0KMDI2N2EzYmMxNmViMTA2ZmE3ZjBiZjg2NzgzZTk1Nzc3NzI3Nzk2ZWU0
ZDkxOTJjOWUxZmJmMDU2OWU3NDc3Nw==
(当然,假设相同的输入和键)
这可能是因为使用了 SHA1 实现吗?在这种情况下,我可以尝试使用另一个。
我不是密码学专家,但 OAuth RFC 5849 是 saying 需要使用 RSASSA-PKCS1-V1_5-SIGN,图书馆似乎就是这种情况。
非常感谢。
【问题讨论】:
标签: javascript oauth cryptography rsa sha1