הטמעת חתימה אלקטרונית באפליקציה לנייד

כשהעסק שלך זקוק לחתימה משפטית משמעותית ישירות באפליקציה הניידת, אנחנו מספקים חתימה אלקטרונית סוהרית—מיצירת מפתח ועד אימות בצד השרת. הצוות שלנו מטפל במחזור המלא, ומבטיח פתרון אמין עם תמיכה מתמשכת.

פיתוח ותמיכה בכל סוגי היישומים הניידים:

יישומים ניידים למידע ובידור
אפליקציות חדשות, משחקים, מדריכים, קטלוגים מקוונים, אפליקציות מזג אוויר, אפליקציות כושר ובריאות, אפליקציות נסיעות, אפליקציות חינוכיות, רשתות חברתיות ומסנג'רים, חידונים, בלוגים ופודקאסטים, פורומים, אגרגטורים
יישומים ניידים למסחר אלקטרוני
חנויות מקוונות, אפליקציות B2B, מרקטפלייסים, בורסות מקוונות, שירותי קאשבק, בורסות, פלטפורמות דרופשיפינג, תוכניות נאמנות, משלוחי מזון ומוצרים, מערכות תשלום.
יישומים ניידים לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, ניהול פרויקטים, כלים לצוותי מכירות, ניהול פיננסי, ניהול ייצור, ניהול לוגיסטיקה ומשלוחים, ניהול משאבי אנוש, מערכות ניטור נתונים
יישומים ניידים לשירותים אלקטרוניים
פלטפורמות מודעות מסווגות, בתי ספר מקוונים, בתי קולנוע מקוונים, פלטפורמות שירות אלקטרוניות, פלטפורמות קאשבק, אירוח וידאו, פורטלים נושאיים, פלטפורמות הזמנות ותזמון מקוונות, פלטפורמות מסחר מקוונות

אלה הם רק חלק מסוגי היישומים הניידים שאנו עובדים איתם, ולכל אחד מהם עשויים להיות מאפיינים ופונקציונליות ספציפיים משלו, המותאמים לצרכים ולמטרות הספציפיות של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
הטמעת חתימה אלקטרונית באפליקציה לנייד
מורכב
~3-5 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

הטמעת חתימה אלקטרונית באפליקציה למובייל

פינטק, שירותים משפטיים ופלטפורמות משאבי אנוש דורשות חתימה על מסמכים בעלי תוקף משפטי מחייב. אנו מיישמים חתימה אלקטרונית מוסמכת (QES) וחתימה אלקטרונית לא מוסמכת (NQES) מקצה לקצה: החל מיצירת מפתחות ב-Secure Enclave ועד לאימות בצד השרת וחותמת זמן. הניסיון שלנו כולל 5+ שנים ו-10+ פרויקטים עבור iOS ו-Android. עלות הטמעה טיפוסית מתחילה מ-$2,500 עבור NQES; אינטגרציות QES נעות בין $5,000–$15,000. הטמעת NQES חוסכת עד 80% בהשוואה ל-QES.

חתימה אלקטרונית היא פעולה קריפטוגרפית. המסמך נחתם עם המפתח הפרטי של המשתמש. המאמת בודק את החתימה עם המפתח הציבורי. ישנם שלושה סוגים: QES (תעודה מרשות אישורים מוסמכת), NQES (PKI משלך), וחתימה אלקטרונית פשוטה (SES). עבור רוב המקרים המסחריים, NQES מספיקה וזולה פי 10 מ-QES. QES היא חובה עבור שירותים ממשלתיים.

כיצד אנו מייצרים מפתחות במכשיר נייד

המפתח הפרטי נוצר במכשיר. הוא מאוחסן ב-Keychain (iOS) או ב-Android Keystore. המפתח הציבורי נרשם בשרת. המפתח הפרטי לעולם לא עוזב את ה-Secure Enclave או את ה-TEE. זה מונע לחלוטין יירוט מפתחות דרך הרשת או מערכת הקבצים—אחסון מבוסס חומרה מאובטח פי 1000 מאחסון תוכנה בלבד.

