mohammadreza1408 / pos_pyhon

پروژه پایانه فروشگاهی و اتصال به سامانه مودیان از طریق وب سرویس با زبان پایتون
0 stars 1 forks source link

بسته ارسال صورتحساب و نرمال سازی بسته ارسالی #2

Open mohammadreza1408 opened 1 year ago

mohammadreza1408 commented 1 year ago

برای ارسال بهسته به سمت سرور مجددا نیاز است تا بسته با کلید خصوصی مودی امضا شده و اطلاعات به سمت سرور ارسال گردد، برای امضا بسته میبایست نرمالسازی صورت گرفته و سپس امضا انجام گردد در ادامه نحوه امضا و ترتیب مقادیر نرمال شده توضیح داده شده است. متغیر های زیر برای رشته نرمال شده مورد نیاز است token_t ==> توکن دریافتی از سامانه data ==> صورتحساب رمز شده با الگوریتم AES dataSignature ==> صورتحساب امضا شدهبا کلید خصوصی مودی encryptionKeyId ==> شناسه کلید عمومی سازمان fiscalId ==>شناسه یکتا حافظه مالیاتی iv ==> بردار اولیه الگوریتم AES packetType ==> مقداری ثابت که ممکن است بعدا تغییر کند symmetricKey==> کلید الگوریتم متقارن رمز شده با کلید عمومی سازمان uid ==> شماره شناسایی منحصر به فرد که برنامه نویس آن را میسازد requestTraceId ==> با فرمت uid که برنامه نویس آن را میسازد timestamp ==>زمان بر اساس میلی ثانیه

پس از تولید و بدست آوردن داده های بالا این داده ها در قالب یک رشته نرمال شده به ترتیب زیر تولید شده و با الگوریتم rsa و کلید خصوصی مودی امضا شده و در بسته ارسالی بخش signature قرار خواهد گرفت packet_normalaised =f"{token_t}#{data}#{dataSignature}#{encryptionKeyId}#{fiscalId}#{iv}#{packetType}###{symmetricKey}#{uid}#{requestTraceId}#{timestamp}"

بسته تولید شده ارسالی paket_for_send ={ "time": 1, "packets": [ { "uid": f"{uid}", "packetType": f"{packetType}", "retry": null, "data": f"{data}", "encryptionKeyId": f"{encryptionKeyId}", "symmetricKey": f"{symmetricKey}", "iv": f"{iv}", "fiscalId":f"{fiscalId}", "dataSignature":f"{dataSignature}" } ], "signature":f"{packet_normalaised_signature(packet_normalaised)}" }

nimbolism commented 1 year ago

سلام وقتتون بخیر من چند روزه درگیر هستم ولی خطاهای مختلفی از جمله 5205،5203،4212،4208 میده بهم الان بیشتر ارور 5203 و 4208 میده و بعد از کلی تغییر دادن تابع های رمزگذاری هنوز موفق نشدم

mohammadreza1408 commented 10 months ago

این خطا ها رو از توی لیست خطا هایی که منتشر شده در سایت intamedia.tax.gov.ir بررسی کنید ببینید پیدا میکنید و رفع کنید این خطا ها مربوط به لایه انتقال نیست

behnamtr364 commented 5 months ago

صورتحساب نرمال شده یا نرمال نشده نشده رمز میشه ؟؟ کدومش؟ مرحله اخر رمزنگاری نامتقارن ورودیاش چیا هستن و خروجیش کدوم فیلد میشه ؟؟

mohammadreza1408 commented 1 month ago

صورتحساب نرمال شده یا نرمال نشده نشده رمز میشه ؟؟ کدومش؟ مرحله اخر رمزنگاری نامتقارن ورودیاش چیا هستن و خروجیش کدوم فیلد میشه ؟؟

صورتحساب نرمال میشه که امضا بشه، علاوه بر اون همه بسته هایی هم که به سمت سامانه میخواین بفرستین اول باید نرمال بشه،رمزنگاری نامتقارن هم ورودیش خود صورتحسابه که XOR هم این وسط داره برای رمزش باید XOR میشه