$tee = "valitse"; } // Jos meillä on vielä cookie voimassa, mennään suoraan valintaan if ($indexvas == "1" and isset($_COOKIE[$cookie_secret])) { $tee = "kirjaudu_ulos"; } // Kirjaudutaan pankkiin if ($tee == "kirjaudu") { if (empty($salasana)) { virhe("Salasana täytyy antaa!"); $virheet_count++; } if ($virheet_count == 0) { $pankki = hae_pankkiyhteys_ja_pura_salaus($pankkiyhteys_tunnus, $salasana); if ($pankki === false) { virhe("Antamasi salasana on väärä!"); $virheet_count++; } } // Tarkistetaan päivämäärät if ($virheet_count == 0) { $sertit = pankkiyhteyden_paivamaarat($pankki); if ($sertit === false) { $virheet_count++; } } if ($virheet_count > 0) { $tee = "kirjaudu_ulos"; } else { // Setataan SECURE cookiet, HTTP only setcookie($cookie_secret, $salasana, time() + 300, '/', $pupesoft_server, true, true);
$email = ""; break; default: $email = $yhtiorow["email"]; $key_bits = 2048; } $csr_params = array("company_name" => $company_name, "customer_id" => $customer_id, "email" => $email, "key_bits" => $key_bits); // Generoidaan allekirjoitusta ja salausta varten private key ja certificate-signing-request $generoidut_tunnukset1 = generoi_private_key_ja_csr($csr_params); $generoidut_tunnukset2 = generoi_private_key_ja_csr($csr_params); $signing_private_key = $generoidut_tunnukset1["private_key"]; $encryption_private_key = $generoidut_tunnukset2["private_key"]; $params = array("bank" => $tuetut_pankit[$pankki]["lyhyt_nimi"], "customer_id" => $customer_id, "pin" => $pin, "signing_csr" => $generoidut_tunnukset1["csr"], "encryption_csr" => $generoidut_tunnukset2["csr"]); $tunnukset_pankista = sepa_get_certificate($params); if (!$tunnukset_pankista) { virhe("Sertifikaatin hakeminen epäonnistui, tarkista PIN-koodi ja asiakastunnus"); $tee = ""; } } // Avainpari annettu käyttöliittymästä debugmode! if ($tee == "luo" and $pin == '' and $debug == 1) { $signing_private_key = file_get_contents($_FILES["signing_private_key"]["tmp_name"]); $encryption_private_key = file_get_contents($_FILES["encryption_private_key"]["tmp_name"]); $tunnukset_pankista = array(); $tunnukset_pankista["own_encryption_certificate"] = file_get_contents($_FILES["own_encryption_certificate"]["tmp_name"]); $tunnukset_pankista["own_signing_certificate"] = file_get_contents($_FILES["own_signing_certificate"]["tmp_name"]); $tunnukset_pankista["bank_encryption_certificate"] = file_get_contents($_FILES["bank_encryption_certificate"]["tmp_name"]); $tunnukset_pankista["bank_root_certificate"] = file_get_contents($_FILES["bank_root_certificate"]["tmp_name"]); $tunnukset_pankista["ca_certificate"] = file_get_contents($_FILES["ca_certificate"]["tmp_name"]); } // Tallennetaan pankkiyhteys
// Pankkiyhteys oikeellisuustarkastukset if ($tee == "laheta_pankkiin") { if (empty($salasana)) { virhe("Salasana täytyy antaa!"); $tee = "virhe"; } elseif (!hae_pankkiyhteys_ja_pura_salaus($pankkiyhteys_tunnus, $salasana)) { virhe("Antamasi salasana on väärä!"); $tee = "virhe"; } if (empty($pankkiyhteys_tunnus)) { virhe("Pankkiyhteystunnus katosi!"); $tee = "virhe"; } $pankkiyhteys_tiedosto_full = "{$pankkitiedostot_polku}{$pankkiyhteys_tiedosto}"; if (!is_readable($pankkiyhteys_tiedosto_full)) { virhe("Maksuaineisto ei ole luettavissa!"); $tee = "virhe"; } } // Pankkiyhteys tiedoston lähetys if ($tee == "laheta_pankkiin") { $_xml = file_get_contents($pankkiyhteys_tiedosto_full); $_data = base64_encode($_xml); $params = array("pankkiyhteys_tunnus" => $pankkiyhteys_tunnus, "pankkiyhteys_salasana" => $salasana, "file_type" => "NDCORPAYS", "maksuaineisto" => $_data); $vastaus = sepa_upload_file($params); if ($vastaus) { viesti("Maksuaineisto lähetetty, vastaus pankista:"); echo "<br/>"; echo "<table>"; echo "<tbody>"; foreach ($vastaus as $key => $value) {