راهنمای فنی رمزنگاری نامتقارن (RSA)، تولید فایل CSR و امضای دیجیتال JWS صورتحساب الکترونیکی
2026-09-27
تیم پشتیبانی VORLEX
ارسال موفق صورتحساب به سامانه مودیان، پیش از آنکه یک فرآیند حسابداری باشد، یک عملیات پیچیدهی رمزنگاری (Cryptography) است. سازمان امور مالیاتی برای تضمین یکپارچگی دادهها (Data Integrity) و عدم انکار (Non-repudiation)، از استاندارد امضای دیجیتال بر بستر JSON Web Signature (JWS) استفاده میکند. در این مقاله به کالبدشکافی این ساختار امنیتی میپردازیم.
۱. رمزنگاری نامتقارن و استاندارد RSA-2048
پایه و اساس امنیت کارپوشه، استفاده از الگوریتم رمزنگاری نامتقارن RSA با طول کلید حداقل ۲۰۴۸ بیت است. در این معماری، شما به دو کلید نیاز دارید:
- کلید خصوصی (Private Key): برای امضا کردن هش (Hash) صورتحساب استفاده میشود. این کلید تحت هیچ شرایطی نباید در اختیار شخص ثالث (حتی سازمان مالیاتی) قرار گیرد.
- کلید عمومی (Public Key): جهت اعتبارسنجی امضای شما در سرورهای دارایی استفاده میشود. فرمت استاندارد این فایل باید حتماً X.509/SubjectPublicKeyInfo باشد.
۲. فایل CSR (Certificate Signing Request) چیست؟
برای دریافت گواهی مهر سازمانی از مراکز میانی (مانند مرکز میانی عام یا GICA)، صرفاً داشتن کلید عمومی کافی نیست. شما باید درخواستی با فرمت CSR بسازید که حاوی کلید عمومی شما و اطلاعات هویتی سازمان (O)، واحد سازمانی (OU) و کشور (C=IR) باشد. تولید این فایل معمولاً از طریق کامندلاینهای پیچیده OpenSSL انجام میشود و کوچکترین خطایی در الگوریتم هش (SHA-256) باعث رد شدن درخواست در سامانه جیکا (GICA) میگردد.
۳. ساختار پکت JWS در ارسال صورتحساب
هنگامی که فاکتور را به سرورهای مالیاتی ارسال میکنید، دیتا باید در قالب یک توکن JWS با فرمت Compact Serialization بستهبندی شود که شامل سه بخش جدا شده با نقطه (.) است:
- Header (هدر): شامل الگوریتم امضا (alg: RS256)، نوع توکن (typ: JWT) و شناسه کلید (kid) که همان شناسه یکتای حافظه مالیاتی شماست.
- Payload (بدنه): بدنه اصلی فاکتور که تمام فیلدهای اطلاعاتی را در بر دارد و باید با انکودینگ استاندارد Base64Url (بدون کاراکترهای + و / و پدینگ =) تبدیل شود.
- Signature (امضا دیجیتال): خروجی رمزنگاریشدهی ترکیب هدر و پیلود توسط Private Key شما.
۴. خطاهای رایج رمزنگاری در سامانه مودیان:
- خطای امضای دیجیتال نامعتبر است: معمولاً به دلیل استفاده از Base64 معمولی (به جای Base64Url) یا عدم رعایت ترتیب فیلدها در تولید بدنه رخ میدهد.
- خطای طول کلید: استفاده از کلیدهای ۱۰۲۴ بیتی یا فرمتهای غیر استاندارد PKCS#1 به جای PKCS#8.
چگونه از درگیری با OpenSSL و رمزنگاری خلاص شویم؟
توسعه ماژولهای رمزنگاری و مدیریت کلیدها، نیازمند دانش عمیق امنیت اطلاعات است و کوچکترین باگ در انکودینگ باعث مسدود شدن فاکتورها میشود.
هسته امنیتی سامانه VORLEX بر پایه پیشرفتهترین کتابخانههای کریپتوگرافی توسعه یافته است. در VORLEX، به محض ثبت یک فروشنده جدید، موتور رمزنگاری به صورت کاملاً خودکار و در پسزمینه (Background)، جفتکلیدهای استاندارد RSA را تولید کرده، کلید عمومی را به شما تحویل میدهد و کلید خصوصی را در گاوصندوقی رمزنگاریشده (Fernet Encryption) ایزوله میکند. در نتیجه، عملیات پیچیدهی JWS در کسری از ثانیه و بدون نیاز به یک خط کدنویسی یا دستورات OpenSSL انجام میشود.
تولید آنلاین و رایگان کلید CSR و Public Key
نیازی به نصب نرمافزارهای پیچیده یا پرداخت هزینه به واسطهها ندارید؛ میتوانید در چند ثانیه فایل درخواست گواهی (CSR) و کلید عمومی شرکت خود را به صورت استاندارد بسازید.
ورود به ابزار ساخت رایگان کلید CSRنیاز به صدور سریع و بیدردسر صورتحساب دارید؟
سامانه VORLEX فرآیند تولید کلیدها و ارسال فاکتور به کارپوشه را به صورت کاملاً خودکار انجام میدهد.
افتتاح رایگان حساب کاربری