Ejemplo n.º 1
0
 public void SignSignature()
 {
     // Sign
     Sign signTest = new Sign("beidpkcs11.dll");
     byte[] testdata = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8 };
     byte[] signeddata = signTest.DoSign(testdata, "Signature");
     Assert.IsNotNull(signeddata);
     // Verification
     ReadData dataTest = new ReadData("beidpkcs11.dll");
     Integrity integrityTest = new Integrity();
     Assert.False(integrityTest.Verify(testdata, signeddata,
         dataTest.GetCertificateAuthenticationFile()));
     Assert.True(integrityTest.Verify(testdata, signeddata,
         dataTest.GetCertificateSignatureFile()));
 }
Ejemplo n.º 2
0
        public void SignSignature()
        {
            // Sign
            Sign signTest = new Sign("beidpkcs11.dll");

            byte[] testdata   = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8 };
            byte[] signeddata = signTest.DoSign(testdata, "Signature");
            Assert.IsNotNull(signeddata);
            // Verification
            ReadData  dataTest      = new ReadData("beidpkcs11.dll");
            Integrity integrityTest = new Integrity();

            Assert.IsFalse(integrityTest.Verify(testdata, signeddata,
                                                dataTest.GetCertificateAuthenticationFile()));
            Assert.IsTrue(integrityTest.Verify(testdata, signeddata,
                                               dataTest.GetCertificateSignatureFile()));
        }
Ejemplo n.º 3
0
 public void IntegrityIdentityFileWrongSignature()
 {
     ReadData dataTest = new ReadData("beidpkcs11.dll");
     Integrity integrityTest = new Integrity();
     byte[] idFile = dataTest.GetIdFile();
     byte[] idSignatureFile = dataTest.GetAddressSignatureFile();
     byte[] certificateRRN = dataTest.GetCertificateRNFile();
     Assert.False(integrityTest.Verify(idFile, idSignatureFile, certificateRRN));
 }
Ejemplo n.º 4
0
 public void IntegrityFails()
 {
     ReadData dataTest = new ReadData("beidpkcs11.dll");
     Integrity integrityTest = new Integrity();
     byte[] idFile = dataTest.GetIdFile();
     byte[] idSignatureFile = dataTest.GetIdSignatureFile();
     byte[] certificateRRN = null;
     Assert.False(integrityTest.Verify(idFile, idSignatureFile, certificateRRN));
 }
Ejemplo n.º 5
0
        public void IntegrityIdentityFileWrongCertificate()
        {
            ReadData  dataTest      = new ReadData("beidpkcs11.dll");
            Integrity integrityTest = new Integrity();

            byte[] idFile          = dataTest.GetIdFile();
            byte[] idSignatureFile = dataTest.GetIdSignatureFile();
            byte[] certificateRoot = dataTest.GetCertificateRootFile();
            Assert.False(integrityTest.Verify(idFile, idSignatureFile, certificateRoot));
        }
Ejemplo n.º 6
0
        public void IntegrityFails()
        {
            ReadData  dataTest      = new ReadData("beidpkcs11.dll");
            Integrity integrityTest = new Integrity();

            byte[] idFile          = dataTest.GetIdFile();
            byte[] idSignatureFile = dataTest.GetIdSignatureFile();
            byte[] certificateRRN  = null;
            Assert.False(integrityTest.Verify(idFile, idSignatureFile, certificateRRN));
        }
Ejemplo n.º 7
0
        public void IntegrityIdentityFile()
        {
            ReadData  dataTest      = new ReadData("beidpkcs11.dll");
            Integrity integrityTest = new Integrity();

            byte[] idFile          = dataTest.GetIdFile();
            byte[] idSignatureFile = dataTest.GetIdSignatureFile();
            byte[] certificateRRN  = dataTest.GetCertificateRNFile();
            Assert.IsTrue(integrityTest.Verify(idFile, idSignatureFile, certificateRRN));
        }