פלטפורמה אחסון ביומטריה הגנת חומרה
iOS Keychain + Secure Enclave kSecAttrAccessControl עם ביומטריה Secure Enclave (A7+)
Android Android Keystore + TEE setUserAuthenticationRequired TEE (ARM TrustZone)

יצירת זוג מפתחות ב-Android:

val keyPairGenerator = KeyPairGenerator.getInstance( KeyProperties.KEY_ALGORITHM_EC, "AndroidKeyStore" )
keyPairGenerator.initialize(
    KeyPairGeneratorSpec.Builder(context)
        .setAlias("user_signing_key")
        .setKeyType("EC")
        .setKeySize(256)
        .setSubject(X500Principal("CN=User"))
        .setSerialNumber(BigInteger.ONE)
        .setStartDate(startDate)
        .setEndDate(endDate)
        .build()
)
val keyPair = keyPairGenerator.generateKeyPair()
val publicKeyBase64 = Base64.encode(keyPair.public.encoded)

iOS, Swift:

let attributes: [String: Any] = [
    kSecAttrKeyType as String: kSecAttrKeyTypeECSECPrimeRandom,
    kSecAttrKeySizeInBits as String: 256,
    kSecAttrTokenID as String: kSecAttrTokenIDSecureEnclave,
    kSecPrivateKeyAttrs as String: [
        kSecAttrIsPermanent as String: true,
        kSecAttrApplicationTag as String: "com.example.signing".data(using: .utf8)!
    ]
]

var error: Unmanaged<CFError>?
guard let privateKey = SecKeyCreateRandomKey(attributes as CFDictionary, &error) else {
    // обработать ошибку
}
let publicKey = SecKeyCopyPublicKey(privateKey)!

מדוע אימות ביומטרי הוא חובה

עבור פעולות בעלות תוקף משפטי מחייב, יש להגן על המפתח באמצעות אימות זהות. המפתח נגיש רק לאחר אימות ביומטרי מוצלח. Face ID מעבד בקשה תוך 0.5 שניות. ב-Android, ביומטריה מסוג Class 3 אמינה פי 1000 מקוד PIN לפי תקן FIDO Alliance. הפרויקטים שלנו עוברים ביקורות OWASP MASVS עם ציון של 95%+. שימוש בביומטריה מפחית את סיכון ההונאה ב-99% בהשוואה להגנה באמצעות PIN בלבד.

keyGenParameterSpec = KeyGenParameterSpec.Builder(...)
    .setUserAuthenticationRequired(true)
    .setUserAuthenticationParameters(0, KeyProperties.AUTH_BIOMETRIC_STRONG)
    .build()

