فك تشفير حمولة مفتاح واجهة برمجة تطبيقات المستخدم بعد تسجيل الدخول

لقد حاولت الحصول على مفتاح API الخاص بالمستخدم (User-Api-Key) لتسجيل الدخول عبر طرف ثالث عن طريق فك تشفير الحمولة (payload) بعد إجراء الاتصال إلى user-api-key/new على منصة iOS.

المشكلة هنا هي أن فك الترميز Base64 يتم بنجاح، لكن عملية فك التشفير تفشل برمز خطأ (code -50) عند استخدام كلا الفئتين SecKeyCreateDecryptedData و SecKeyDecrypt. وللعلم، فإن رمز الخطأ -50 يعني sign - input buffer bad size، مما يشير إلى أن النص المشفر أطول من طول المفتاح، مما يجعل خوارزمية RSA غير مناسبة في هذه الحالة.

لقد حاولت مطابقة النصوص المشفرة بين مثيل Discourse المحلي ومنصة iOS؛ ورغم أن معظم الأحرف تبقى نفسها، إلا أن حجم البيانات الناتج عن تحويل النص المشفر إلى كائن Data يصبح أكبر من حجم المفتاح (keySize). أشك في أن ذلك مرتبط بطريقة فك ترميز سلسلة الحمولة المشفرة بـ Base64 للحصول على النص المشفر. هل أنا مخطئ؟ أم أنني أغفل شيئًا ما؟