Aktywne Wpisy
niebieski_kot +137
Czy karteczka "Bardzo proszę o respektowanie ciszy nocnej, przynajmniej w dni robocze" będzie ok jak wrzuce do skrzynki tej durnej cipie co drze #!$%@? od 23
Borg-Net +112
"PODŻEGACZ WOJENNY" to nowa linia ruskiej propagandy. Po wypowiedzi Macrona o wyslaniu wojsk na Ukraine, kazdy kto uwaza to za dobry pomysl jest napiętnowywany tym pejoratywnym okresleniem... kacapy musialy sie niezle zesrac na wiesc, ze kraje NATO aktywnie rozwazaja aktywna obrone na terenie Ukrainy :) Dlatego staraja sie oczernic kazdego kto uwaza, ze lepiej jest sie bronic na terenie Ukrainy niz we wlasnym kraju.
Te ruskie #!$%@? w trollowniach chyba nie znają
Te ruskie #!$%@? w trollowniach chyba nie znają
#programowanie #sap #erp #jpk
Komentarz usunięty przez autora
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
WebRequestHandler handler = new WebRequestHandler();
X509Certificate2 certificate = new X509Certificate2("cert.crt");
handler.ClientCertificates.Add(certificate);
string URI = "[https://test-e-dokumenty.mf.gov.pl/api/Storage/InitUploadSigned";](https://test-e-dokumenty.mf.gov.pl/api/Storage/InitUploadSigned";)
string result = string.Empty;
using (WebClient wc = new WebClient())
{
wc.Headers[HttpRequestHeader.ContentType] = "application/xml";
result = wc.UploadString(URI, File.ReadAllText("initupload-enveloping.xades.xml"));
}
Komentarz usunięty przez autora
public InitUploadObject InitUploadSigned(XmlDocument xml)
{
string url = "https://e-dokumenty.mf.gov.pl/api/Storage/InitUploadSigned";
var client = new RestClient(url);
ServicePointManager.ServerCertificateValidationCallback += (
sender, certificate1, chain, sslPolicyErrors) => true;
var requestInitUploadSigned = new RestRequest(Method.POST);
requestInitUploadSigned.AddParameter("text/xml", xml.OuterXml, ParameterType.RequestBody);
IRestResponse response = client.Execute(requestInitUploadSigned);
}
public string PostXMLData(string destinationUrl, string requestXmlFile)
{
XmlDocument requestXml = new XmlDocument();
requestXml.Load(requestXmlFile);
string url = destinationUrl;
var client = new RestClient(url);
ServicePointManager.ServerCertificateValidationCallback += (
sender, certificate1, chain, sslPolicyErrors) => true;
var requestInitUploadSigned = new RestRequest(Method.POST);
requestInitUploadSigned.AddParameter("application/xml encoding='utf-8'", requestXml.OuterXml, ParameterType.RequestBody);
IRestResponse response = client.Execute(requestInitUploadSigned);
}
teraz mam inny błąd:
{"Message":"Referencje w podpisie zostały negatywnie zweryfikowane. Dane prawdopodobnie zostały zmodyfikowane","Code":130,"RequestId":"5x/SvY8X+kA="}
Jak wysyłam ten sam plik przez
na Twoim kodzie dla serwera testowego i produkcyjnego otrzymuje kod 120 (podpis nie został prawidłowo zweryfikowany)
na moim wcześniejszym kodzie z WebRequestHandler dla serwera testowego otrzymuje prawidłową odpowiedź 200 a na produkcyjnym odpowiedź 400.
szukam dalej, być może jeszcze trzeba coś ustawić w kliencie RestClient
mimo wszystko jeszcze raz dzięki za jakiś trop
Komentarz usunięty przez autora
Komentarz usunięty przez autora
static void Main(string[] args)
{
string url = "[https://e-dokumenty.mf.gov.pl/api/Storage/InitUploadSigned";](https://e-dokumenty.mf.gov.pl/api/Storage/InitUploadSigned";)
var client = new RestClient(url);
XmlDocument xml = new XmlDocument();
xml.Load("initupload-enveloping.xades.xml");
ServicePointManager.ServerCertificateValidationCallback += (
sender, certificate1, chain, sslPolicyErrors) => true;
var requestInitUploadSigned = new RestRequest(Method.POST);
requestInitUploadSigned.AddParameter("text/xml", xml.OuterXml, ParameterType.RequestBody);
IRestResponse response = client.Execute(requestInitUploadSigned);
string result = response.Content;
}
treść błędu:
{"Message":"Dokument z nieważnym podpisem kwalifikowanym","Code":135,"RequestId":"+84mXqjLW/0="}
dla pliku (initupload-enveloped.xades.xml) także ze
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
WebRequestHandler handler = new WebRequestHandler();
X509Certificate2 certificate = new X509Certificate2("test-e-dokumenty.mf.gov.pl_ssl.crt");
handler.ClientCertificates.Add(certificate);
string URI = "[https://test-e-dokumenty.mf.gov.pl/api/Storage/InitUploadSigned";](https://test-e-dokumenty.mf.gov.pl/api/Storage/InitUploadSigned";)
string result = string.Empty;
using (WebClient wc = new WebClient())
{
wc.Headers[HttpRequestHeader.ContentType] = "application/xml";
result = wc.UploadString(URI, File.ReadAllText("initupload-enveloped.xades.xml"));
}
na testowym serwerze zarówno do pliku initupload-enveloping.xades.xml jak i initupload-enveloped.xades.xml jest OK
natomiast wysyłając to samo na serwer produkcyjny w obu przypadkach wyjątek
Przy zapisywaniu xml tego którego mamy podpisać i wysłac dajemy opcję SaveOptions.DisableFormatting - powoduje to zapisanie bez białych znaków pomiędzy tagami. Obie ponizsze metody zwracają poprawną odpowiedź.
public string PostXMLData2(string destinationUrl, string requestXmlFile)
{
XmlDocument requestXml = new XmlDocument();
requestXml.Load(requestXmlFile);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(destinationUrl);
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(requestXml.OuterXml);
request.ContentType = "application/xml; encoding='utf-8'";
request.ContentLength = bytes.Length;
request.Method = "POST";
using (Stream requestStream = request.GetRequestStream())
requestStream.Write(bytes, 0, bytes.Length);
try
static string PostXMLData1(string destinationUrl, string requestXmlFile)
{
XmlDocument requestXml = new XmlDocument();
requestXml.Load(requestXmlFile);
string url = destinationUrl;
var client = new RestClient(url);
var requestInitUploadSigned = new RestRequest(Method.POST);
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(requestXml.OuterXml);
requestInitUploadSigned.AddParameter("application/xml encoding='utf-8'", bytes, ParameterType.RequestBody);
IRestResponse response = client.Execute(requestInitUploadSigned);
return response.Content;
}
static string PostXMLData2(string destinationUrl, string requestXmlFile)
{