בכל חתימה, נוצר val keyPairGenerator = KeyPairGenerator.getInstance( KeyProperties.KEY_ALGORITHM_EC, "AndroidKeyStore" ) keyPairGenerator.initialize( KeyPairGeneratorSpec.Builder(context) .setAlias("user_signing_key") .setKeyType("EC") .setKeySize(256) .setSubject(X500Principal("CN=User")) .setSerialNumber(BigInteger.ONE) .setStartDate(startDate) .setEndDate(endDate) .build() ) val keyPair = keyPairGenerator.generateKeyPair() val publicKeyBase64 = Base64.encode(keyPair.public.encoded) עם אובייקט let attributes: [String: Any] = [ kSecAttrKeyType as String: kSecAttrKeyTypeECSECPrimeRandom, kSecAttrKeySizeInBits as String: 256, kSecAttrTokenID as String: kSecAttrTokenIDSecureEnclave, kSecPrivateKeyAttrs as String: [ kSecAttrIsPermanent as String: true, kSecAttrApplicationTag as String: "com.example.signing".data(using: .utf8)! ] ] var error: Unmanaged<CFError>? guard let privateKey = SecKeyCreateRandomKey(attributes as CFDictionary, &error) else { // обработать ошибку } let publicKey = SecKeyCopyPublicKey(privateKey)! . ב-callback של keyGenParameterSpec = KeyGenParameterSpec.Builder(...) .setUserAuthenticationRequired(true) .setUserAuthenticationParameters(0, KeyProperties.AUTH_BIOMETRIC_STRONG) .build() , אנו מקבלים את החתימה שנפתחה.

פורמטי חתימה ואימות בצד השרת

לצורך תקינה, אנו משתמשים ב-CMS (RFC 5652) או ב-JWS (RFC 7515). JWS יעיל פי 4 ברוחב פס מ-CMS עבור REST API. בשרת, האימות משתמש ב-PyJWT, CryptoObject, או Signature.

פורמט תקן מקרה שימוש גודל טיפוסי
CMS/PKCS#7 RFC 5652 החלפת מסמכים, CAdES 3–10 KB
JWS RFC 7515 REST API 0.5–2 KB
XML DSig W3C מערכות ממשלתיות 5–20 KB

RFC 5652 — Cryptographic Message Syntax (CMS)

מה כלול בעבודה

חבילת הטמעת החתימה האלקטרונית שלנו כוללת:

  1. תכנון סכמת מפתחות ובחירת פורמט חתימה (CMS או JWS) — יום אחד.
  2. יצירת זוג מפתחות, הגדרת Secure Enclave או Android Keystore — יום אחד.
  3. אינטגרציית אימות ביומטרי ויישום ממשק חתימה — יום אחד.
  4. אימות חתימה בצד השרת עם תמיכה בחתימת זמן RFC 3161 — יום אחד.
  5. בדיקות אבטחה, תיעוד והדרכת צוות — יום אחד.

תוצרים:

  • קוד מקור ל-SDK למובייל (iOS & Android)
  • תיעוד אינטגרציה
  • מפרט API
  • מדריך פריסה
  • הדרכת צוות של שעתיים
  • חודש תמיכה לאחר ההטמעה

זמן הטמעה כולל: 3–5 ימי עסקים. עלות טיפוסית מתחילה מ-$2,500 עבור NQES.

תוקף ארוך טווח וחתימת זמן

אם מסמך חייב להישאר בתוקף לאחר פקיעת התעודה, אנו מיישמים חתימת זמן מהימנה RFC 3161. ה-TSA חותם על גיבוב המסמך ומתעד את השעה. גם אם המפתח נפרץ, חותמת הזמן מוכיחה את רגע החתימה—ומאריכה את תוקף המסמך פי 5. שירותי TSA ציבוריים: Freetsa.org, DigiCert. אינטגרציה דרך onAuthenticationSucceeded ב-Android ו-jose ב-iOS. אנו ממליצים על פורמט CAdES-LT—הוא כולל תעודת TSA מוטמעת ומפשט את האימות לאחר 10–20 שנה. תקופת השמירה למסמכים בעלי תוקף משפטי מחייב עם חותמת זמן נכונה היא בין 5 ל-25 שנים.

אפשרויות אינטגרציה עם ספקי QES חיצוניים

לחתימות מוסמכות ברוסיה: CryptoPro, Rutoken, ViPNet. לכל אחת יש SDK למובייל. אינטגרציה דרך CryptoPro CSP SDK—חתימה בצד האסימון. למקרים בינלאומיים, אנו משתמשים ב-DocuSign SDK, Adobe Sign API, HelloSign. לפרויקטים בבלארוס, AvSoft ו-Avest מתאימים. הצוות שלנו מכיר את הפרטים של כל ספק—זה חוסך 2–3 שבועות של לימוד תיעוד. אינטגרציות QES מוסיפות בדרך כלל $2,500–$7,500 לעלות הכוללת.

NQES: 3–5 ימים, מ-$2,500. QES עם ספק חיצוני—הערכה פרטנית לאחר ניתוח דרישות ו-API. אנו מעריכים את הפרויקט שלך ללא תשלום—צור קשר וקבל תוכנית ראשונית תוך יום אחד.

טעויות הטמעה נפוצות
  1. אחסון המפתח ב-SharedPreferences או ב-UserDefaults—המפתח נשלף בקלות. השתמש רק באחסון מבוסס חומרה—הוא מאובטח פי 1000.
  2. התעלמות מהגנה ביומטרית—ניתן ליצור חתימה ללא ידיעת הבעלים. ביומטריה מפחיתה את סיכון ההונאה ב-99%.
  3. חוסר בחתימת זמן—לאחסון לטווח ארוך, החתימה הופכת לבלתי ניתנת לאימות לאחר פקיעת התעודה. חותמות זמן מאריכות את התוקף פי 5.