Пример #1
0
        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);
        }
Пример #2
0
        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);
        }