» »

C# davčno potrjevanje

C# davčno potrjevanje

jazuporabnik ::

Ali bi bil kdo pripravljen dat inštrukcije (v c#, osnova je primer, ki so ga objavili na FURS) glede davčnega potrjevanja računov. Imam testni certifikat. Drugače se mi zatakne že na začetku, napaka:
"Could not create SSL/TLS secure channel" - vse potrebne certifikate imam že uvožene, pa nimam več idej kako popravit zadevo.

Inštrukcije bi potreboval, torej, da se naredi: Echo test, prijava poslovnega prostora (več teh), potrjevanje računov. Pripravljen sem pa dat do 40 EUR na uro, lahko tudi prek PayPal, pa inštrukcije lahko preko skype, pa ammyy desktop povezava.

lp. D.

MH0 ::

Če veš, da imaš res certifikat na pravem mestu potem ti morda pomega tole.
           System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

Ali pa sem postavi breakpoint in malo poglej.
            System.Net.ServicePointManager.ServerCertificateValidationCallback = (sndr, cert, chain, error) => {
                //return true; //Če si junak :-)
            };

jazuporabnik ::

ServicePointManager.ServerCertificateValidationCallback += ValidateServerCertificate; mi vrne:

System.Net.ServicePointManager.ServerCertificateValidationCallback.get returned	null	System.Net.Security.RemoteCertificateValidationCallback

System.Delegate.Combine returned	{Method = {Boolean ValidateServerCertificate(System.Object, System.Security.Cryptography.X509Certificates.X509Certificate, System.Security.Cryptography.X509Certificates.X509Chain, System.Net.Security.SslPolicyErrors)}}	System.Net.Security.RemoteCertificateValidationCallback
		Method	{Boolean ValidateServerCertificate(System.Object, System.Security.Cryptography.X509Certificates.X509Certificate, System.Security.Cryptography.X509Certificates.X509Chain, System.Net.Security.SslPolicyErrors)}	System.Reflection.MethodInfo {System.Reflection.RuntimeMethodInfo}
		Attributes	Public | Static | HideBySig	System.Reflection.MethodAttributes
		CallingConvention	Standard	System.Reflection.CallingConventions
		ContainsGenericParameters	false	bool
		CustomAttributes	Count = 0	System.Collections.Generic.IEnumerable<System.Reflection.CustomAttributeData> {System.Collections.ObjectModel.ReadOnlyCollection<System.Reflection.CustomAttributeData>}
		DeclaringType	{Name = "SOAP" FullName = "BlagajneSample.SOAP"}	System.Type {System.RuntimeType}
		IsAbstract	false	bool
		IsAssembly	false	bool
		IsConstructor	false	bool
		IsFamily	false	bool
		IsFamilyAndAssembly	false	bool
		IsFamilyOrAssembly	false	bool
		IsFinal	false	bool
		IsGenericMethod	false	bool
		IsGenericMethodDefinition	false	bool
		IsHideBySig	true	bool
		IsPrivate	false	bool
		IsPublic	true	bool
		IsSecurityCritical	true	bool
		IsSecuritySafeCritical	false	bool
		IsSecurityTransparent	false	bool
		IsSpecialName	false	bool
		IsStatic	true	bool
		IsVirtual	false	bool
		MemberType	Method	System.Reflection.MemberTypes
		MetadataToken	100663309	int
		MethodHandle	{System.RuntimeMethodHandle}	System.RuntimeMethodHandle
		MethodImplementationFlags	IL	System.Reflection.MethodImplAttributes
		Module	{BlagajneSample.exe}	System.Reflection.Module {System.Reflection.RuntimeModule}
		Name	"ValidateServerCertificate"	string
		ReflectedType	{Name = "SOAP" FullName = "BlagajneSample.SOAP"}	System.Type {System.RuntimeType}
		ReturnParameter	{Boolean }	System.Reflection.ParameterInfo {System.Reflection.RuntimeParameterInfo}
		ReturnType	{Name = "Boolean" FullName = "System.Boolean"}	System.Type {System.RuntimeType}
		ReturnTypeCustomAttributes	{Boolean }	System.Reflection.ICustomAttributeProvider {System.Reflection.RuntimeParameterInfo}





MH0 je izjavil:

Če veš, da imaš res certifikat na pravem mestu potem ti morda pomega tole.

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

Ali pa sem postavi breakpoint in malo poglej.

System.Net.ServicePointManager.ServerCertificateValidationCallback = (sndr, cert, chain, error) => {
//return true; //Če si junak :-)
};

Vazelin ::

Da ni težava na serverju:D
Daj poglej če ti npr. IE ali Chrome kaj javi, če vpišeš naslov servisa (poglej če je povezava varna).

jazuporabnik ::

Vazelin je izjavil:

Da ni težava na serverju:D
Daj poglej če ti npr. IE ali Chrome kaj javi, če vpišeš naslov servisa (poglej če je povezava varna).


Če kličem: https://blagajne-test.fu.gov.si:9002/v1... prvič me je preusmerilo na neko spletno stran (mini blagajne), potem ko sem refrešal recimo na IE, mi sporoči:



Ni mogoče vzpostaviti varne povezave s to stranjo

Do tega je morda prišlo, ker spletno mesto uporablja zastarele ali manj varne nastavitve varnosti na prenosni plasti (TLS). Če se to ponavlja, se obrnite na lastnika spletnega mesta.

Vaše nastavitve varnosti na prenosni plasti (TLS) niso nastavljene na privzete vrednosti, kar tudi lahko povzroča to napako.

frke ::

Za začetek poglej projekt na github
https://github.com/MPrtenjak/SLOTax

jazuporabnik ::

frke je izjavil:

Za začetek poglej projekt na github
https://github.com/MPrtenjak/SLOTax


ja to sem že gledal, dosti je spremenil tisto kodo, ki jo je furs prikazal, ker ma dosti svojih rešitev implementiranih. Drugače mi njegov program dela, ko ga testiram.

lp, d.

windigo ::

ServerCertificateValidationCallback ni event, ampak, kot pove ime in vsa dokumentacija in pet minut izkušenj z .NET, callback delegate.
Torej NE MOREŠ uporabiti +=, rabiš direktno prirejanje, ki se prevede v klic setter funkcije, kot ti je napisal tudi MH0.

jazuporabnik ::

windigo je izjavil:

ServerCertificateValidationCallback ni event, ampak, kot pove ime in vsa dokumentacija in pet minut izkušenj z .NET, callback delegate.
Torej NE MOREŠ uporabiti +=, rabiš direktno prirejanje, ki se prevede v klic setter funkcije, kot ti je napisal tudi MH0.



Ok, uporabil sem rešitev od MNet (Link)

            ServicePointManager.ServerCertificateValidationCallback +=
                new System.Net.Security.RemoteCertificateValidationCallback((sender, certificate, chain, sslPolicyErrors) => true);


Isti error.

windigo ::

Bolj direktno ti že ne zmorem povedat.

ServicePointManager.ServerCertificateValidationCallback += ... karkoli ... bo VEDNO rezultiralo v istem runtime exceptionu, če bo že kompajler spustil zadevo skozi.

Pravilno je:

ServicePointManager.ServerCertificateValidationCallback = ... karkoli si že uporabil zgoraj ...

jazuporabnik ::

windigo je izjavil:

Bolj direktno ti že ne zmorem povedat.

ServicePointManager.ServerCertificateValidationCallback += ... karkoli ... bo VEDNO rezultiralo v istem runtime exceptionu, če bo že kompajler spustil zadevo skozi.

Pravilno je:

ServicePointManager.ServerCertificateValidationCallback = ... karkoli si že uporabil zgoraj ...


Tudi z "=" isti error sporoči, Cannot create SSL/TCL secure tunel

windigo ::

Preberi še enkrat, kaj ti je napisal MH0. Čeprav se mi zdi, da še nisi glih dozorel za samostojno copy pastanje :|

jazuporabnik ::

windigo je izjavil:

Preberi še enkrat, kaj ti je napisal MH0. Čeprav se mi zdi, da še nisi glih dozorel za samostojno copy pastanje :|


Ti pa očitno še nisi dozorel v branju, če isto napako naredi, tud če copy, pastam kodo od MH0, kaj misliš da nisem probal to naredit, ko mi je napisal odgovor...

MH0 ::

A si naredil tole ali želiš reči, da ti takšna koda ne deluje?
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
System.Net.ServicePointManager.ServerCertificateValidationCallback = (sndr, cert, chain, error) => {
    //return true; //Če si junak :-)
}; // <-- Sem postavi breakpoint in preglej sndr, cert, chain, error


Nič nam tudi nisi povedal o svojem projektu. Kateri .NET in tip projekta?

windigo ::

jazuporabnik je izjavil:

... kaj misliš da nisem probal to naredit, ko mi je napisal odgovor...

Če bi, potem bi ob naslednjem vprašanju izpisal vsebino sndr, cert, chain in error. Ali si morda samostojno ugotovil, da ni potrebno?

jazuporabnik ::

A si naredil tole ali želiš reči, da ti takšna koda ne deluje?
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
System.Net.ServicePointManager.ServerCertificateValidationCallback = (sndr, cert, chain, error) => {
    //return true; //Če si junak :-)
}; // <-- Sem postavi breakpoint in preglej sndr, cert, chain, error


Nič nam tudi nisi povedal o svojem projektu. Kateri .NET in tip projekta?


Zaenkrat sem samo prenesel projekt iz FURS-a, ki pa je na .NET 4.5. Sem poskusil dve stvari, na dveh računalnikih in očitno je nekaj narobe z računalnikom, ker na drugem računalniku gre njihova koda čez "ServerCertificateValidationCallBack += RemoteCertificateValidationCallback(ValidateServerCertificate); in dobim echo response, ampak se naprej pojavi napaka pri prijavi PP, da XML ni v skladu z xml shemo :( joooooo

Tako da je nekaj narobe s tistim PC-jem.

windigo ::

Sorry, imaš prav, tudi null parametri normalno ne mečejo exceptionov na Delegate.Combine oz. kompajler vse prav razreši.

Sem šel potem gledat implementacijo in našel edino tolele na seterju, ampak zadeva ni ravno indikativna za tip napake, ki si jo prijavil:
ExceptionHelper.InfrastructurePermission.Demand();


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Davčne blagajne (strani: 1 2 3 424 25 26 27 )

Oddelek: Programiranje
1344319347 (59350) Macketina
»

[Opera] Unable to complete secure transaction

Oddelek: Slo-Tech
242646 (1390) pegasus
»

PHP davčna blagajna

Oddelek: Programiranje
187661 (5685) brble
»

[JAVA] HTTPS client

Oddelek: Programiranje
173058 (1788) peterv6i
»

C++ problem: težava z hirerarhijo razreda

Oddelek: Programiranje
141163 (1003) fiction

Več podobnih tem