Example #1
0
        public string upgradeToEST(String signedEReceteFilePath)
        {
            LisansHelper.loadLicense();
            String retSignedXmlPath = null;

            try
            {
                //create context with working dir
                string       currentDirectory = Directory.GetCurrentDirectory();
                Context      context          = new Context(currentDirectory);
                XMLSignature signature        = XMLSignature.parse(new FileDocument(new FileInfo(signedEReceteFilePath)), context);
                signature.upgradeToXAdES_T();
                FileInfo sourceFileInfo = new FileInfo(signedEReceteFilePath);
                string   destDirPath    = sourceFileInfo.Directory.FullName;
                retSignedXmlPath = destDirPath + "/" + sourceFileInfo.Name.Replace(".xsig", "_EST.xsig");
                FileStream signatureFileStream = new FileStream(retSignedXmlPath, FileMode.Create);
                signature.write(signatureFileStream);
                signatureFileStream.Close();
            }
            catch (XMLSignatureException exc)
            {
                // cant create signature
                MesajiIsle("Hata Oluştu." + exc.Message, 1);
            }
            catch (Exception exc)
            {
                // probably couldn't write to the file
                MesajiIsle("Hata Oluştu." + exc.Message, 1);
            }
            return(retSignedXmlPath);
        }
Example #2
0
        public string addSerialSignature(String signedEReceteFilePath)
        {
            LisansHelper.loadLicense();
            String retSignedXmlPath = null;

            try
            {
                //create context with working dir
                string       currentDirectory = Directory.GetCurrentDirectory();
                Context      context          = new Context(currentDirectory);
                XMLSignature signature        = XMLSignature.parse(new FileDocument(new FileInfo(signedEReceteFilePath)), context);

                // create counter signature
                XMLSignature counterSignature = signature.createCounterSignature();
                counterSignature.SigningTime = DateTime.Now;

                // sign
                // add certificate to show who signed the document
                KeyOrSmartCardSignManager keyOrSmartCardSignManager = KeyOrSmartCardSignManager.Instance;
                ECertificate signingCert = keyOrSmartCardSignManager.getSigningCertificate();

                counterSignature.addKeyInfo(signingCert);
                // now sign it by using smart card
                // now sign it
                BaseSigner baseSigner = keyOrSmartCardSignManager.getSigner(signingCert);
                counterSignature.sign(baseSigner);


                FileInfo sourceFileInfo = new FileInfo(signedEReceteFilePath);
                string   destDirPath    = sourceFileInfo.Directory.FullName;
                retSignedXmlPath = destDirPath + "/" + sourceFileInfo.Name.Replace(".xsig", "_Counter.xsig");
                FileStream signatureFileStream = new FileStream(retSignedXmlPath, FileMode.Create);
                signature.write(signatureFileStream);
                signatureFileStream.Close();
            }
            catch (XMLSignatureException exc)
            {
                // cant create signature
                MesajiIsle("Hata Oluştu." + exc.Message, 1);
            }
            catch (Exception exc)
            {
                // probably couldn't write to the file
                MesajiIsle("Hata Oluştu." + exc.Message, 1);
            }
            return(retSignedXmlPath);
        }
Example #3
0
        public string verifySignature(String signedEReceteFilePath)
        {
            String retStr = null;

            try
            {
                //create context with working dir
                string  currentDirectory = Directory.GetCurrentDirectory();
                Context context          = new Context(currentDirectory);

                XMLSignature signature = XMLSignature.parse(new FileDocument(new FileInfo(signedEReceteFilePath)), context);

                ValidationResult vr = signature.verify();
                System.Console.Out.WriteLine(vr.toXml());
                retStr = vr.toXml();
                //Seri imzalar için

                /*
                 * UnsignedSignatureProperties usp = signature.QualifyingProperties.UnsignedSignatureProperties;
                 * if (usp != null)
                 * {
                 *  IList<XMLSignature> allCounterSignatures = usp.AllCounterSignatures;
                 *  foreach (XMLSignature counterSignature in allCounterSignatures)
                 *  {
                 *      ValidationResult counterResult = counterSignature.verify();
                 *      System.Console.Out.WriteLine(counterResult.toXml());
                 *  }
                 * }*/
            }
            catch (XMLSignatureException exc)
            {
                // cant create signature
                MesajiIsle("Hata Oluştu." + exc.Message, 1);
            }
            catch (Exception exc)
            {
                // probably couldn't write to the file
                MesajiIsle("Hata Oluştu." + exc.Message, 1);
            }
            return(retStr);
        }