درگاه احراز هویت آنلاین

مشاهده سرویس ها

سرویس های هوش مصنوعی

مشاهده سرویس ها

سرویس های استعلامی

مشاهده سرویس ها

سرویس های احراز هویت

مشاهده سرویس ها

صدور امضا دیجیتال

مشاهده سرویس ها

استعلام اطلاعات شرکت

مشاهده سرویس ها

سرویس نئوبانک

مشاهده سرویس ها

سجام آنلاین

بزودی

شارژ و بسته اینترنتی

بزودی

کارگر و کارفرما

بزودی

قوه قضائیه هوشمند

بزودی

مقدمه


این مستند در بر دارنده راهنمای استفاده از Sdk Digital Signatureشرکت توسعه اطلاعات و ارتباطات آتی ساز مي باشد. این بسته نرم افزاری بر روی گوشي های همراه هوشمند با سیستم عامل های اندروید نسخه 5 به بالا و IOS نسخه 9 به بالا قابل استفاده مي باشد

معرفی

محصول پیش رو با نام تجاری (EDS) Ehrazsho Digital Signature سه هدف اصلي را دنبال ميکند:
  • ارائه سرویسهای مورد نیاز برای چرخه مدیریت هویت دیجیتال
  • استفاده از زیرساخت کلید عمومي )ذیل مرکز ریشه مورد تایید مراجع قانوني(به منظور صدور گواهي امضا الکترونیکي برای موجودیت های مستقل اعم از اشخاص حقیقي، حقوقي، تجهیزات و ...
  • ارائه سرویسهای مورد نیاز برای مدیریت اسناد یا داده / پیامها

ماژول (EDS)

ماژول های موبایلي در دو نسخه اندروید و iOS تهیه شده اند. ویژگي های بارز این ماژول عبارتند از:
  • قابلیت یکپارچه سازی در دو سیستم عامل android و iOS ارائه به صورت SDK که به راحتي در اپلیکیشنها مورد استفاده قرار ميگیرند.
  • قابلیت شخصي سازی رابط کاربری آن توسط توسعه دهندگان به صورت داینامیک به منظور توسعه این ماژول در اپلیکیشنهای دیگر

فرایندهای پیاده سازی شده در این ماژول ها عبارتند از:

  • ثبت نام اثبات هویت
  • تولید زوج کلید بر روی element secure گوشي هوشمند
  • تولید درخواست امضای گواهي و ارسال به سرور
  • ذخیره گواهي امضای الکترونیکي دریافتي و ذخیره امن آن
  • امضای داده/پیام
  • *همچنین خاطرنشان ميگردد که کاربر حتما باید بر روی گوشي خود رمز داشته باشد ( password biometrics pattern)داشته باشد در غیر این صورت به لحاظ امنیتي امکان استفاده از این ماژول برای کاربر فراهم نخواهد شد.

فرآیند پیاده سازی:

پارامتر mobile ، ماژول تنها به این شماره تلفن اجازه طي کردن فرایند ثبت نام را ميدهد.
به منظور شروع فرآیند EDS می بایست ابتدا از طریق سرور توکن و شماره درخواست گرفته شود .
برای استفاده از کتابخانه Maven با آدرس زیر را به لیست ریپوزیتوری های خود اضافه کنید:
maven { url "https://maven.itsaaz.ir/" }
سپس کتابخانه را بدین شکل به پروژه خود اضافه نمایید.
implementation 'ir.itsaaz:auther:LIB_VERSION'
مقدار LIB_VERSION را در این آدرس یتوان مشاهده کرد
https://maven.itsaaz.ir/ir/itsaaz/auther/1.6.5
سورس تست
https://maven.itsaaz.ir/test-app.rar

سرویس دریافت توکن



برای فراخوانی این سرویس مراحل زیر را طی کنید:
۱-متد فراخوانی سرویس POST می باشد.

https://api.itsaaz.ir/EKyc/AuthorizedApiToken




خروجی دریافتی

{
  {
    "data": {
      "token": "eyJhbGciOiJBMTI4S1ciLCJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwidHlwIjoiSldUIn0.
      fRl2Unhke7ReOSkPGbW3fghDsJXuUIwhnhnAZl_Pc8R4V5d5mUh56g.QJ6LwVrqzwMBibuietqrJA.
      p0FZLtPOMDrT8e0C7pP275NLsoX0W557ruv8wCJNqCBnLVKNut_FMgZX6oA13E8cyqsGXcED8c9ykJqNp80LMCBouRdbuqM
      -KZ8FmcHBNE1byR6ZDfURGp9k6vh6jyOq7jj6HaNkU2IxG9vwTZlb_
      e03o9GwQ9C2ZMbaLzhRCqW-qxpUILBcP6lfSsapwtYQA77lLLEQp1EyTw0mprmBv5BO8QHuHD7K7uC1L6mv9Ktpz216-8FvqugC7m
      _sWe2pz-jNLuwLXNsD86fL5AZPPqmvSUFpW81L-MeVzS8X8byP6Mt1R3jnzVULJlZxrqmXnTpxsuoFbjANlc0lwfvDnzCKZQGwT7s
      wbE6PR9ypwgatMLoeEnOlyk_0485-9-RwBpNqXpazeIUkpryOpi5wSm-kTagNMtHysBWdf8AgKS7ebq7L2ZP0psfbnjhit9ltWqmW
      bGy3STdmaCxXk_-Fwt1GCkMuJMXZ65yrahpZv8J27BnxSOBMHwusQb_tEkI74EPw9tX4uz_Ev9Tk0Scx- ",

      "orderId": "0dd834ed-b1d2-42c7-904b-6655951c27e8"
    },
    "meta": null,
    "error": null
  }
  

پارامترهای ورودی

ردیف پارامتر ورودی نوع ورودی توضیحات
1 username String نام کاربری
2 password String رمز عبور
3 clientId String آیدی مشتری
4 clientSecret String شناسه مشتری
4 NationalCode String کدملی فرد
5 mobile String شماره موبایل فرد
6 BirthDate String تاریخ تولد (شمسی04/05/1400)

متدهای اصلی کتابخونه

اجرای کتابخانه جهت احراز هویت با/بدون امضا دیجیتال :

      val myIntent = Intent(this, Class.forName(Signer.getStarterClass()))
      myIntent.putExtra("token", yourToken) //توکن ارسالی به کتابخانه
      myIntent.putExtra("order_id", yourOrderId)//اوردر آیدی ارسالی به کتابخانه
      myIntent.putExtra("is_sign_init", isSignInit)//اگر ترو باشد تا مرحله امضای دیجیتال میرود. اگر فالس باشد صرفا تا مرحله ارسال ویدیو جلوتر نخواهد رفت
      startActivityForResult(myIntent, libraryRequestCode) 

  
ارسال متن به کتابخانه جهت امضای دیجیتال :
 Signer.sign(supportFragmentManager, "salam", object : SignListener {
  override fun onSignDone(result: String, timeStamp: String) {
      android.util.Log.e("signer", "$result-$timeStamp")
  }
  override fun onSignError(error: String) {
      android.util.Log.e("signer", error)
  }})



ارسال متن به کتابخانه جهت امضا دیجیتال به روش CMS :
Signer.cmsSign(supportFragmentManager, "salam", object : SignListener {
  override fun onSignDone(result: String, timeStamp: String) {
  android.util.Log.e("signer", "$result-$timeStamp")
  }
  override fun onSignError(error: String) {
  android.util.Log.e("signer", error)
  }
  })  




      val orgFile = File(applicationInfo.dataDir, "my.pdf")
      val resultFile = File(applicationInfo.dataDir, "mymy.pdf")
      Signer.signPdfFile(supportFragmentManager, orgFile, resultFile, false, "just for test", "test", object : SignListener {
                    override fun onSignDone(result: String, timeStamp: String) {
                        android.util.Log.e("signer", "$result-$timeStamp")
                    }
                    override fun onSignError(error: String) {
                        android.util.Log.e("signer", error)
                    }
     })





پارامترهای ورودی

ردیف پارامتر ورودی نوع ورودی توضیحات
1 supportFragmentManager String فرگمنت منیجر
2 orgfile String فایل ورودی پی دی اف
3 resultFile String محل ذخیره سازی فایل نهایی
4 false String آیا امضای خیس روی پی دی اف درج شود؟
4 just for test String علت امضا(متن)
4 test String محل امضا(متن)

سرویس دریافت پروفایل کاربر:



برای فراخوانی این سرویس مراحل زیر را طی کنید:
۱-متد فراخوانی سرویس GET می باشد.
2-در این سرویس شما می توانید اطلاعات پروفایل کابر را توسط orderid دریافت نمایید.

https://api-ds.itsaaz.ir/api/v1/DigitalSignature/PersonInfo




خروجی دریافتی




{
  "data": {
	"orderId": "شماره درخواست",
	"status": "امضا دریافت شد",
	"personRequesterId": 7,
	"nationalCode": "کدملی",
	"firstName": "نام",
	"lastName": "نام خانوادگی",
	"enFirstName": "نام به لاتین",
	"enLastName": "نام خانوادگی به لاتین",
	"birthDate": "تاریخ تولد",
	"fatherName": "نام پدر",
	"enFatherName": "نام پدر به لاتین",
	"mobile": "شماره همراه",
	"serialNationalCard": "سریال کارت ملی",
	"nationalCardExpirationDate": تاریخ انقضای کارت ملی",
	"gender": "جنسیت",
	"identityId": "شماره شناسنامه",
	"certifIssueCity": " شهر",
	"isDead": false,
	"email": "آدرس ایمیل",
	"address": "آدرس پستی ",
	"addressInquiry": {
  	"buildingName": null,
  	"description": "توضیحات",
  	"floor": "طبقه",
  	"houseNumber":-شماره,
  	"localityCode": کدمحله,
  	"localityName": "محله",
  	"localityType": null,
  	"zipCode": "کدپستی",
  	"sideFloor": "نوع واحد",
  	"street": "خیابان ",
  	"street2": "خیابان دوم",
  	"subLocality": "نام محله",
  	"townShip": "تهران",
      "traceId": "کدپیگیری",
  	"village": null
	},
	"postalCode": "کدپستی",
	"cityTitle": "نام شهر",
	"stateTitle": "نام استان",
	"customerCode": 1,
	"jobTitle": "شغل",
	"enWorkplaceTitle": "نام شغل به انگلیسی",
       "nationalCardFrontImage": "لینک فایل تصویر روی کارت ملی",
	"nationalCardBackImage": "لینک فایل پشت عکس کارت ملی",
	"ncPersonPhoto": "لینک فایل تصویر ثبت احوال",
	"signature": " Base64 امضای دیجیتال بصورت "
	"certifFirstPageImage": "لینک فایل صفحه اول شناسنامه",
	"certifSecondPageImage": "لینک فایل صفحه دوم شناسنامه",
	"personSelfPhoto": "لینک فایل تصویر سلفی"
  },
  "meta": null,
  "error": null
}
 

  






پارامترهای ورودی

ردیف پارامتر ورودی نوع ورودی توضیحات
1 orderId String شماره درخواست

سرویس دریافت وضعیت احراز کاربر:



برای فراخوانی این سرویس مراحل زیر را طی کنید:
۱-متد فراخوانی سرویس POST می باشد.

https://api.itsaaz.ir/ekyc/personStatus




خروجی دریافتی




{
  "data": {
    "hasFinished": false,
    "status": "نام وضعیت"
  },
  "meta": null,
  "error": null
}




لیست وضعیت های احراز:



{
  "data": [
    {
      "key": "آغاز احراز",
      "value": "0"
    },
    {
      "key": "تایید موبایل",
      "value": "1"
    },
    {
      "key": "رمز یکبار مصرف تایید شده",
      "value": "2"
    },
    {
      "key": "تصاویر کارت ملی دریافت شده",
      "value": "3"
    },
    {
      "key": "سریال کارت ملی تایید شده",
      "value": "4"
    },
    {
      "key": "عکس شناسنامه دریافت شده",
      "value": "5"
    },
    {
      "key": "امضا دریافت شد",
      "value": "6"
    },
      "key": "عدم تایید عکس و ویدئو با ثبت احوال",
      "value": "7"
    },
      "key": "عکس و ویدئو شخص با اطلاعات ثبت احوال تایید شده",
      "value": "8"
    }





توسط این متد میتوان درخواست حذف فایل های کارت ملی و ... را داد لازم به ذکر است پس از انجام عملیات احراز هویت و یا انصراف از هر مرحله ای این تابع صدا زده میشود
Signer.clearData(this)
با فراخوانی این متد سرتیفیکت و کلید ها و اوردرآیدی حذف خواهد شد
Signer.logout(this)
تغییر رنگ های کتابخانه برای تغییر هر یک از رنگ های کتابخانه کافیست در color.xml خود رنگ با نام ذکر شده در جدول زیر جایگزین کنید برای مثال برای تغییر رنگ اصلی در تگ color:

 name="colorPrimary" xmlns:tools="http://schemas.android.com/tools" tools:override="true">#CC3939