Merhaba,

Aşağıdaki kod parçası ve konfigurasyonla zaman damgası oluşturmaya çalışıyorum:

    TimestampConfig tsConfig = context.Config.TimestampConfig;
    SignatureTimeStamp st = new SignatureTimeStamp(context, signature, tsConfig.DigestMethod, tsConfig.Settings);
    signature.QualifyingProperties.createOrGetUnsignedProperties().UnsignedSignatureProperties.addSignatureTimeStamp(st);

xmlsignature-config.xml:

<timestamp-server>
    <host>http://tzd.kamusm.gov.tr</host>
    <digest-alg>SHA-256</digest-alg>       
    <userid>username</userid>
    <password>password</password>
</timestamp-server>
<validation>
    <policy>
      <find>
        <trustedcertificate>
          <class name="tr.gov.tubitak.uekae.esya.api.certificate.validation.find.certificate.trusted.TrustedCertificateFinderFromFileSystem">
            <param name="dizin" value="C:\\Certificates"/>
          </class>
        </trustedcertificate>
      </find>
    </policy>

C:\Certificates dizininin altına http://www.kamusm.gov.tr/depo/sertifikalar/diger.jsp ve http://www.kamusm.gov.tr/depo/sertifikalar/depo.jsp sayfalarındaki tüm sertifikaları indirmeme rağmen aşağıdaki şekilde bir hata alıyorum:

Zaman damgası SignatureTimeStamp doğrulanamadı, çünkü Sertifika Zinciri Sorunlu. Güvendiğiniz bir sertifika zinciri oluşturulamadı. Sertifikanın kök sertifikası güvenilir sertifikalarınızdan biri olmayabilir.

Eklemem ya da güncellemem gereken başka bir konfigurasyon mu bulunuyor? Yardımcı olursanız sevinirim.

İyi çalışmalar,

soruldu: 04 Ara '14, 10:38

anilcax's gravatar image

anilcax
71447
cevap kabul oranı: 0%


Öncelikle bu adresten zaman damgası için olan sertifikalardan birini indirmen yeterli hepsini indimene gerek yok.

xml-signature-config.xml dosyasında aşağıdaki tag olmalıdır.

<validation>

   <certificate-validation-policy-file for="TimeStampingCertificate">policy_file_path</certificate-validation-policy-file>
</validation>

policy_ file_path yazan yere sendeki policy file 'ın yolunu girmelisin.

permanent link

cevaplandı: 05 Ara '14, 02:04

M%C3%BCsl%C3%BCm%20%C3%96ZT%C3%9CRK's gravatar image

Müslüm ÖZTÜRK
10.6k103690
cevap kabul oranı: 28%

Merhaba bende dizin degiskeni ile ilgili cok sorun yasadim. svt surekli hata verdi sqlite dan dolayi, o yuzden xml i de ekledim ve config xml surekli app path inden documents klasorundeki kendi uygulama ayar klasorume kopyaladim ve ardindan duzenleme yaparak guncelledim. Conn kullandigim degiskenleri tutan classdir.

Conn.ROOT_DIR="c:/users/USERNAME/documents/efatura/" Conn.APP_PATH="c:/users/USERNAME/appdata/local/apps/2.0/appguid/"

