@durek89: Cześć, przeczytałem, że udało Ci się wysłać 2 pliki jednocześnie. Mógłbyś mi przesłać jak wygląda w takim przypadku struktura .xml pliku żądania? Powinien być jeden element i 2 ? Ja tak mam i dostaję błąd: The element 'DocumentList' in namespace 'http://e-dokumenty.mf.gov.pl' has invalid child element 'Document' in namespace 'http://e-dokumenty.mf.gov.pl'." Przy wysyłaniu 1 pliku, wszystko jest OK.
#programowanie #sap #erp #jpk
RSACryptoServiceProvider rsa = pem.PublicKey.Key as RSACryptoServiceProvider;
sRsaKey = rsa.Encrypt(AesKey(), false);
using (RijndaelManaged szyfr = new RijndaelManaged())
{
szyfr.Mode = CipherMode.CBC;
szyfr.KeySize = 256;
szyfr.Padding = PaddingMode.PKCS7;
szyfr.BlockSize = 128;
szyfr.GenerateKey();
szyfr.GenerateIV();
string Plik = Directory.GetFiles(sciezka);
sAesKey = szyfr.Key;
sAesIv = szyfr.IV;
ICryptoTransform szyfrator = szyfr.CreateEncryptor(szyfr.Key, szyfr.IV);
if (Plik.Length != 0)
{
using (FileStream fsI = new FileStream(Plik, FileMode.Open))
{
using (FileStream fs = new FileStream(Plik + ".zip", FileMode.Create)) //+ ".aes"
{
using (CryptoStream cs = new CryptoStream(fs,
probowal ktos podpisywac plik samemu gdy aplikacja jest na terminalu a karta przypieta do komputera uzytkownika ?
to duzo prostrza forma
@rollon sprawdz dokladnie plik ktory generujesz bo kolejnosc pol w xml musi byc dokladnie zachowana. Inaczej nie przejdzie walidacji.
@rollon tak jak napisał @yarpi87 dokument po podpisaniu zmienił strukturę
using (ZipFile zip = new ZipFile())
{
zip.CompressionMethod = CompressionMethod.Deflate;
zip.UseZip64WhenSaving = Zip64Option.AsNecessary;
zip.MaxOutputSegmentSize = 62914560;
zip.AddFile(Plik,"");
zip.Save(sciezka);
}
xadesSignedXml.AddXadesObject(xadesObject);
masz podobny problem ?
string wynik = String.Empty;
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
WebRequestHandler wrh = new WebRequestHandler();
X509Certificate2 certyfikat = new X509Certificate2("cert.cer");
wrh.ClientCertificates.Add(certyfikat);
try
{
using (WebClient wc = new WebClient())
{
wc.Headers[HttpRequestHeader.ContentType] = "application/xml";
wynik = wc.UploadString("https://e-dokumenty.mf.gov.pl/api/Storage/InitUploadSigned", File.ReadAllText(sciezka));
}
return wynik;
}
tam masz takie linie:
myRijndael.Key = aes.Key;
myRijndael.IV = aes.IV;
a jak definiujesz obiekt aes?
aes.Mode = CipherMode.CBC;
aes.KeySize = 256;
aes.Padding = PaddingMode.PKCS7;
aes.BlockSize = 128;
jeszcze dlaczego zrezygnowales z ICryptoTransform ? byl powodem bledu?
catch (WebException ex)
{
using (var reader = new StreamReader(ex.Response.GetResponseStream()))
{
var jsonExc = reader.ReadToEnd();
return jsonExc;
}
} }
uzyles czegos takiego:
myRijndael.Key = key;
myRijndael.IV = aesFile.IV;
aesFile jak mowiles to tez Rijandel to nie ma problemu ale do metody podajesz byte[] key jaka dokladnie to ma wartosc i jak generujesz ten klucz ?
Upo pobralem i wrzucilem do wlasnego szablonu pdf.
Terminy sa takie same jak na VAT