Próbował już ktoś tworzyć aplikacje do wysyłania JPK zgodnie ze specyfikacją MF? Przebrnąć przez te wszystkie kompresje, kodowanie, generowanie xml, podpis elektroniczny i podłączenie się do bramki?
@angelson: public class JpkSigner { //public InitializerJpk InitializerJpk;
public X509Certificate2Collection CertificateCollection; public X509Certificate2 Certificate;
public JpkSigner() { CertificateCollection = GetCertificatesFromMyStore(); }
public void SetCertificate(int CertificateIndex) { Certificate = CertificateCollection[CertificateIndex]; }
public void DoSign(ref InitializerJpk initializerJpk) { if (Certificate != null) { initializerJpk.InitUploadDocumentSigned = XadesHelper.Sign(initializerJpk.InitUploadDocument).Using(Certificate).IncludingCertificateInSignature().SignAndGetXml(); initializerJpk.IsSigned = true; } }
private X509Certificate2Collection GetCertificatesFromMyStore() //CertificateStore certificateStoreType) { //if (CertificateStore.My.Equals(certificateStoreType)) //{ var store = new X509Store(StoreName.My); store.Open(OpenFlags.ReadOnly);
#programowanie #sap #erp #jpk
public class JpkSigner
{
//public InitializerJpk InitializerJpk;
public X509Certificate2Collection CertificateCollection;
public X509Certificate2 Certificate;
public JpkSigner()
{
CertificateCollection = GetCertificatesFromMyStore();
}
public void SetCertificate(int CertificateIndex)
{
Certificate = CertificateCollection[CertificateIndex];
}
public void DoSign(ref InitializerJpk initializerJpk)
{
if (Certificate != null)
{
initializerJpk.InitUploadDocumentSigned = XadesHelper.Sign(initializerJpk.InitUploadDocument).Using(Certificate).IncludingCertificateInSignature().SignAndGetXml();
initializerJpk.IsSigned = true;
}
}
private X509Certificate2Collection GetCertificatesFromMyStore() //CertificateStore certificateStoreType)
{
//if (CertificateStore.My.Equals(certificateStoreType))
//{
var store = new X509Store(StoreName.My);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection fcollection = (X509Certificate2Collection)store.Certificates.Find(X509FindType.FindByTimeValid, DateTime.Now, true);
return