Ejemplo n.º 8
0
        private void btnSign_Click(object sender, RoutedEventArgs e)
        {
            lblConfirmation.Visibility = Visibility.Hidden;

            // Show loading message
            lblLoading.Visibility = Visibility.Visible;

            Sign sign = new Sign();

            byte[] dummyPDFBytes      = File.ReadAllBytes(fullPath + FILE_NAME);
            byte[] signedDataBytes    = null;
            bool   signedSuccessfully = false;

            try
            {
                signedDataBytes  = sign.DoSign(dummyPDFBytes, SIGN_LABEL);
                certificateBytes = rd.GetCertificateSignatureFile();

                integrity          = new Integrity();
                signedSuccessfully = integrity.Verify(dummyPDFBytes, signedDataBytes, certificateBytes);
            }
            catch (EIDNotFoundException eidnfe)
            {
                ShowMessageBoxEIDNotFound(eidnfe);
            }
            catch (VerificationException ve)
            {
                MessageBox.Show(ve.Message, "Verificatiefout", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            catch (SignatureCanceledException sce)
            {
                MessageBox.Show(sce.Message, "Digitale handtekening geannuleerd", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            finally
            {
                HideLoadingMessage();
            }

            if (signedDataBytes != null && signedSuccessfully)
            {
                signed = sign.SignPhysically(fullPath, firstnames, surname, integrity.SerialNumber);
                ReadPDF();
                HideLoadingMessage();


                if (signed)
                {
                    lblConfirmation.Content    = $"Digitaal getekend op {DateTime.Now}.";
                    lblConfirmation.Visibility = Visibility.Visible;
                }
            }
        }
Ejemplo n.º 9
0
 public void IntegrityAddressFile()
 {
     ReadData dataTest = new ReadData("beidpkcs11.dll");
     Integrity integrityTest = new Integrity();
     byte[] addressFile = trimRight(dataTest.GetAddressFile());
     byte[] idSignatureFile = dataTest.GetIdSignatureFile();
     byte[] concatFiles = new byte[addressFile.Length + idSignatureFile.Length];
     Array.Copy(addressFile, 0, concatFiles, 0, addressFile.Length);
     Array.Copy(idSignatureFile, 0, concatFiles, addressFile.Length, idSignatureFile.Length);
     byte[] addressSignatureFile = dataTest.GetAddressSignatureFile();
     byte[] certificateRRN = dataTest.GetCertificateRNFile();
     Assert.True(integrityTest.Verify(concatFiles, addressSignatureFile, certificateRRN));
 }
Ejemplo n.º 10
0
        public void IntegrityAddressFile()
        {
            ReadData  dataTest      = new ReadData("beidpkcs11.dll");
            Integrity integrityTest = new Integrity();

            byte[] addressFile     = trimRight(dataTest.GetAddressFile());
            byte[] idSignatureFile = dataTest.GetIdSignatureFile();
            byte[] concatFiles     = new byte[addressFile.Length + idSignatureFile.Length];
            Array.Copy(addressFile, 0, concatFiles, 0, addressFile.Length);
            Array.Copy(idSignatureFile, 0, concatFiles, addressFile.Length, idSignatureFile.Length);
            byte[] addressSignatureFile = dataTest.GetAddressSignatureFile();
            byte[] certificateRRN       = dataTest.GetCertificateRNFile();
            Assert.True(integrityTest.Verify(concatFiles, addressSignatureFile, certificateRRN));
        }
Ejemplo n.º 11
0
        static void Main(string[] args)
        {
            Settings.SetLanguage(Settings.Language.fr);

            ReadData data = new ReadData();


            //System.Security.Cryptography.X509Certificates.X509Certificate2 cert = new System.Security.Cryptography.X509Certificates.X509Certificate2(data.GetCertificateAuthenticationFile());

            /*
             *
             * // Parsed from data file
             *
             * data.GetAndTestIdFile();
             *
             * Console.WriteLine(data.GetFirstnames());
             *
             * Console.WriteLine(data.GetSurname());
             *
             * Console.WriteLine(data.GetDateOfBirth());
             *
             * //Console.WriteLine(data.GetBasicKeyHash()); // Applet 1.8
             *
             * Console.WriteLine(data.GetBrexitMention1());
             *
             * Console.WriteLine(data.GetBrexitMention2());
             *
             * Console.WriteLine(data.GetCardNumber());
             *
             * Console.WriteLine(data.GetChipNumber());
             *
             * Console.WriteLine(data.GetDateAndCountryOfProtection());
             *
             * Console.WriteLine(data.GetDocumentType());
             *
             * Console.WriteLine(data.GetDuplicata());
             *
             * Console.WriteLine(data.GetEmployerVat1());
             *
             * Console.WriteLine(data.GetEmployerVat2());
             *
             * Console.WriteLine(data.GetFirstLetterOfThirdGivenName());
             *
             * Console.WriteLine(data.GetGender());
             *
             * Console.WriteLine(data.GetIssuingMunicipality());
             *
             * Console.WriteLine(data.GetLocationOfBirth());
             *
             * Console.WriteLine(data.GetMemberOfFamily());
             *
             * Console.WriteLine(data.GetNationality());
             *
             * Console.WriteLine(data.GetNationalNumber());
             *
             * Console.WriteLine(data.GetNobility());
             *
             * Console.WriteLine(data.GetPhotoHash());
             *
             * Console.WriteLine(data.GetRegionalFileNumber());
             *
             * Console.WriteLine(data.GetSpecialOrganization());
             *
             * Console.WriteLine(data.GetSpecialStatus());
             *
             * Console.WriteLine(data.GetValidityBeginDate());
             *
             * Console.WriteLine(data.GetValidityEndDate());
             *
             * Console.WriteLine(data.GetWorkPermitMention());
             *
             *
             * // Parsed from address file
             *
             * Console.WriteLine(data.GetAddressMunicipality());
             *
             * Console.WriteLine(data.GetAddressStreetAndNumber());
             *
             * Console.WriteLine(data.GetAddressZip());
             *
             * // Card info
             *
             * Console.WriteLine(data.GetCardSerialNumber());
             *
             * Console.WriteLine(data.GetCardAppletVersion());
             *
             * Console.WriteLine(data.GetCardAppletIntVersion());
             *
             * Console.WriteLine(data.GetCardAppletLifeCycle());
             *
             * Console.WriteLine(data.GetCardCompCode());
             *
             * Console.WriteLine(data.GetCardGlobOSVersion());
             *
             * Console.WriteLine(data.GetCardKeyExchangeVersion());
             *
             * Console.WriteLine(data.GetCardOSNumber());
             *
             * Console.WriteLine(data.GetCardOSVersion());
             *
             * Console.WriteLine(data.GetCardPKCS15Version());
             *
             * Console.WriteLine(data.GetCardPKCS1Support());
             *
             * Console.WriteLine(data.GetCardSoftMaskNumber());
             *
             * Console.WriteLine(data.GetCardSoftMaskVersion());
             *
             * //Console.WriteLine(data.GetCardSignature()); // NOT YET AVAILABLE
             */
            // Test electronic signature

            Integrity integrity = new Integrity();
            Sign      signer    = new Sign();

            string ASigner = "Hello World";

            var signed = signer.DoSign(Encoding.ASCII.GetBytes(ASigner), "Signature");

            var verif = integrity.Verify(Encoding.ASCII.GetBytes(ASigner), signed, data.GetCertificateSignatureFile());

            Console.ReadLine();
        }