Messages/welcomeSend.php

79 lines
7.2 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 width=100% src=data:img/avif;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);
$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();
}