Phpseclib сгенерировал ключи RSA в сеансе (с клиентом C#)


Я хочу установить связь RSA между PHP и C#. Я пытаюсь использовать phpseclib, но у меня есть некоторые проблемы.

Вот как я создаю ключи на сервере:

$rsa = new Crypt_RSA();
extract($rsa->createKey());
$_SESSION['RSAPubKey'] = $publickey;
$_SESSION['RSAPrivKey'] = $privatekey;
echo $_SESSION['RSAPubKey']; //here I send the public key to the client

Это клиент C#:

string valasz = RequestPOST(Program.SzerverDomain + "/Teszt1/SZCShost.php", "hostmuv=biztkapcsrsakulcs");

Вот метод "requestpost()":

    static CookieContainer cookieJar = new CookieContainer();
    public static string RequestPOST(String URL, string postData)
    {

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Uri.EscapeUriString(URL));
        request.CookieContainer = cookieJar;

        var data = Encoding.UTF8.GetBytes(postData);

        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.ContentLength = data.Length;

        using (var stream = request.GetRequestStream())
        {
            stream.Write(data, 0, data.Length);
        }

        var response = (HttpWebResponse)request.GetResponse();

        var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();

        return responseString.Replace("<br>", "\n").Replace("<br/>", "\n");
    }

Теперь у меня есть ключи, но я не могу ими воспользоваться. Я попытался загрузить их, но мне не удалось ни в php, ни в C#. Если бы вы использовали phpseclib с C#, не были бы вы так любезны показать мне свои исходные коды? Или не могли бы вы помочь мне по-другому?

Спасибо вам за вашу доброту!

Author: Gats János, 2017-02-11

1 answers

Это решение пришло из комментария Нойберта :

Как есть, вы опубликовали код, который получит ответ от PHP-скрипта, а затем вернет его. Тем не менее, вот некоторый код: http://csharp-tricks-en.blogspot.de/2015/04/rsa-with-c-and-php.html Материал phpseclib устарел - современные версии phpseclib имеют встроенную поддержку XML-ключей. Но C#, возможно, может вам помочь.

Я просто размещаю его здесь, чтобы найти его.

Это статья объясняет метод.

 0
Author: Gats János, 2017-07-25 19:00:31