Exemple #1
0
function themis_ci_message($client_id, $server_id, $server_key)
{
    global $key_store;
    $endpoint = 'https://themis.cossacklabs.com/api/' . $client_id . '/';
    $key_store[$server_id]['public_key'] = base64_decode($server_key);
    $key_store[$client_id]['public_key'] = base64_decode('VUVDMgAAAC2IRalnA7mIDaKlK5HvBz2woET8cc2dJQ3sOQMYQ/13TtUNofnQ');
    $key_store[$client_id]['private_key'] = base64_decode('UkVDMgAAAC1whm6SAJ7vIP18Kq5QXgLd413DMjnb6Z5jAeiRgUeekMqMC0+x');
    $headers = array();
    $headers[] = 'Content-type: application/x-www-form-urlencoded';
    $message = 'The best laid plans of mice and men go oft astray';
    $message = base64_encode(phpthemis_secure_message_wrap($key_store[$client_id]['private_key'], $key_store[$server_id]['public_key'], $message));
    $docbody = 'message=' . urlencode($message);
    $curl_ctx = curl_init();
    $response = do_curl($curl_ctx, $endpoint, $headers, $docbody);
    $message = $response['curl_content'];
    $message = phpthemis_secure_message_unwrap($key_store[$client_id]['private_key'], $key_store[$server_id]['public_key'], $message);
    echo $message . "\n";
    curl_close($curl_ctx);
}
Exemple #2
0
 /**
  * @dataProvider SignNoProvider
  */
 public function testSignNoVerify($private_key, $public_key, $message, $iscorrect)
 {
     if (!$iscorrect) {
         $this->setExpectedException('Exception');
     }
     $encrypted_message = phpthemis_secure_message_wrap($private_key, NULL, $message);
     $decrypted_message = phpthemis_secure_message_unwrap($private_key, $public_key + "a", $encrypted_message);
     $this->assertEquals($decrypted_message, $message);
 }
$client_priv = "REC2-Q��r�\tξ\t3�^��S��2�4dz�ރ�e�*m��";
$server_pub = "UEC2-uX3����H��q�\$����n֬��Dš\$��PL>�";
echo '<h2>encrypting message</h2>';
$encrypted_message = phpthemis_secure_message_wrap($server_priv, $client_pub, "test message");
echo '<b>encrypted message: </b>';
echo bin2hex($encrypted_message);
echo '<br> <b>decrypted message: </b>';
$plain_message = phpthemis_secure_message_unwrap($client_priv, $server_pub, $encrypted_message);
echo $plain_message;
echo '<br>';
echo '<h2>signing message</h2>';
$signed_message = phpthemis_secure_message_wrap($server_priv, NULL, "test message");
echo '<b>signed message: </b>';
echo bin2hex($signed_message);
echo '<br> <b>decrypted message: </b>';
$plain_message = phpthemis_secure_message_unwrap($client_priv, $server_pub, $signed_message);
echo $plain_message;
echo '<br>';
echo '<h2>key generation for EC</h2>';
$key_pair = phpthemis_gen_ec_key_pair();
echo "private_key = ";
echo bin2hex($key_pair['private_key']);
echo '<br>';
echo "public_key = ";
echo bin2hex($key_pair['public_key']);
echo '<h2>key generation for RSA</h2>';
$key_pair = phpthemis_gen_rsa_key_pair();
echo "private_key = ";
echo bin2hex($key_pair['private_key']);
echo '<br>';
echo "public_key = ";