kullandigim config xml ler https://mega.co.nz/#!LAJDwCCb!yp5q0bKpTrre0ED0iiR12Gd07zy7l7lOjTYWoxA-eKY

       public static void PrepareXmlSignatureConfig()
        {
            //http://depo.kamusm.gov.tr/depo/SertifikaDeposu.svt
            //http://depo.kamusm.gov.tr/depo/SertifikaDeposu.xml
            try
            {
                XmlWriterSettings settings = new XmlWriterSettings();
                settings.NewLineChars = "\\r\\n";
                settings.Indent = true;
                settings.IndentChars = "\\t";
                settings.NewLineChars = "\\r\\n";
                settings.NewLineHandling = NewLineHandling.Replace;

                string xmlFileName = Conn.ROOT_DIR + "efatura\\\\config\\\\xmlsignature-config.xml";
                try
                {
                    XmlDocument xdoc = new XmlDocument();
                    xdoc.Load(xmlFileName);
                    XmlElement cnf = (XmlElement)xdoc.GetElementsByTagName("xml-signature-config").Item(0);
                    XmlElement vl = (XmlElement)cnf.GetElementsByTagName("validation").Item(0);
                    XmlElement pol1 = (XmlElement)vl.GetElementsByTagName("certificate-validation-policy-file").Item(0);
                    XmlElement pol2 = (XmlElement)vl.GetElementsByTagName("certificate-validation-policy-file").Item(1);
                    pol1.InnerText = Conn.ROOT_DIR + "efatura\\\\config\\\\certval-policy.xml";
                    pol2.InnerText = Conn.ROOT_DIR + "efatura\\\\config\\\\certval-policy-malimuhur.xml";
                    using (XmlWriter writer = XmlWriter.Create(xmlFileName, settings))
                    {
                        try
                        {
                            xdoc.WriteTo(writer);
                            writer.Flush();
                            writer.Close();

                        }
                        catch (Exception e)
                        {
                            writer.Close();
                        }
                    }
                }
                catch (Exception e1)
                {
                }

                xmlFileName = Conn.ROOT_DIR + "efatura\\\\config\\\\certval-policy.xml";
                try
                {
                    XmlDocument xdoc = new XmlDocument();
                    xdoc.Load(xmlFileName);

                    XmlElement pl1 = (XmlElement)xdoc.GetElementsByTagName("policy").Item(0);
                    XmlElement fi1 = (XmlElement)pl1.GetElementsByTagName("find").Item(0);
                    XmlElement tc1 = (XmlElement)fi1.GetElementsByTagName("trustedcertificate").Item(0);
                    XmlElement cl1 = (XmlElement)tc1.GetElementsByTagName("class").Item(1);
                    XmlElement pr1 = (XmlElement)cl1.GetElementsByTagName("param").Item(0);
                    pr1.SetAttribute("value",Conn.ROOT_DIR + "efatura\\\\config\\\\trusted\\\\");
                    XmlElement cl2 = (XmlElement)tc1.GetElementsByTagName("class").Item(2);
                    XmlElement cl2p2 = (XmlElement)cl2.GetElementsByTagName("param").Item(1);
                    cl2p2.SetAttribute("value", Conn.ROOT_DIR + "efatura\\\\config\\\\trusted\\\\SertifikaDeposu.xml");
                    using (XmlWriter writer = XmlWriter.Create(xmlFileName, settings))
                    {
                        try
                        {
                            xdoc.WriteTo(writer);
                            writer.Flush();
                            writer.Close();

                        }
                        catch (Exception e)
                        {
                            writer.Close();
                        }
                    }
                }
                catch (Exception e2)
                {

                }

                xmlFileName = Conn.ROOT_DIR + "efatura\\\\config\\\\certval-policy-malimuhur.xml";
                try
                {
                    XmlDocument xdoc = new XmlDocument();
                    xdoc.Load(xmlFileName);

                    XmlElement pl1 = (XmlElement)xdoc.GetElementsByTagName("policy").Item(0);
                    XmlElement fi1 = (XmlElement)pl1.GetElementsByTagName("find").Item(0);
                    XmlElement tc1 = (XmlElement)fi1.GetElementsByTagName("trustedcertificate").Item(0);
                    XmlElement cl1 = (XmlElement)tc1.GetElementsByTagName("class").Item(1);
                    XmlElement pr1 = (XmlElement)cl1.GetElementsByTagName("param").Item(0);
                    pr1.SetAttribute("value", Conn.ROOT_DIR + "efatura\\\\config\\\\trusted\\\\");
                    XmlElement cl2 = (XmlElement)tc1.GetElementsByTagName("class").Item(2);
                    XmlElement cl2p2 = (XmlElement)cl2.GetElementsByTagName("param").Item(1);
                    cl2p2.SetAttribute("value", Conn.ROOT_DIR + "efatura\\\\config\\\\trusted\\\\SertifikaDeposu.xml");
                    using (XmlWriter writer = XmlWriter.Create(xmlFileName, settings))
                    {
                        try
                        {
                            xdoc.WriteTo(writer);
                            writer.Flush();
                            writer.Close();

                        }
                        catch (Exception e)
                        {
                            writer.Close();
                        }
                    }
                }
                catch (Exception e3)
                {

                }
                settings = null;
            }
            catch (Exception ex)
            {

            }
        }
permanent link

cevaplandı: 04 Ara '14, 10:53

sabri_arslan's gravatar image

sabri_arslan
511
cevap kabul oranı: 0%

değiştirildi: 04 Ara '14, 10:56

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×238
×4
×4
×4
×2

Soruldu: 04 Ara '14, 10:38

Görüntüleme: 2,168 kez

Son güncelleme: 05 Ara '14, 02:04

powered by BitNami OSQA