🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi
16 messages
16 total messages Started by kameleonsql Wed, 17 Aug 2016 07:28
Obsługa szyfrowania \ wysyłki JPK w Delphi (kod źródłowy :))
#345071
Author: kameleonsql
Date: Wed, 17 Aug 2016 07:28
4 lines
1650 bytes
Witam,
Mamy wszystko do szyfrowania / wysyłki plików JPK. Kod w Delphi 2010 (generalnie możemy przygotować to na dowolne Delphi). Jeśli ktoś jest zainteresowany to istnieje możliwość sprzedaży tego rozwiązania ze źródłami, zainteresowanych proszę na priva.

Pozdrawiam
Re: Obsługa szyfrowania \ wysyłki JPK w Delphi (kod źródłowy :))
#345072
Author: kameleonsql
Date: Wed, 17 Aug 2016 07:56
8 lines
1768 bytes
W dniu środa, 17 sierpnia 2016 09:28:05 UTC+2 użytkownik kamel...@gmail.com napisał:
> Witam,
> Mamy wszystko do szyfrowania / wysyłki plików JPK. Kod w Delphi 2010 (generalnie możemy przygotować to na dowolne Delphi). Jeśli ktoś jest zainteresowany to istnieje możliwość sprzedaży tego rozwiązania ze źródłami, zainteresowanych proszę na priva.
> 
> Pozdrawiam

Ps.
Do podpisu konieczna jest licencja na SecureBlackBox'a
Re: Obsługa szyfrowania \ wysyłki JPK w Delphi (kod źródłowy :))
#345073
Author: mmm
Date: Wed, 17 Aug 2016 09:56
17 lines
1724 bytes
W dniu 2016-08-17 o 09:56, kameleonsql@gmail.com pisze:
> W dniu środa, 17 sierpnia 2016 09:28:05 UTC+2 użytkownik kamel...@gmail.com napisał:
>> Witam,
>> Mamy wszystko do szyfrowania / wysyłki plików JPK. Kod w Delphi 2010 (generalnie możemy przygotować to na dowolne Delphi). Jeśli ktoś jest zainteresowany to istnieje możliwość sprzedaży tego rozwiązania ze źródłami, zainteresowanych proszę na priva.
>>
>> Pozdrawiam
>
> Ps.
> Do podpisu konieczna jest licencja na SecureBlackBox'a
>
SecureBlackBox to nie za duża kobyła do takiego problemu, tak w 
telegraficznym skrócie co jest największym problem w całym tym procesie 
wysyłania JPK ?



MMM
Re: Obsługa szyfrowania \ wysyłki JPK w Delphi (kod źródłowy :))
#345078
Author: Eugeniusz Rink
Date: Wed, 17 Aug 2016 21:42
19 lines
1980 bytes
On 17.08.2016 09:56, kameleonsql@gmail.com wrote:
> W dniu środa, 17 sierpnia 2016 09:28:05 UTC+2 użytkownik kamel...@gmail.com napisał:
>> Witam,
>> Mamy wszystko do szyfrowania / wysyłki plików JPK. Kod w Delphi 2010 (generalnie możemy przygotować to na dowolne Delphi). Jeśli ktoś jest zainteresowany to istnieje możliwość sprzedaży tego rozwiązania ze źródłami, zainteresowanych proszę na priva.
>>
>> Pozdrawiam
>
> Ps.
> Do podpisu konieczna jest licencja na SecureBlackBox'a
>

To jednak nie macie wszystkiego do szyfrowania/wysyłki plikow JPK...

Jak kupie licencja na SBB to w zasadzie mam wszystko...


Pozdrawiam

