示例#1
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;
                }
            }
        }
示例#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.False(integrityTest.Verify(testdata, signeddata,
         dataTest.GetCertificateAuthenticationFile()));
     Assert.True(integrityTest.Verify(testdata, signeddata,
         dataTest.GetCertificateSignatureFile()));
 }
示例#3
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()));
        }
示例#4
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();
        }