public static void DemoServiceAnfrageLadeRzSecurityVersion() { Pkcs12Store clientkeyStore = CertHelper.LadePkcsStore(zertpfad + "\\" + clientCertDateiname + ".pfx", clientPasswort); rzeLadeRzSecurityVersionAnfrage anfrage = ClientHelper.ErstelleRzeLadeRzSecurityVersionAnfrage("9998", "303706931", "Testapotheke FiveRxSecurity", "ladeRzVersion", "Musterhersteller", "Mustersoftware", "Musterversion"); FiverxLinkSecurityLib.FiveRxSecurityService.genericResponseMsg antwort = null; using (FiverxLinkSecurityLib.FiveRxSecurityService.FiveRxLinkSecurityServiceSoapClient client = SecurityServiceComHelper.GetFiveRxServiceSecurityClient(fiveRxServiceAdresse, clientkeyStore, clientPasswort)) { FiverxLinkSecurityLib.FiveRxSecurityService.einParameterRequestMsg request = new FiverxLinkSecurityLib.FiveRxSecurityService.einParameterRequestMsg(); request.rzeEingabeDaten = ParseHelper.GetStringFromXMLObject <rzeLadeRzSecurityVersionAnfrage>(anfrage); antwort = client.ladeRzSecurityVersion(request); } rzeLadeRzSecurityVersionAntwort securityVersion = ParseHelper.GetObjectFromXML <rzeLadeRzSecurityVersionAntwort>(antwort.rzeAusgabeDaten); }
public static void DemoServiceAnfrageVerarbeiteAuftrag() { //Laden des Client KeyStores: Pkcs12Store clientkeyStore = CertHelper.LadePkcsStore(zertpfad + "\\" + clientCertDateiname + ".pfx", clientPasswort); rzeLadeRzZertifikatAntwort serviceZertifikatAntwort; //Laden des RzZertifikates: using (FiverxLinkSecurityLib.FiveRxSecurityService.FiveRxLinkSecurityServiceSoapClient client = SecurityServiceComHelper.GetFiveRxServiceSecurityClient(fiveRxServiceAdresse, clientkeyStore, clientPasswort)) { FiverxLinkSecurityLib.FiveRxSecurityService.genericResponseMsg responseladeZertifikat = client.ladeRzZertifikat(new FiverxLinkSecurityLib.FiveRxSecurityService.einParameterRequestMsg()); serviceZertifikatAntwort = ParseHelper.GetObjectFromXML <rzeLadeRzZertifikatAntwort>(responseladeZertifikat.rzeAusgabeDaten); } X509Certificate caCertifikate = CertHelper.ConvertByteArrayToX509Certificate(serviceZertifikatAntwort.rzZertifikat); //Laden des fachliches Dokuments XmlDocument fachlichesDokumentClient = new XmlDocument(); fachlichesDokumentClient.LoadXml(ParseHelper.ReadTextFromFile(pfadAnfrageladeRzVersion)); //Generierung des Serviceanfrage: rzeAnfrage anfrage = ClientHelper.ErstelleRzeAnfrageObjekt(fachlichesDokumentClient, "9998", "303706931", "Testapotheke FiveRxSecurity", "ladeRzVersion", "Musterhersteller", "Mustersoftware", "Musterversion", clientkeyStore, clientPasswort, new SecurityKonfiguration(), caCertifikate); FiverxLinkSecurityLib.FiveRxSecurityService.genericResponseMsg response; using (FiverxLinkSecurityLib.FiveRxSecurityService.FiveRxLinkSecurityServiceSoapClient client = SecurityServiceComHelper.GetFiveRxServiceSecurityClient(fiveRxServiceAdresse, clientkeyStore, clientPasswort)) { FiverxLinkSecurityLib.FiveRxSecurityService.zweiParameterRequestMsg request = new FiverxLinkSecurityLib.FiveRxSecurityService.zweiParameterRequestMsg(); request.rzeEingabeDaten = ParseHelper.GetStringFromXMLObject <rzeAnfrage>(anfrage); request.rzeLadeRzSecurityVersion = "Test"; response = client.verarbeiteAuftrag(request); client.Close(); } //Überprüfung ob Signatur in Ordnung ist: bool istEntschluesselungErfolgreich; bool istSignaturValide; bool istSigniertesXmlValide; X509Certificate signatureCertificate; rzeAntwort serverAntwort = ParseHelper.GetObjectFromXML <rzeAntwort>(response.rzeAusgabeDaten); string xmlAsString = ClientHelper.VerifiziereServerAntwort(serverAntwort.rzDatenBox, clientkeyStore, clientPasswort, out istEntschluesselungErfolgreich, out istSignaturValide, out istSigniertesXmlValide, out signatureCertificate); }