$encrypted_AES_key = $openSSL_Bob->encrypt($AES_key);
echo '<h4>encripta a chave AES com a chave publica do Bob </h4>"' . $encrypted_AES_key . '"';
//assina a mensagem com chave privada da Alice
$mensagem_assinada = $openSSL_Alice->sign($encrypted_message, $passphrase_Alice);
echo '<h4>assina a mensagem com chave privada da Alice </h4>"' . $mensagem_assinada . '"';
//notifica o bob
$Bob = $database->findUserByCerticateSerialNumber($openSSL_Bob->getCertificateSerialNumber());
$database->insertMessage($FromUser_id, "3", $encrypted_message, $encrypted_AES_key);
echo "<h4>notifica o Bob </h4>";
echo "IMPECAVEL";
// FIM PRIMEIRA PARTE
// SEGUNDA PARTE
//recebe a notificacao
echo " <h1> <br>PARTE 3 </h1>";
echo "<h4>recebe a notificacao </h4>";
echo "<h4>Tem " . $database->checkForNotifications("3") . " mensagens por ler </h4>";
//verifica se a assinatura da mensagem coincide com a do certificado da Alice
if ($openSSL_Alice->verify($mensagem_assinada) != FALSE) {
    echo "<h4>verifica se a assinatura da mensagem coincide com a do certificado da Alice </h4>";
    //desincripta a chave AES com chave privada
    $decrypted_AES_key = $openSSL_Bob->decrypt($encrypted_AES_key, $passphrase_Bob);
    echo '	<h4>//desincripta a chave AES com chave privada</h4>"' . $decrypted_AES_key . '"<br>';
    //usa a chave AES para desincriptar a mensagem
    $decrypted_message = $openSSL_Bob->decryptAES256($encrypted_message, $decrypted_AES_key);
    echo '	<h4>usa a chave AES para desincriptar a mensagem</h4> "' . $decrypted_message . '"<br>';
    //assina a mensagem
    //opta por tornar a mensagem publica
    $database->setMessagePublic("5");
    echo "\t<h4>opta por tornar a mensagem publica </h4><br>";
}
echo "ESPETACULAR DIRIA EU";