Messages/welcomeSend.php
2025-04-21 16:39:30 +02:00

80 lines
7.9 KiB
PHP

<?php
/*
* smzint/* (c) schmamazon.com 2025
*/
include('../Auth/index.php');
function start($receiver, $authName, $messages_name) {
$logoImage = "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";
$body = "<h1>Willkommen zu smzint/Messages</h1><p>Hallo $authName!<br>Sie haben soeben Ihr Messages Konto eingerichtet und können nun Ende-zu-Ende verschlüsselte Nachrichten senden und empfangen.</p><p><b>Ihr Nutzername lautet: $messages_name<br>Ihre NutzerID lautet $receiver</b></p><p>Andere Nutzer benötigen eventuell diese Daten, um Ihnen Nachrichten schicken zu können.</p><p>Wenn Sie Fragen haben oder Unterstützung benötigen kontaktieren Sie uns gerne - entweder per E-Mail <a href=mailto:support@schmamazon.com>support@schmamazon.com</a> oder direkt über Messages.<br>Unser Benutzername ist <b>smzint</b> und unsere NutzerID lautet <b>0</b>.</p><p>Vielen Dank für Ihr Vertrauen gegenüber Schmamazon International.</p><img src=data:img/jpg;base64,".$logoImage." alt='SMZ INT'>";
$color = "green";
$messageId = uniqid();
pushMetadata($messageId, $receiver, $color);
include('keyGrab.php');
$receiver_key = grabPublicKey($receiver);
$aesKey = openssl_random_pseudo_bytes(32);
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-128-cbc'));
$encryptedBody = openssl_encrypt($body, 'aes-128-cbc', $aesKey, 0, $iv);
$encryptedAesKey = '';
$encryptionOkEXT = openssl_public_encrypt($aesKey, $encryptedAesKeyEXTERNAL, $receiver_key, OPENSSL_PKCS1_PADDING);
if ($encryptionOkEXT === false) {
die("Fehler beim Verschlüsseln des AES-Schlüssels (EXTERNAL): " . openssl_error_string());
}
$encryptedMessageBase64 = base64_encode($encryptedBody);
$encryptedAesKeyBase64EXT = base64_encode($encryptedAesKeyEXTERNAL);
$ivBase64 = base64_encode($iv);
pushData($messageId, $encryptedMessageBase64, $ivBase64, 0, $encryptedAesKeyBase64EXT);
}
function pushMetadata($messageId, $receiver, $color) {
$sender_info = "system";
global $dbservername;
global $dbusername;
global $dbpassword;
global $dbname;
$conn = new mysqli($dbservername, $dbusername, $dbpassword, $dbname);
if ($conn->connect_error) {
die("Server Error");
}
$sql = "INSERT INTO smz_messages_metadata (message, sender, receiver, sender_info, color) VALUES ('$messageId', '0', '$receiver', '$sender_info', '$color')";
if ($conn->query($sql) === TRUE) {
echo "Metadaten erfolgreich gespeichert";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
function pushData($messageId, $body, $iv, $internal_key, $external_key) {
global $dbservername;
global $dbusername;
global $dbpassword;
global $dbname;
$conn = new mysqli($dbservername, $dbusername, $dbpassword, $dbname);
if ($conn->connect_error) {
die("Server Error");
}
$sql = "INSERT INTO smz_messages_data (message_id, message_body, iv, internal_key, external_key) VALUES ('$messageId', '$body', '$iv', '$internal_key', '$external_key')";
if ($conn->query($sql) === TRUE) {
echo "DATA erfolgreich gespeichert";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}