Eugeniusz Rink
Re: Obsługa szyfrowania \ wysyłki JPK w Delphi (kod źródłowy :))
#345074
Author: darekm
Date: Thu, 18 Aug 2016 08:56
48 lines
2391 bytes
W dniu 2016-08-17 o 11:56, mmm pisze:
> W dniu 2016-08-17 o 09:56, kameleonsql@gmail.com pisze:
>> W dniu środa, 17 sierpnia 2016 09:28:05 UTC+2 użytkownik
>> kamel...@gmail.com napisał:
>>> Witam,
>>> Mamy wszystko do szyfrowania / wysyłki plików JPK. Kod w Delphi 2010
>>> (generalnie możemy przygotować to na dowolne Delphi). Jeśli ktoś jest
>>> zainteresowany to istnieje możliwość sprzedaży tego rozwiązania ze
>>> źródłami, zainteresowanych proszę na priva.
>>>
>>> Pozdrawiam
>>
>> Ps.
>> Do podpisu konieczna jest licencja na SecureBlackBox'a
>>
> SecureBlackBox to nie za duża kobyła do takiego problemu, tak w
> telegraficznym skrócie co jest największym problem w całym tym procesie
> wysyłania JPK ?
>
>
problemem jest dokumentacja (jest niejednoznaczna - choć po każdym 
pytaniu sie "poprawiała")

potrzebne jest: MD5, SHA1, SHA256, szyfrowanie AES, szyfrowanie RSA z 
certyfikatu, podpis z urządzenia kryptograficznego,
pakowanie ZIP, obsługa XML, obsługa JSON, REST, XADES, obsługa Azure

na wcześniejszych etapach były jeszcze bzip2 i tar (ciekawe dlaczego 
wyleciały)

ktoś się chciał bardzo wykazać jak to projektował


--
Darek




>
> MMM
>
>
>
>
>
>
>
Re: Obsługa szyfrowania \ wysyłki JPK w Delphi (kod źródłowy :))
#345075
Author: kameleonsql
Date: Thu, 18 Aug 2016 09:27
51 lines
3167 bytes
W dniu czwartek, 18 sierpnia 2016 10:57:22 UTC+2 użytkownik darekm napisał:
> W dniu 2016-08-17 o 11:56, mmm pisze:
> > W dniu 2016-08-17 o 09:56, kameleonsql@gmail.com pisze:
> >> W dniu środa, 17 sierpnia 2016 09:28:05 UTC+2 użytkownik
> >> kamel...@gmail.com napisał:
> >>> Witam,
> >>> Mamy wszystko do szyfrowania / wysyłki plików JPK. Kod w Delphi 2010
> >>> (generalnie możemy przygotować to na dowolne Delphi). Jeśli ktoś jest
> >>> zainteresowany to istnieje możliwość sprzedaży tego rozwiązania ze
> >>> źródłami, zainteresowanych proszę na priva.
> >>>
> >>> Pozdrawiam
> >>
> >> Ps.
> >> Do podpisu konieczna jest licencja na SecureBlackBox'a
> >>
> > SecureBlackBox to nie za duża kobyła do takiego problemu, tak w
> > telegraficznym skrócie co jest największym problem w całym tym procesie
> > wysyłania JPK ?
> >
> >
> problemem jest dokumentacja (jest niejednoznaczna - choć po każdym 
> pytaniu sie "poprawiała")
> 
> potrzebne jest: MD5, SHA1, SHA256, szyfrowanie AES, szyfrowanie RSA z 
> certyfikatu, podpis z urządzenia kryptograficznego,
> pakowanie ZIP, obsługa XML, obsługa JSON, REST, XADES, obsługa Azure
> 
> na wcześniejszych etapach były jeszcze bzip2 i tar (ciekawe dlaczego 
> wyleciały)
> 
> ktoś się chciał bardzo wykazać jak to projektował
> 
> 
> --
> Darek
> 
> 
> 
> 
> >
> > MMM
> >
> >
> >
> >
> >
> >
> >

No jak widać z powyższego nie jest to proste :)
Re: Obsługa szyfrowania \ wysyłki JPK w Delphi (kod źródłowy :))
#345079
Author: Miroslaw Rogula
Date: Thu, 18 Aug 2016 14:10
14 lines
2274 bytes
W dniu środa, 17 sierpnia 2016 09:28:05 UTC+2 użytkownik kamel...@gmail.com napisał:
> Witam,
> Mamy wszystko do szyfrowania / wysyłki plików JPK. Kod w Delphi 2010 (generalnie możemy przygotować to na dowolne Delphi). Jeśli ktoś jest zainteresowany to istnieje możliwość sprzedaży tego rozwiązania ze źródłami, zainteresowanych proszę na priva.
> 
> Pozdrawiam

Z tego co pisze na stronie ministerstwa to chyba nie będzie to potrzebne.
 
"Ministerstwo Finansów informuje, że udostępni aplikację kliencką do wysyłania plików JPK (xml) zgodnie z wymogami MF opisanymi w specyfikacji.
Będzie też możliwość importu danych do aplikacji z pliku csv w zdefiniowanym formacie zgodnym ze schematem dla JPK.
Szczegółowe informacje znajdą się w instrukcjach do aplikacji.
Termin udostępnienia 22.08.2016."

Jak to dobrze zrobią to będzie można się podłączyć do tej aplikacji i po kłopocie.
Re: Obsługa szyfrowania \ wysyłki JPK w Delphi (kod źródłowy :))
#345080
Author: kameleonsql
Date: Thu, 18 Aug 2016 15:25
17 lines
2797 bytes
W dniu czwartek, 18 sierpnia 2016 16:10:53 UTC+2 użytkownik Miroslaw Rogula napisał:
> W dniu środa, 17 sierpnia 2016 09:28:05 UTC+2 użytkownik kamel...@gmail.com napisał:
> > Witam,
> > Mamy wszystko do szyfrowania / wysyłki plików JPK. Kod w Delphi 2010 (generalnie możemy przygotować to na dowolne Delphi). Jeśli ktoś jest zainteresowany to istnieje możliwość sprzedaży tego rozwiązania ze źródłami, zainteresowanych proszę na priva.
> > 
> > Pozdrawiam
> 
> Z tego co pisze na stronie ministerstwa to chyba nie będzie to potrzebne.
>  
> "Ministerstwo Finansów informuje, że udostępni aplikację kliencką do wysyłania plików JPK (xml) zgodnie z wymogami MF opisanymi w specyfikacji.
> Będzie też możliwość importu danych do aplikacji z pliku csv w zdefiniowanym formacie zgodnym ze schematem dla JPK.
> Szczegółowe informacje znajdą się w instrukcjach do aplikacji.
> Termin udostępnienia 22.08.2016."
> 
> Jak to dobrze zrobią to będzie można się podłączyć do tej aplikacji i po kłopocie.

Sądząc po tym na jakim poziomie zostało to zaprojektowane, to nie wróży to raczej dobrze tej ichniejszej Aplikacji klienckiej. Poza tym, to jest dobra wola MF (ta Aplikacja kliencka), biorąc pod uwagę fakt, że pierwsze firmy mają przesłać do 25.08.2016 plik VAT razem z deklaracją VAT, to data 22.08.2016 jest jak najbardziej budząca nadzieje, że będzie to działało ....
Re: Obsługa szyfrowania \ wysyłki JPK w Delphi (kod źródłowy :))
#345076
Author: konsul41
Date: Sat, 20 Aug 2016 18:11
264 lines
10929 bytes
>
> No jak widać z powyższego nie jest to proste :)
>
Pitu Pitu

Ponieważ nie znam za dobrze C# dlatego nie skończone(skończyła się 
licenicja na 2015), samemu dalej ciężko.

Używam Microsoft.XAdes z gita nie ze strony internetowej!

Należy używać NetFrameWork minimum 4.2 z uwagi na
CryptoConfig.AddAlgorithm...





Trzeba zmodyfikować aby działało AES256

do
namespace Microsoft.Xades
{
...
//trzeba dodać
     public class RSAPKCS1SHA256SignatureDescription : SignatureDescription
     {
         public RSAPKCS1SHA256SignatureDescription()
         {
             base.KeyAlgorithm = typeof(RSACryptoServiceProvider).FullName;
             base.DigestAlgorithm = typeof(SHA256Managed).FullName;
             base.FormatterAlgorithm = 
typeof(RSAPKCS1SignatureFormatter).FullName;
             base.DeformatterAlgorithm = 
typeof(RSAPKCS1SignatureDeformatter).FullName;
 
CryptoConfig.AddAlgorithm(typeof(SHA256CryptoServiceProvider), new 
string[0]);
         }

         public override AsymmetricSignatureFormatter 
CreateFormatter(AsymmetricAlgorithm key)
         {
             if (key == null)
             {
                 throw new ArgumentNullException("key");
             }
             RSAPKCS1SignatureFormatter formatter = new 
RSAPKCS1SignatureFormatter(key);
             formatter.SetHashAlgorithm("SHA256");
             return formatter;
         }
     }
}


Następnie zmienić funkcje ComputeSignature na

  public new void ComputeSignature()
         {
             this.BuildDigestedReferences();
             AsymmetricAlgorithm signingKey = base.SigningKey;
             if (signingKey == null)
             {
                 throw new 
CryptographicException("Cryptography_Xml_LoadKeyFailed");
             }
             if (base.SignedInfo.SignatureMethod == null)
             {
                 if (!(signingKey is DSA))
                 {
                     if (!(signingKey is RSA))
                     {
                         throw new 
CryptographicException("Cryptography_Xml_CreatedKeyFailed");
                     }
                     if (base.SignedInfo.SignatureMethod == null)
                     {
                         base.SignedInfo.SignatureMethod = 
"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256";
                     }
                 }
                 else
                 {
                     base.SignedInfo.SignatureMethod = 
"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256";
                 }
             }
 
CryptoConfig.AddAlgorithm(typeof(RSAPKCS1SHA256SignatureDescription), 
new string[]
             {
                 "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"
             });
             SignatureDescription description = 
CryptoConfig.CreateFromName(base.SignedInfo.SignatureMethod) as 
SignatureDescription;
             if (description == null)
             {
                 throw new 
CryptographicException("Cryptography_Xml_SignatureDescriptionNotCreated");
             }
             HashAlgorithm hash = description.CreateDigest();
             if (hash == null)
             {
                 throw new 
CryptographicException("Cryptography_Xml_CreateHashAlgorithmFailed");
             }
             this.GetC14NDigest(hash, "ds");
             this.m_signature.SignatureValue = 
description.CreateFormatter(signingKey).CreateSignature(hash);
         }




Następnie w zdarzeniu przycisku

private void button_Click(object sender, RoutedEventArgs e)
         {


             // Sign the XML that was just created and save it in a
             // new file.
             OpenFileDialog openFileDialog1 = new OpenFileDialog();
             openFileDialog1.Filter = "XML|*.xml";
             openFileDialog1.Title = "Wybierz plik xml";
             if (openFileDialog1.ShowDialog() == 
System.Windows.Forms.DialogResult.OK)
             {
X509Store store = new X509Store("MY", StoreLocation.CurrentUser);
                 store.Open(OpenFlags.ReadOnly | 
OpenFlags.OpenExistingOnly);
                 X509Certificate2Collection collection = 
(X509Certificate2Collection)store.Certificates;
                 X509Certificate2Collection fcollection = 
(X509Certificate2Collection)collection.Find(X509FindType.FindByTimeValid, 
DateTime.Now, false);
                 X509Certificate2Collection scollection = 
X509Certificate2UI.SelectFromCollection(fcollection, "Wybierz 
Certyfikat", "Proszę wskazać certyfikat do podpisu", 
X509SelectionFlag.MultiSelection);
                 /* foreach (X509Certificate2 x509 in scollection)
                  {
                      XmlDocument doc = new XmlDocument();
                      byte[] rawdata = x509.RawData;
                      doc.PreserveWhitespace = false;
                      doc.Load(new 
XmlTextReader(System.IO.Path.GetDirectoryName(openFileDialog1.FileName) 
+ "\\initupload.xml"));
                      if (doc.DocumentElement == null) throw new 
InvalidOperationException("Invalid XML document; no root element found.");
                      sign(openFileDialog1.FileName,
 
System.IO.Path.GetDirectoryName(openFileDialog1.FileName) + 
"\\sinitupload.xml",
                           x509);
                      x509.Reset();
                  }
                  store.Close();*/
                 foreach (X509Certificate2 x509 in scollection)
                 {
                     signXades(openFileDialog1.FileName, x509); 
//funkcja podpisująca

                     x509.Reset();
                 }
                 store.Close();
                 System.Environment.Exit(1);
             }
         }

w x509 mamy certyfikat pobrany z karty


następnie podpisywanie

private void signXades(string filepath, X509Certificate2 cert)
         {
             //string exportedKeyMaterial = 
cert.PrivateKey.ToXmlString(true);
             //RSACryptoServiceProvider key = new 
RSACryptoServiceProvider(new CspParameters(24));
             //key.PersistKeyInCsp = false;
            // key.FromXmlString(cert.PrivateKey.ToXmlString(true)); //= 
cert.PrivateKey;//    .FromXmlString(exportedKeyMaterial);
             XadesSignedXml signedXml = new XadesSignedXml(this.doc);
             signedXml.Signature.Id = "id-1234";
             signedXml.SigningKey = cert.PrivateKey;
             signedXml.SignedInfo.CanonicalizationMethod = 
"http://www.w3.org/2001/10/xml-exc-c14n#";
             signedXml.SignedInfo.SignatureMethod = 
"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256";
             Reference reference = new Reference();
             reference.Id = "r-id-1";
             reference.Uri = "";
             reference.Type = "";
             reference.AddTransform(new XmlDsigExcC14NTransform());
 
reference.AddTransform(CreateXPathTransform("not(ancestor-or-self::Signature)"));
             reference.DigestMethod = 
"http://www.w3.org/2001/04/xmlenc#sha256";
             signedXml.AddReference(reference);
             KeyInfo keyInfo = new KeyInfo();
             keyInfo.AddClause(new KeyInfoX509Data(cert));
             signedXml.KeyInfo = keyInfo;
             Cert xadesCert = new Cert();
             xadesCert.IssuerSerial.X509IssuerName = cert.IssuerName.Name;
             xadesCert.IssuerSerial.X509SerialNumber = cert.SerialNumber;
             xadesCert.CertDigest.DigestMethod.Algorithm = 
"http://www.w3.org/2001/04/xmlenc#sha256";
             xadesCert.CertDigest.DigestValue = 
CryptHelper.Sha1(cert.RawData);
             XadesObject xades = new XadesObject();
             xades.QualifyingProperties.Target = string.Format("#{0}", 
signedXml.Signature.Id);
             xades.QualifyingProperties.SignedProperties.Id = 
string.Format("xades-{0}", signedXml.Signature.Id);
 
xades.QualifyingProperties.SignedProperties.SignedSignatureProperties.SigningTime 
= DateTime.Now;
 
xades.QualifyingProperties.SignedProperties.SignedSignatureProperties.SignaturePolicyIdentifier.SignaturePolicyImplied 
= true;
 
xades.QualifyingProperties.SignedProperties.SignedSignatureProperties.SigningCertificate.CertCollection.Add(xadesCert);
 
//xades.QualifyingProperties.SignedProperties.SignedSignatureProperties.SignaturePolicyIdentifier 
= new SignaturePolicyIdentifier();
             DataObjectFormat fmt = new DataObjectFormat();
             fmt.ObjectReferenceAttribute = string.Format("#{0}", 
reference.Id);
             fmt.MimeType = "text/xml";

 
xades.QualifyingProperties.SignedProperties.SignedDataObjectProperties.DataObjectFormatCollection.Add(fmt);


             signedXml.AddXadesObject(xades);
             signedXml.ComputeSignature();
             this.doc.DocumentElement.AppendChild(signedXml.GetXml());
             //this.doc.Save(filepath);



             XmlElement xmlDigitalSignature = signedXml.GetXml();

             string filetosave = 
System.IO.Path.GetDirectoryName(filepath) + "\\sinitupload.xml";
             XmlTextWriter xmltw = new XmlTextWriter(filetosave, new 
UTF8Encoding(false));
             doc.WriteTo(xmltw);
             xmltw.Close();
         }

Plik w ten sposób podpisany wysłany do bramki komunikat
"podpis nie jest w formacie xades-base"


Kod jest do ogólnego dostępu i wykorzystania.
w zamian oczekuję na publiczne wskazanie dlaczego nie działa i 
poprawienie oraz publikację na tym forum poprawnego rozwiązania.

Na pohybe firmom żądającym za kilkanaście linijek kodu 5000zł, to nie żart.
Re: Obsługa szyfrowania \ wysyłki JPK w Delphi (kod źródłowy :))
#345081
Author: mmm
Date: Mon, 22 Aug 2016 08:29
23 lines
2371 bytes
W dniu 2016-08-18 o 16:10, Miroslaw Rogula pisze:
> W dniu środa, 17 sierpnia 2016 09:28:05 UTC+2 użytkownik kamel...@gmail.com napisał:
>> Witam,
>> Mamy wszystko do szyfrowania / wysyłki plików JPK. Kod w Delphi 2010 (generalnie możemy przygotować to na dowolne Delphi). Jeśli ktoś jest zainteresowany to istnieje możliwość sprzedaży tego rozwiązania ze źródłami, zainteresowanych proszę na priva.
>>
>> Pozdrawiam
>
> Z tego co pisze na stronie ministerstwa to chyba nie będzie to potrzebne.
>
> "Ministerstwo Finansów informuje, że udostępni aplikację kliencką do wysyłania plików JPK (xml) zgodnie z wymogami MF opisanymi w specyfikacji.
> Będzie też możliwość importu danych do aplikacji z pliku csv w zdefiniowanym formacie zgodnym ze schematem dla JPK.
> Szczegółowe informacje znajdą się w instrukcjach do aplikacji.
> Termin udostępnienia 22.08.2016."
>
> Jak to dobrze zrobią to będzie można się podłączyć do tej aplikacji i po kłopocie.
>

Coś udostępnili (aplikacja przygotowane przez Billennium)
http://www.mf.gov.pl/kontrola-skarbowa/dzialalnosc/jednolity-plik-kontrolny/-/asset_publisher/2NoO/content/aplikacja-kliencka-do-wysylania-plikow-jpk

Szkoda tylko że nie pomyśleli o wersji z linii poleceń

