یک تابع پایتون بنویسید که یک پیام متنی را با کلید خصوصی 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 استفاده کنید، هرگز کلید خصوصی را در درخواست نگذارید، اندازه هِدر را کوچک نگه دارید و برای تست، امضای دریافتی را با کلید عمومی بررسی کنید.

توسط پژوهشگر در 198 روز قبل ساعت 00:04
دسته بندی ها: Python Python for beginner
sara در 198 روز قبل ساعت 00:04

برای امضا کردن پیام با RSA بهتر است از حالت PSS با هش SHA‑256 استفاده کنید تا امنیت بالاتری نسبت به PKCS#1 v1.5 داشته باشید و خروجی باینری را با base64 رمزگذاری کرده در هِدر 'X-Signature' قرار دهید. هرگز کلید خصوصی را به همراه درخواست نفرستید و برای جلوگیری از حملات replay حتماً یک timestamp یا nonce و شناسه کلید (KeyId) را هم در هدر یا بدنه بفرستید. هِدرها را کوچک نگه دارید و فقط آنچه لازم است را ارسال کنید تا از مشکلات طول هِدر یا محدودیت‌های سرور جلوگیری شود. برای تست و عیب‌یابی همیشه امضای دریافتی را با کلید عمومی روی سرور یا ابزار تستی تأیید کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری