در پایتون یک جفت کلید RSA تولید کنید، یک پیغام را با کلید خصوصی امضا کرده و هدر HTTP با نام "X-Signature" حاوی امضای Base64 شده را بسازید.
4.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:37 0.0
برای حل این مسئله میتوانید از کتابخانه cryptography استفاده کنید: ابتدا کلید خصوصی و عمومی RSA را بسازید (rsa.generate_private_key)، سپس پیغام را به بایت تبدیل و با الگوریتم SHA256 و PKCS#1 v1.5 یا PSS امضا کنید، خروجی امضا را با base64.b64encode رمزگذاری کرده و در یک دیکشنری بهصورت {'X-Signature': '...'} قرار دهید. نکتهها: پیغام را با encode به بایت تبدیل کنید، برای بررسی صحت امضا از کلید عمومی و متد verify استفاده کنید و در صورت نیاز کلیدها را با فرمت PEM ذخیره یا بارگذاری کنید (pip install cryptography).
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای امضای پیام با RSA در پایتون، پیام را به بایت تبدیل کنید و از padding مناسب مانند PKCS1v15 یا PSS استفاده کنید. هش را با SHA256 بگیرید، امضا را با کلید خصوصی تولید کرده و خروجی را با base64 بگیریند و در هدر HTTP با نام X-Signature قرار دهید. برای بررسی صحت امضا از کلید عمومی و تابع verify استفاده کنید و در صورت نیاز کلیدها را در قالب PEM ذخیره یا بارگذاری کنید. به منظور جلوگیری از تکرار امضاها، از یک nonce یا timestamp استفاده کنید و مدیریت امن کلیدها را رعایت کنید.
گزارش