یک تابع پایتون بنویسید که یک پیام متنی را با کلید خصوصی RSA امضا کند و امضای Base64 شده را در هدر 'X-Signature' یک درخواست HTTP قرار دهد.
11.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 00:04 0.0
برای حل این مسئله از کتابخانه cryptography یا PyCryptodome استفاده کنید: کلید خصوصی را تولید یا بارگذاری کرده، پیام را به صورت بایت (UTF-8) آماده کنید و با الگوریتم RSA (مثلاً PKCS1v15 یا PSS) و هش SHA‑256 امضا بگیرید. امضای باینری را با base64 رمزنگاری کنید و مقدار حاصل را در دیکشنری هدرها با کلید 'X-Signature' قرار دهید. نکات: برای ارسال از requests استفاده کنید، هرگز کلید خصوصی را در درخواست نگذارید، اندازه هِدر را کوچک نگه دارید و برای تست، امضای دریافتی را با کلید عمومی بررسی کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای امضا کردن پیام با RSA بهتر است از حالت PSS با هش SHA‑256 استفاده کنید تا امنیت بالاتری نسبت به PKCS#1 v1.5 داشته باشید و خروجی باینری را با base64 رمزگذاری کرده در هِدر 'X-Signature' قرار دهید. هرگز کلید خصوصی را به همراه درخواست نفرستید و برای جلوگیری از حملات replay حتماً یک timestamp یا nonce و شناسه کلید (KeyId) را هم در هدر یا بدنه بفرستید. هِدرها را کوچک نگه دارید و فقط آنچه لازم است را ارسال کنید تا از مشکلات طول هِدر یا محدودیتهای سرور جلوگیری شود. برای تست و عیبیابی همیشه امضای دریافتی را با کلید عمومی روی سرور یا ابزار تستی تأیید کنید.
گزارش