GovindaPaliwal / Aadhaar-Offline-KYC-Android-Library

:iphone: :star: Publish this Android library as a open source to easily implement Offline KYC using Aadhaar Secure QR Code in Android app without any external SDK and API.
http://gpfreetech.co/offline-kyc-using-aadhaar-secure-qr-code-android-library/
Apache License 2.0
9 stars 0 forks source link

How to integrate Aadhaar Paperless Offline e-KYC to java web application #1

Closed nagarjuna1304 closed 4 years ago

nagarjuna1304 commented 4 years ago

I'm doing a Java web application project, In that I want to integrate the Aadhaar Paperless Offline e-KYC verication as a part in verification process of the web app. I searched for so many solutions on the web for this, but I couldn't find any solution there.Please how to approach and how to contact, can you please let me know the process explain briefly.Thanks in advance.

I want to develop an application exactly same as below page.Please provide your suggestions to how to achieve that page. Link: https://resident.uidai.gov.in/offline-kyc

GovindaPaliwal commented 4 years ago

First check this link : https://uidai.gov.in/ecosystem/authentication-devices-documents/about-aadhaar-paperless-offline-e-kyc.html Very important thing about offline e-kyc is No Need To Call any external UIDAI api so no need to contact with them.

And you want to develop web application using offline e-kyc. So the process is user upload signed XML.zip file to your portal after that you can extract and validate this encoded XML document with UIDAI public certificate which is available on UIDAI official web site. In this step you verify the XML document is valid or not. using this you can able to display basic details and photograph of user (photograph is in jp2000 format so you can use Openjpeg lib). Note : the XML.zip is protected with user pass-code and sign with Digital Signature.

After that, you can verify user with input Mobile number and email address enter by user with already available encoded mobile number and email address in XML. So now your user is verify with the help of inputted mobile number and email address.

Optionally You also face validation by capturing face and matching against the photo within the e-KYC XML.

Or

Do OTP validation against the mobile number (resident needs to provide mobile number which can be hashed and verified against the KYC data) For this you need to contact with UIDAI check contact-support link https://uidai.gov.in/contact-support.html for OTP verification. i am not sure about this.

Or use other SMS gateway api if you want to verify and connect mobile number with user in your project.

There is no need to verify mobile number with UIDAI because main reason to introduce offline e-kyc feature for general or middle level vender is :

Before all you can check above link which is explain in details and clear.

Still if you want to more in details you can post here, i can try to explain in detail.

Thanks

nagarjuna1304 commented 4 years ago

Thank you so much for detailed explanation.

nagarjuna1304 commented 4 years ago

One more request.I'm a fresher.New to java project.Can I have any sample code for how to encrypt email and mobile number of Aadhaar XML file. Please help me on this.

I have copied code from https://www.uidai.gov.in/915-developer-section/tutorial-section/11347-offline-ekyc-sample-data.html But I could not able to encrypt mobile and email and photo.

How to encrypt my mobile number to below hashing algorithm

Example : Mobile: 1234567890 SignatureVerifierOneFile.txt Aadhaar Number:XXXX XXXX 3632 Passcode : Lock@487 Hash: Sha256(Sha256(1234567890Lock@487))*2

Note: Verified with XML encrypt mobile and I encrypted mobile number using sha 256.But those are not equal.Please help on this.

Please find the attached code for reference.

GovindaPaliwal commented 4 years ago

I will try to solve your issue. BTW if you share your java sample project code as a private repository then t easy to modify and resolve otherwise i need to create fresh sample . it required more time.

And also your DigiSign XML verify process is Done or not ?

nagarjuna1304 commented 4 years ago

I have created private repository and kept all necessary files.(If you face any issues while opening repository , please let me know. Already I have given access to you). DigiSign XML verify process is Done.

AadhaarNumber:XXXXXXXX4615 XML share code is : 1234 Repository location: https://github.com/nagarjuna1304/AadhaarOfflineKycVerification

Thank you so much for your contribution.

GovindaPaliwal commented 4 years ago

Hey

check https://github.com/GovindaPaliwal/Offline-aadhaar-e-kyc-verification-example this link. Done and resolved your issue and uploaded as a demo project. You can set your certificate path and xml information as per your structure.

nagarjuna1304 commented 4 years ago

I don't have any words to say.Thanks a lot.

nagarjuna1304 commented 4 years ago

Hi GovindaPaliwal, one more request, how to write a JP2000 format encrypted photo data(Aadhaar Paperless Offline e-KYC xml file) to image.Is there any way.If you have please provide.Thanks in advance.

nagarjuna1304 commented 4 years ago

Hi GovindaPaliwal, I resolved it. Thanks.