M
Re: Obsługa szyfrowania \ wysyłki JPK w Delphi (kod źródłowy :))
#345082
Author: konsul41
Date: Mon, 22 Aug 2016 16:46
34 lines
2764 bytes
W dniu 2016-08-22 o 10:29, mmm pisze:
> W dniu 2016-08-18 o 16:10, Miroslaw Rogula pisze:
>> W dniu środa, 17 sierpnia 2016 09:28:05 UTC+2 użytkownik
>> kamel...@gmail.com napisał:
>>> Witam,
>>> Mamy wszystko do szyfrowania / wysyłki plików JPK. Kod w Delphi 2010
>>> (generalnie możemy przygotować to na dowolne Delphi). Jeśli ktoś jest
>>> zainteresowany to istnieje możliwość sprzedaży tego rozwiązania ze
>>> źródłami, zainteresowanych proszę na priva.
>>>
>>> Pozdrawiam
>>
>> Z tego co pisze na stronie ministerstwa to chyba nie będzie to potrzebne.
>>
>> "Ministerstwo Finansów informuje, że udostępni aplikację kliencką do
>> wysyłania plików JPK (xml) zgodnie z wymogami MF opisanymi w
>> specyfikacji.
>> Będzie też możliwość importu danych do aplikacji z pliku csv w
>> zdefiniowanym formacie zgodnym ze schematem dla JPK.
>> Szczegółowe informacje znajdą się w instrukcjach do aplikacji.
>> Termin udostępnienia 22.08.2016."
>>
>> Jak to dobrze zrobią to będzie można się podłączyć do tej aplikacji i
>> po kłopocie.
>>
>
> Coś udostępnili (aplikacja przygotowane przez Billennium)
> http://www.mf.gov.pl/kontrola-skarbowa/dzialalnosc/jednolity-plik-kontrolny/-/asset_publisher/2NoO/content/aplikacja-kliencka-do-wysylania-plikow-jpk
>
>
> Szkoda tylko że nie pomyśleli o wersji z linii poleceń
>
> M
U mnie na WIn7 program wysypał się przy imporcie ich pliku csv.
Re: Obsługa szyfrowania \ wysyłki JPK w Delphi (kod źródłowy :))
#345083
Author: aldar
Date: Sat, 07 Jan 2017 20:32
5 lines
1694 bytes
W dniu środa, 17 sierpnia 2016 09:28:05 UTC+2 użytkownik kamel...@gmail.com napisał:
> Witam,
> Mamy wszystko do szyfrowania / wysyłki plików JPK. Kod w Delphi 2010 (generalnie możemy przygotować to na dowolne Delphi). Jeśli ktoś jest zainteresowany to istnieje możliwość sprzedaży tego rozwiązania ze źródłami, zainteresowanych proszę na priva.
> 
> Pozdrawiam
Re: Obsługa szyfrowania \ wysyłki JPK w Delphi (kod źródłowy :))
#345084
Author: aldar
Date: Sat, 07 Jan 2017 20:32
5 lines
1695 bytes
W dniu środa, 17 sierpnia 2016 09:28:05 UTC+2 użytkownik kamel...@gmail.com napisał:
> Witam,
> Mamy wszystko do szyfrowania / wysyłki plików JPK. Kod w Delphi 2010 (generalnie możemy przygotować to na dowolne Delphi). Jeśli ktoś jest zainteresowany to istnieje możliwość sprzedaży tego rozwiązania ze źródłami, zainteresowanych proszę na priva.
> 
> Pozdrawiam
Re: Obsługa szyfrowania \ wysyłki JPK w Delphi (kod źródłowy :))
#345085
Author: j.nowisz
Date: Fri, 24 Mar 2017 12:14
1 lines
1563 bytes
Jestem zainteresowany współpracą. Proszę o kontakt: jnw <at> simple <dot> com <dot> pl.
Re: Obsługa szyfrowania \ wysyłki JPK w Delphi (kod źródłowy :))
#345086
Author: al
Date: Mon, 26 Jun 2017 01:56
7 lines
1679 bytes
Hmm
Do podpisu używam darmowej biblioteki EC2XadesDll.dll ze strony http://pemi.ayz.pl/forum/viewforum.php?f=44 ... u mnie działa od D7 do XE10.

Pozostałe rzeczy też da się zrobić w Delphi (nie wiem czy w 2010) bez BlackBox.

pozdrawiam
al
Re: Obsługa szyfrowania \ wysyłki JPK w Delphi (kod źródłowy :))
#345077
Author: Barbara
Date: Tue, 04 Dec 2018 10:51
11 lines
1997 bytes
u mnie działa, tylko zmieniłam jeszcze w 

private void BuildDigestedReferences()   

…………………..

  foreach (Reference reference2 in list2)
    {
    //if (reference2.DigestMethod == null)  
    //{
    reference2.DigestMethod = "http://www.w3.org/2001/04/xmlenc#sha256"; 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads