Example #1
0
        public void readPassportBAC()
        {
            //OMNIKEY CardMan 5x21-CL 0



            Desko.EPass.Passport passport = Desko.EPass.Framework.Instance.GetPassport("DESKO GmbH SmartCard Reader 0", Desko.EPass.Types.ShareMode.Exclusive);



            //  Desko.EPass.Passport passport = Desko.EPass.Framework.Instance.GetPassport(cihaz, Desko.EPass.Types.ShareMode.Exclusive);


            try
            {
                if (passport == null)
                {
                    //Console.WriteLine("Error! Passport is null");
                    MessageBox.Show("DESKO YOK");

                    return;
                }

                try
                {
                    // Enter printed MRZ for accessing the passport
                    // Console.WriteLine("Enter MRZ of passport...");
                    String mrz = richTextBox1.Text;
                    //Console.WriteLine("");


                    // Perform initialization and authentication


                    passport.Initialize(Desko.EPass.Types.ShareMode.Direct);
                    passport.Authenticate(Desko.EPass.Types.AuthenticationType.BAC, (mrzl[0].ToString() + mrzl[1].ToString()), Desko.EPass.Types.SecretType.MRZ);


                    // Print passport details
                    // Console.WriteLine("EAC Support: {0} / AccessProtocol: {1} / ATR: {2}", passport.PassportInformation.EacVersion, passport.PassportInformation.AccessProtocol, passport.GetATR());


                    // Print available datagroups (stored in File COM)
                    int[] datagroups = passport.GetDatagroups(Desko.EPass.Types.FileType.COM);
                    // Console.WriteLine("Available datagroups:");
                    for (int i = 0; i < datagroups.Length; i++)
                    {
                        //Console.Write("{0}{1}", datagroups[i], (i == datagroups.Length - 1 ? System.Environment.NewLine + System.Environment.NewLine : ","));
                        label14.Text += datagroups[i].ToString() + "--";
                    }


                    // Read and print MRZ of RFID chip from DG1
                    String chipMrz = passport.GetMrz(1);
                    //   Console.WriteLine("MRZ on chip:{0},{1},{2}", System.Environment.NewLine, chipMrz, System.Environment.NewLine);

                    Clipboard.SetText(chipMrz);
                    MessageBox.Show("Test");

                    // Read and save facial image of RFID chip from DG2
                    // Could be more images in one DG -> choose the first image of array
                    Desko.EPass.BiometricImage chipImg = (passport.GetImages(2))[0];

                    if (chipImg != null)
                    {
                        // Console.WriteLine("Facial image on chip:");
                        //Console.WriteLine("Format: {0} / Subtype: {1}", chipImg.Format, chipImg.Subtype);

                        // Convert to PNG
                        chipImg = Desko.EPass.Framework.Instance.ConvertImage(chipImg, Desko.EPass.Types.ImageFormat.Png);

                        // BiometricImage contains a System.Drawing.Image...
                        System.Drawing.Image img = chipImg.Image;

                        // ... with this System.Drawing.Image object storing is made straightforward
                        img.Save(Path.Combine(Path.GetTempPath(), "chipImage.png"));

                        pictureBox1.Image = img;
                        //label2.Text = passport.GetPersonalDetails().FullName;
                        //label3.Text = passport.GetPersonalDetails().PlaceOfBirth;
                        //label4.Text = passport.GetPersonalDetails().PersonalNumber;
                        //label5.Text = passport.GetPersonalDetails().DocNumber;
                        //label6.Text = passport.GetPersonalDetails().Profession;
                        //label7.Text = passport.GetPersonalDetails().PermanentAddress;
                        //label9.Text = passport.GetPersonalDetails().DateOfBirth;
                        //label10.Text = passport.PassportInformation.EacVersion.ToString();
                        //label11.Text = passport.PassportInformation.AccessProtocol.ToString();
                        ////label12.Text = passport.GetDocumentDetails().IssuingAuthority;
                        //label13.Text = passport.GetDocumentDetails().DateOfIssue;

                        // MessageBox.Show(passport.GetPersonalDetails().DateOfBirth.ToString());
                        //MessageBox.Show(passport.GetPersonalDetails().FullName);
                        label25.Text = passport.GetPersonalDetails().FullName.ToString();
                        // label26.Text= passport.GetPersonalDetails().OtherNames.ToString();
                        label27.Text = passport.GetPersonalDetails().PersonalNumber.ToString();
                        byte[] sonuc = passport.ReadDatagroup(11);

                        string result = System.Text.Encoding.UTF8.GetString(sonuc);

                        richTextBox3.Text = result;



                        //MessageBox.Show(passport.PassportInformation.EacVersion.ToString());
                    }
                }
                finally
                {
                    passport.Release();
                }
            }
            catch (Exception m)
            {
                MessageBox.Show(m.Message);
            }
        }
Example #2
0
        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                Desko.EPass.Passport passport = Desko.EPass.Framework.Instance.GetPassport("DESKO GmbH SmartCard Reader 0", Desko.EPass.Types.ShareMode.Exclusive);

                passport.Initialize(Desko.EPass.Types.ShareMode.Shared);
                string fullmrz = mrzl[0] + mrzl[1];


                string gercsca    = @"C:\Users\hayreddin.bas\Documents\PASAPORT_SERTIFIKA_EGM_CALISMA\PROD\CSCAV1DER.cer";
                string gercscacer = @"C:\Users\hayreddin.bas\Documents\PASAPORT_SERTIFIKA_EGM_CALISMA\PROD\CSCAV1.cer";
                string gercscacrt = @"C:\Users\hayreddin.bas\Documents\PASAPORT_SERTIFIKA_EGM_CALISMA\PROD\CSCAV1DER.crt";

                string oldcsca = @"C:\Users\hayreddin.bas\Desktop\tubitak toplantı\CSCA-2016\CSCA2016DER.cer";

                string testyencsca = @"C:\Users\hayreddin.bas\Desktop\keys\pasaport sertifikaları\TEST\TESTCSCADER.cer";

                string link = @"D:\dışişleri\Link.cer";

                string bulg = @"C:\Users\hayreddin.bas\Downloads\bg_csca_16042014\bulg.cer";


                string certson = @"C:\Users\hayreddin.bas\Desktop\RSA PROD\RSADERCSCA.cer";


                string named = @"C:\Users\hayreddin.bas\Documents\muhammet-CSCALAR\csca - named.der";

                string expl = @"C:\Users\hayreddin.bas\Documents\muhammet-CSCALAR\csca - explicit.der";


                string CSCA_SON = @"C:\Users\hayreddin.bas\Desktop\keys\pasaport sertifikaları\PROD\CSCATR_S1.cer";

                string Link_Son = @"C:\Users\hayreddin.bas\Desktop\keys\pasaport sertifikaları\PROD\CSCA-link-certificate2016-2018.crl";

                string DVCA = @"C:\Users\hayreddin.bas\Documents\silnecekprod\TRDVCAEPASS.cvc";

                string iscert = @"C:\Users\hayreddin.bas\Documents\yeni_is\16.cvc";

                string is_key = @"C:\Users\hayreddin.bas\Documents\yeni_is\pk2.pkcs8";

                Desko.EPass.Framework fr = new Desko.EPass.Framework();
                fr.TerminalAuthenticationMode = Desko.EPass.Types.TerminalAuthenticationMode.LocalStorage;
                fr.PassiveAuthenticationMode  = Desko.EPass.Types.PassiveAuthenticationMode.LocalStorage;
                // Desko.EPass.Framework.Instance.PassiveAuthenticationMode = Desko.EPass.Types.PassiveAuthenticationMode.LocalStorage;
                //Desko.EPass.Framework.Instance.TerminalAuthenticationMode = Desko.EPass.Types.TerminalAuthenticationMode.LocalStorage;

                //TerminalType type = new TerminalType();
                //type = TerminalType.AuthenticationTerminal;
                //device.AbortLongTermOperation();



                Desko.EPass.Certificates.Certificate CSCA_SONN = new Desko.EPass.Certificates.X509Certificate(StreamFile(gercsca)); //success

                Desko.EPass.Certificates.Certificate csca_expl = new Desko.EPass.Certificates.X509Certificate(StreamFile(expl));    //success

                Desko.EPass.Certificates.Certificate CSCA_named = new Desko.EPass.Certificates.X509Certificate(StreamFile(named));  //success

                Desko.EPass.Certificates.Certificate   DVCA_cert = new Desko.EPass.Certificates.CvCertificate(StreamFile(DVCA));
                Desko.EPass.Certificates.CvCertificate is_certf  = new Desko.EPass.Certificates.CvCertificate(StreamFile(iscert));



                Desko.EPass.CertificateStore.Instance.AddCertificate(CSCA_SONN);
                Desko.EPass.CertificateStore.Instance.AddCertificate(DVCA_cert);
                Desko.EPass.CertificateStore.Instance.AddCertificate(is_certf);

                byte[] pk1 = FileToByteArray(is_key);

                //Desko.EPass.Certificates.CvCertificate cert = new Desko.EPass.Certificates.CvCertificate(pk);
                // Desko.EPass.Certificates.CvCertificate cert1 = new Desko.EPass.Certificates.CvCertificate(pk1);
                // Desko.EPass.CertificateStore.Instance.AddCertificate(cert1);

                is_certf.SetCertificateKey(pk1);

                //successs


                Desko.EPass.CertificateStore.Instance.SaveCertificateDatabase("certdb1");
                // Desko.EPass.CertificateStore.Instance.LoadCertificateDatabase("certdb1");



                // byte[] pk = FileToByteArray(testcert4);

                //certificate1.GetChildCertificates();


                // string pks = System.Text.Encoding.UTF8.GetString(pk);

                //  text_mrz = "P<TURKARADEMIR<<APTI<<<<<<<<<<<<<<<<<<<<<<<<PL19827683TUR6306243M200214512345678901<<<00";

                passport.Authenticate(Desko.EPass.Types.AuthenticationType.BAC, fullmrz, Desko.EPass.Types.SecretType.MRZ); //-->BAC

                // passport.PerformTerminalAuthentication();
                passport.PerformChipAuthentication();
                passport.Authenticate(Desko.EPass.Types.AuthenticationType.PACE, fullmrz, Desko.EPass.Types.SecretType.MRZ);//-->SAC
                label11.Text = passport.PassportInformation.AccessProtocol.ToString();
                //45947186788



                //  passport.SetMaxAPDUSize(512);

                //////string aa = passport.PassportInformation.AccessProtocol.ToS0ö2tring();label26



                //--------------------------BUARADA SUCCESS DÖNMESİ LAZIM-------------------------


                // MessageBox.Show(aa);

                //  passport.PerformTerminalAuthentication();
                // List<Desko.EPass.Certificates.RawCertificate> cers = new List<Desko.EPass.Certificates.RawCertificate>();



                //cers.Add(new De);
                Desko.EPass.FileAuthenticationResults result = passport.CheckFileSignature(Desko.EPass.Types.FileType.SOD);

                MessageBox.Show(result.FileSignatureCheck.ToString());

                //label15.Text ="Cert sign check="+ result.DocumenttSignerCertificateSignatureCheck.ToString();
                label19.Text = "DOCUMENTSİGNERTRUESTSTATUS=" + result.DocumentSignerTrustStatus.ToString();
                label20.Text = "COUNTRY SIGNER CERTIFICATE VALIDTY: " + result.CountrySignerCertificateValidity.ToString();
                label21.Text = "DOCUMENT SIGNER CERT VALIDTY:" + result.DocumentSignerCertificateValidity.ToString();
                label22.Text = "DOCUMENT SIGNER TRUST STAT:" + result.DocumentSignerTrustStatus.ToString();
                label23.Text = "FILE SIGNATURE CHECK: " + result.FileSignatureCheck.ToString();;


                Desko.EPass.Certificates.RawCertificate certificate = passport.GetDocumentSignerCertificate(Desko.EPass.Types.FileType.SOD);
                File.WriteAllBytes("certDS2NewPROD", certificate.RawData);



                passport.Release();
            }
            catch (Exception m)
            {
                MessageBox.Show(m.Message);
            }
        }