Tôi muốn tạo chữ ký RSA-SHA1 với RSA-Sign JavaScript Library. Cụ thể, tôi muốn sử dụng điều này để ký yêu cầu OAuth.Tạo chữ ký RSA-SHA1 bằng JavaScript
Tuy nhiên, chữ ký được tạo bởi thư viện JavaScript trông khác với chữ ký tôi có thể tạo, ví dụ: với
$ echo -n "x" | openssl dgst -sha1 -sign priv.key -binary | openssl base64 | xargs echo -n
eV0ZrD7ZrTsuzHHYSwLfUJhXuM96D6ZyIzD5FFphzHbKRaO4TMeTR7bJjkuPib+l
EccM7t6YNDvRgOHyXJDVZZQTg5G4D4jnGVmOgeuti1etCCpLsb1Rl3sfJF/rIlgA
AmejvBbrEG+n8L+GeD6Vd3cneW7k2Rksnh+/BWnnR3c=
Ngược lại: Đây là những gì thư viện tạo (mã hóa base64):
Nzk1ZDE5YWMzZWQ5YWQzYjJlY2M3MWQ4NGIwMmRmNTA5ODU3YjhjZjdhMGZhNjcy
MjMzMGY5MTQ1YTYxY2M3Ng0KY2E0NWEzYjg0Y2M3OTM0N2I2Yzk4ZTRiOGY4OWJm
YTUxMWM3MGNlZWRlOTgzNDNiZDE4MGUxZjI1YzkwZDU2NQ0KOTQxMzgzOTFiODBm
ODhlNzE5NTk4ZTgxZWJhZDhiNTdhZDA4MmE0YmIxYmQ1MTk3N2IxZjI0NWZlYjIy
NTgwMA0KMDI2N2EzYmMxNmViMTA2ZmE3ZjBiZjg2NzgzZTk1Nzc3NzI3Nzk2ZWU0
ZDkxOTJjOWUxZmJmMDU2OWU3NDc3Nw==
(giả định cùng quan trọng đầu vào &, tất nhiên)
Có thể rằng đây là vì việc triển khai SHA1 đang được sử dụng? Trong trường hợp đó, tôi có thể thử sử dụng một cái khác.
Tôi không có chuyên gia về mật mã, nhưng OAuth RFC 5849 là saying mà RSASSA-PKCS1-V1_5-SIGN cần được sử dụng, có vẻ như là trường hợp của thư viện.
Cảm ơn bạn rất nhiều.
Xin lỗi vì trả lời muộn. Có, dường như tôi đã mã hóa chuỗi hex thay vì chuyển đổi chúng thành byte trước. Cảm ơn nhiều! – Simon